<?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-5121827</id><updated>2012-01-21T00:20:15.911+05:30</updated><category term='Adobe'/><category term='certification'/><category term='java'/><category term='goa'/><category term='vacation'/><category term='Database'/><category term='browser'/><category term='AIR'/><category term='awards'/><category term='ColdFusion 8'/><category term='search'/><category term='Flex'/><category term='Share'/><category term='performance'/><category term='JMS'/><category term='CFUnited'/><category term='analytics'/><category term='conference'/><category term='CS3'/><category term='blogging'/><category term='ColdFusion'/><category term='CS4'/><category term='Ajax'/><category term='google'/><title type='text'>Rahul Narula's Blog</title><subtitle type='html'>Rahul on ColdFusion, Java, Frameworks &amp; more</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5121827.post-5577522291734082922</id><published>2009-04-10T12:53:00.001+05:30</published><updated>2009-04-10T12:56:22.279+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Getting Oracle JDBC Driver version info</title><content type='html'>&lt;p&gt;While debugging one of the application tonight I doubted the issue could be the underlying database driver it was using.&amp;#160; I thought that writing a tiny script to check the version of the Oracle JDBC driver that was used, like the one below would have done the trick&lt;/p&gt;  &lt;pre style="border-right: #804000 1px solid; padding-right: 3px; border-top: #804000 1px solid; padding-left: 3px; padding-bottom: 5px; border-left: #804000 1px solid; width: 548px; padding-top: 3px; border-bottom: #804000 1px solid; background-color: #f2eedf"&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt; &amp;lt;cfscript&amp;gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt; jdbcDriver = CreateObject(&amp;quot;&lt;span style="color: #8b0000"&gt;java&lt;/span&gt;&amp;quot;, &amp;quot;&lt;span style="color: #8b0000"&gt;oracle.jdbc.OracleDriver&lt;/span&gt;&amp;quot;);&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt; writeoutput(jdbcDriver.getMajorVersion() &amp;amp;&amp;quot;&lt;span style="color: #8b0000"&gt;.&lt;/span&gt;&amp;quot;&amp;amp;jdbcDriver.getMinorVersion());&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt; &amp;lt;/cfscript&amp;gt;
&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;But to my disappointment this was not giving the results I expected.&lt;/p&gt;

&lt;p&gt;Hence I started&amp;#160; looking for a utility online that could help. I came across a few resources like &lt;a href="http://cfsearching.blogspot.com/2008/01/display-full-coldfusion-jdbc-driver.html"&gt;this&lt;/a&gt; and &lt;a href="http://www.talkingtree.com/blog/index.cfm/2005/2/16/JDBCDriverVersions"&gt;this&lt;/a&gt; but all these talked about getting details from the ColdFusion database drivers(macromedia.jdbc.oracle.OracleDriver) which are different than the Oracle database thin drivers (oracle.jdbc.OracleDriver) I was using and wanted info on.&lt;/p&gt;

&lt;p&gt;After spending a little more time on figuring this out, I can up wiith this snippet that helped me with what I was looking for.&lt;/p&gt;

&lt;pre style="border-right: #804000 1px solid; padding-right: 3px; border-top: #804000 1px solid; padding-left: 3px; padding-bottom: 5px; overflow: auto; border-left: #804000 1px solid; width: 548px; padding-top: 3px; border-bottom: #804000 1px solid; height: 380px; background-color: #f2eedf"&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfset oracleDriver=resolveResource()&amp;gt;&lt;/pre&gt;
&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfif fileExists(oracleDriver)&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;Loaded from &amp;lt;cfoutput&amp;gt;#oracleDriver#&amp;lt;/cfoutput&amp;gt;&amp;lt;br&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cftry&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfzip action=&amp;quot;&lt;span style="color: #8b0000"&gt;read&lt;/span&gt;&amp;quot; file=&amp;quot;&lt;span style="color: #8b0000"&gt;#oracleDriver#&lt;/span&gt;&amp;quot; 
         entrypath=&amp;quot;&lt;span style="color: #8b0000"&gt;META-INF/MANIFEST.MF&lt;/span&gt;&amp;quot; variable=&amp;quot;&lt;span style="color: #8b0000"&gt;mainfest&lt;/span&gt;&amp;quot;&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfset line = listcontains(mainfest,&amp;quot;&lt;span style="color: #8b0000"&gt;Specification-Version&lt;/span&gt;&amp;quot;,&amp;quot;&lt;span style="color: #8b0000"&gt;#chr(13)#&lt;/span&gt;&amp;quot;)&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfoutput&amp;gt;#listgetAt(mainfest, line, &amp;quot;&lt;span style="color: #8b0000"&gt;#chr(13)#&lt;/span&gt;&amp;quot;)#&amp;lt;/cfoutput&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfcatch type=&amp;quot;&lt;span style="color: #8b0000"&gt;any&lt;/span&gt;&amp;quot;&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  Unable to find version details
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;/cfcatch&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;/cftry&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfelse&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  Oracle Driver not Found !!
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;/cfif&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cffunction name=&amp;quot;&lt;span style="color: #8b0000"&gt;resolveResource&lt;/span&gt;&amp;quot; returnType=&amp;quot;&lt;span style="color: #8b0000"&gt;string&lt;/span&gt;&amp;quot;&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &amp;lt;cfargument name=&amp;quot;&lt;span style="color: #8b0000"&gt;resource&lt;/span&gt;&amp;quot; required=&amp;quot;&lt;span style="color: #8b0000"&gt;Yes&lt;/span&gt;&amp;quot; 
        default=&amp;quot;&lt;span style="color: #8b0000"&gt;oracle/jdbc/OracleDriver.class&lt;/span&gt;&amp;quot;&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &amp;lt;cfset var resourceURL = getClass().getClassLoader().getResource(resource)&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &amp;lt;cfif isDefined(&amp;quot;&lt;span style="color: #8b0000"&gt;resourceURL&lt;/span&gt;&amp;quot;)&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    &amp;lt;cfreturn listlast(listfirst(resourceURL,&amp;quot;&lt;span style="color: #8b0000"&gt;!&lt;/span&gt;&amp;quot;),&amp;quot;&lt;span style="color: #8b0000"&gt;:&lt;/span&gt;&amp;quot;)&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &amp;lt;/cfif&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &amp;lt;cfreturn &amp;quot;&lt;span style="color: #8b0000"&gt;&lt;/span&gt;&amp;quot;&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;/cffunction&amp;gt;&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;The above snippet fetches the version info from the manifest file of the jar where the version info is available for all oracle jdbc drivers. After utilizing &amp;lt;cfzip&amp;gt; &lt;a href="http://rahulnarula.blogspot.com/2007/06/getting-coldfusion-tags-using-cf8-tag.html"&gt;earlier to get the list of ColdFusion tags&lt;/a&gt;&amp;#160; the &amp;lt;cfzip&amp;gt; helped me with this one too. &lt;/p&gt;

&lt;p&gt;I leveraged an existing function resolveResource() that we have to resolve from which jar a java class gets loaded. It is quite helpful in situations where there are conflicting classes (in different libraries or different version of the same lib) in the class path. resolveResource() is used to return the jar file location from where the object is loaded.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-5577522291734082922?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/5577522291734082922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=5577522291734082922&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5577522291734082922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5577522291734082922'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2009/04/getting-oracle-jdbc-driver-version-info.html' title='Getting Oracle JDBC Driver version info'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-4462344325054092097</id><published>2009-03-25T19:08:00.001+05:30</published><updated>2009-03-25T19:12:59.418+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Two utility ColdFusion UDF</title><content type='html'>&lt;p&gt;While working for the &lt;a href="http://rahulnarula.blogspot.com/2009/03/coldfusion-and-excel-2007-integration.html"&gt;ExcelProcessor&lt;/a&gt; utility&amp;#160; I required a function to convert the Excel cell reference to the number. ie. for a cell reference A17, I had to refer data in 17 row, 1 column. similarly AC6 would be 6 row, 29 column. To accomplish this I wrote a UDF that took the alphabets representing Excel column and returned number.&lt;/p&gt;  &lt;p&gt;Here is the method code, in case you bump across the need to do something similar&lt;/p&gt;  &lt;pre style="border-right: #804000 1px solid; padding-right: 5px; border-top: #804000 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #804000 1px solid; width: 450px; padding-top: 5px; border-bottom: #804000 1px solid; background-color: #f2eedf"&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfscript&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; convertExcelCRtoNumber(cr) {
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; intVal =0;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; charVal =&amp;quot;&lt;span style="color: #8b0000"&gt;&lt;/span&gt;&amp;quot;;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; j=0;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; t=0;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;if&lt;/span&gt;(cr.&lt;span style="color: #0000ff"&gt;length&lt;/span&gt;() &amp;gt; 2) {  &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; -1; }
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  cr= ucase(cr);
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;for&lt;/span&gt;(i=cr.&lt;span style="color: #0000ff"&gt;length&lt;/span&gt;()-1; i &amp;gt;=0;i--)  { 
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    charVal = cr.charAt(i);
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    t = iif(j &amp;gt;0,  (charVal-64)* (j*26), charVal-64);
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    intVal += t;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    j++;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  }
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; val(intVal);
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;}
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;/cfscript&amp;gt;&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;So now &lt;code&gt;&amp;lt;cfoutput&amp;gt;#convertExcelCRtoNumber(‘AZ’)#&amp;lt;/cfoutput&amp;gt;&lt;/code&gt; would give &lt;code&gt;52&lt;/code&gt; and &lt;code&gt;&amp;lt;cfoutput&amp;gt;#convertExcelCRtoNumber('IV')#&amp;lt;/cfoutput&amp;gt;&lt;/code&gt; would give &lt;code&gt;256&lt;/code&gt;. Since Excel has the maximum limit of 256 columns i.e till IV I am limiting the string to 2 chars in length. To be able to return correct number in the series for more than 2 char string like AAB, ZZZ was something I was not able to achieve easily and since the above function met my immediate requirement I didn’t spent much of my grey matter figuring that out. Though that is something I&amp;#160; keep it as a exercise for readers ;-)&lt;/p&gt;

&lt;p&gt;Now out of curiosity, I tried to do the reverse of this, i.e a function that will return Excel style column reference given a number and this is what I could manage&lt;/p&gt;

&lt;pre style="border-right: #804000 1px solid; padding-right: 5px; border-top: #804000 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #804000 1px solid; width: 450px; padding-top: 5px; border-bottom: #804000 1px solid; background-color: #f2eedf"&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;cfscript&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; convertNumbertoExcelCR(colnum){
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; colname=&amp;quot;&lt;span style="color: #8b0000"&gt;&lt;/span&gt;&amp;quot;;  
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; div = colnum \ 26;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; offset =  colnum mod 26;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;   &lt;span style="color: #0000ff"&gt;if&lt;/span&gt;(colnum &amp;gt; 256){
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &amp;quot;&lt;span style="color: #8b0000"&gt;invalid&lt;/span&gt;&amp;quot;;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;   }  
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;   &lt;span style="color: #0000ff"&gt;if&lt;/span&gt;(offset == 0) { offset = 26; --div;}
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;   colname =chr(64+offset);
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;   &lt;span style="color: #0000ff"&gt;if&lt;/span&gt;(div){
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;    colname=chr(64+div) &amp;amp; colname;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;   }
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; colname;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;  }
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&amp;lt;/cfscript&amp;gt;
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #f2eedf"&gt;&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;cfoutput&amp;gt;#convertNumbertoExcelCR(40)#&amp;lt;/cfoutput&amp;gt;&lt;/code&gt; would give &lt;code&gt;AN&lt;/code&gt; and &lt;code&gt;&amp;lt;cfoutput&amp;gt;#convertNumbertoExcelCR(79)#&amp;lt;/cfoutput&amp;gt;&lt;/code&gt; would give &lt;code&gt;CA&lt;/code&gt;. Again this UDF will limit the number to 256. This method again will not give the expected cell reference if the number goes big enough to correspond to 3 char string ie AAA et al.&lt;/p&gt;

&lt;p&gt;I trying posting these 2 UDFs on &lt;a href="http://cflib.org"&gt;cflib.org&lt;/a&gt; but was unsuccessful due to some error on the site. Hopefully will be able to upload it sometime.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-4462344325054092097?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/4462344325054092097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=4462344325054092097&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/4462344325054092097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/4462344325054092097'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2009/03/two-utility-coldfusion-udf.html' title='Two utility ColdFusion UDF'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-7792462430275213478</id><published>2009-03-23T19:30:00.008+05:30</published><updated>2010-04-19T16:26:58.489+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>ColdFusion and Excel 2007 Integration</title><content type='html'>&lt;p&gt;There has been a lot of resources available already for ColdFusion and Excel Integration but yet I couldn't find anything to make use for my requirement of processing xlsx files.    &lt;br /&gt;This gave me an opportunity to role my own version, using &lt;a href="http://poi.apache.org"&gt;POI&lt;/a&gt; which primarily has the following features :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Support for xlsx files i.e. it can consume files created with Microsoft Excel 2007 &lt;/li&gt;    &lt;li&gt;Support for reading large files using the POI Event API than the normal user API which is limited by the memory&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The creation of Excel documents which is done using HSSF and XSSF APIs for xls and xlsx documents respectively, can still be an issue as the memory requirement of files is so large that it can completely overwhelm the server and whilst this is not really the fault of the API - the BIFF8 file structure demands that the complete file be built in memory before it can be saved to disk. &lt;/p&gt;  &lt;p&gt;I used &lt;a href="http://poi.apache.org/spreadsheet/index.html"&gt;POI 3.5 beta 4&lt;/a&gt; which has support for new Office Open XML file formats, such as XLSX and PPTX introduced with Office 2007.&lt;/p&gt;  &lt;p&gt;I am using using the &lt;a href="http://javaloader.riaforge.org/"&gt;JavaLoader&lt;/a&gt; Utility to load the POI 3.5 and also the custom jar used to read Excel document.&amp;#160;. Refer this &lt;a href="http://cfsearching.blogspot.com/2009/02/how-to-install-poi-35-beta-on.html"&gt;post&lt;/a&gt; to find to how to install POI 3.5 beta on ColdFusion 8 using JavaLoader.cfc&lt;/p&gt;

 &lt;p&gt;This is not a pure ColdFusion solution and wrote a custom library to &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;utilize the POI Event API library for processing &lt;/li&gt;    &lt;li&gt;make the utility also available for Java program &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Importance of using java for the utility is much as ColdFusion natively doesn’t support batch processing and I feel that in case we are using this utlity to consume large data it makes more sense to load the processed data using batch. Though we can leverage &lt;a href="http://rahulnarula.blogspot.com/2008/06/batch-query-processing-with-coldfusion.html"&gt;JDBC batch processing in ColdFusion&lt;/a&gt; we could just do the same directly in Java without involving ColdFusion.&lt;/p&gt;  &lt;p&gt;The installation instruction are pretty simple which have been added to the Readme.txt file. All the details about the usage are also in the Readme.txt file.&lt;/p&gt;  &lt;p&gt;I would like to thank Ben Nadal whose &lt;a href="http://www.bennadel.com/projects/poi-utility.htm"&gt;POIUtility.cfc&lt;/a&gt; is the base of almost the complete write Excel functionality which I tried to use as is and adding support for creating Office 2007 (xlsx files). &lt;/p&gt;  &lt;p&gt;I am naming this utility as &lt;a href="http://www.fileden.com/files/2010/4/19/2832842/ExcelProcessor.zip"&gt;ExcelProcessor&lt;/a&gt; and is still in development. Please let me know if anybody is interested in the source code and can contribute in improving the same. I would like to hear feedback, suggestions, comments from people who take the opportunity to try it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.fileden.com/files/2010/4/19/2832842/ExcelProcessor.zip"&gt;Download ExcelProcessor&lt;/a&gt; (zip)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Note&lt;/b&gt; : If you receive a error &lt;span style="font-style:italic;"&gt;java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser&lt;/span&gt; while running ExcelReader just inlcude Xerces parser in the classpath&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-7792462430275213478?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/7792462430275213478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=7792462430275213478&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/7792462430275213478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/7792462430275213478'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2009/03/coldfusion-and-excel-2007-integration.html' title='ColdFusion and Excel 2007 Integration'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-6745877357388327112</id><published>2009-03-03T18:50:00.005+05:30</published><updated>2009-03-03T19:03:04.086+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>ColdFusion biggest challenge</title><content type='html'>&lt;p&gt;Ya I know it has been quite a long that I had written a post. It has been quite a hectic 2009 and hence this is my first post in year 09. I feel its just a blink of an eye and 2 months are trimmed of 2009&lt;/p&gt;

&lt;p&gt;Many people would have found the subject quite interesting but since I wanted to be shown alive and no specific topic to write about I just thought of why not interact with community folks and find out &lt;/p&gt;
&lt;blockquote&gt;What has been the biggest challenge of all that you had in your as many numbers of years working with ColdFusion (irrespective of version)?&lt;/blockquote&gt;
&lt;p&gt;I know this question might have been answered by you a lot many times but why not refresh the memory once more and share them with ever growing community.&lt;/p&gt;

&lt;p&gt;The format I would prefer the response would be
&lt;ul&gt;&lt;li&gt;No. of years with ColdFusion&lt;/li&gt;
&lt;li&gt;Problem definition&lt;/li&gt;
&lt;li&gt;How you work around the challenge&lt;/li&gt;
&lt;li&gt;Lessons learnt (if any)&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-6745877357388327112?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/6745877357388327112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=6745877357388327112&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6745877357388327112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6745877357388327112'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2009/03/coldfusion-biggest-challenge.html' title='ColdFusion biggest challenge'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-5067178307653876364</id><published>2008-10-01T18:55:00.004+05:30</published><updated>2008-10-03T16:45:40.414+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacation'/><category scheme='http://www.blogger.com/atom/ns#' term='goa'/><title type='text'>A vacation in Goa</title><content type='html'>&lt;p&gt;This year my firm decision of heading to &lt;a href="http://en.wikipedia.org/wiki/Goa"&gt;Goa&lt;/a&gt; paid off finally when I packed up and headed to &lt;a href="http://en.wikipedia.org/wiki/North_Goa"&gt;North Goa&lt;/a&gt;. After being back from a much needed vacation I feel refreshed and energized. I hope this last till my next vacation.&lt;/p&gt;

&lt;p&gt;My &lt;a href="http://techmech.wordpress.com/2008/10/01/escape-to-goa/"&gt;Goa travelogue&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Only interested in some pictures peek in &lt;a href="http://picasaweb.google.com/ranarula/Goa"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you need help in planning a trip to Goa I can surely help with my experiences. The &lt;a href="http://wikitravel.org/en/Goa"&gt;Goa wikitravel&lt;/a&gt; has a lot of information regarding the same.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-5067178307653876364?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/5067178307653876364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=5067178307653876364&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5067178307653876364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5067178307653876364'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/10/goa-travelogue.html' title='A vacation in Goa'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-5198297013897949619</id><published>2008-09-23T11:46:00.007+05:30</published><updated>2008-09-23T12:17:18.930+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CS4'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>Adobe announces CS4</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_f3R6mtiaDLQ/SNiQ4RCXIxI/AAAAAAAADJ0/DZ21OZS_i1I/s1600-h/Adobe_CS4_Logo.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_f3R6mtiaDLQ/SNiQ4RCXIxI/AAAAAAAADJ0/DZ21OZS_i1I/s320/Adobe_CS4_Logo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5249104662020694802" /&gt;&lt;/a&gt;
&lt;p&gt;Adobe today announced the new CS4 range of products. The new Creative Suite 4 product line advances the creative process across print, Web, mobile, interactive, film and video production. With new levels of integration and expressiveness for Flash technology across the entire product line, Adobe’s biggest software release to date includes &lt;a href="http://www.adobe.com/products/creativesuite/design/"&gt;Adobe Creative Suite 4 Design Premium&lt;/a&gt;, &lt;a href="http://www.adobe.com/products/creativesuite/web/"&gt;Adobe Creative Suite 4 Web Premium&lt;/a&gt;, &lt;a href="http://www.adobe.com/products/creativesuite/production/"&gt;Adobe Creative Suite 4 Production Premium&lt;/a&gt;, &lt;a href="http://www.adobe.com/products/creativesuite/mastercollection/"&gt;Adobe Creative Suite 4 Master Collection&lt;/a&gt;, as well as 13 point products, 14 integrated technologies and seven services.&lt;/p&gt;
&lt;p&gt;Adobe plans to offer tiered upgrade pricing from previous versions. For a limited time, validly licensed customers of eligible versions of Adobe Creative Suite, Adobe Production Studio and Macromedia Studio will be able to upgrade to Creative Suite 4 for the CS3 upgrade price. For more detailed information about features, upgrade policies, pricing visit &lt;a href="http://www.adobe.com/creativesuite"&gt;CS4 Home&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Adobe Creative Suite 4 and its associated products are scheduled to ship in October 2008. You can preorder them on Adobe Store at &lt;a href="http://www.adobe.com/go/gn_store"&gt;www.adobe.com/go/gn_store&lt;/a&gt;. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-5198297013897949619?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/5198297013897949619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=5198297013897949619&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5198297013897949619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5198297013897949619'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/09/adobe-announces-cs4.html' title='Adobe announces CS4'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_f3R6mtiaDLQ/SNiQ4RCXIxI/AAAAAAAADJ0/DZ21OZS_i1I/s72-c/Adobe_CS4_Logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-5277711570381595620</id><published>2008-09-02T13:08:00.013+05:30</published><updated>2008-09-02T22:16:55.681+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Google Chrome : Googles take on browser</title><content type='html'>&lt;img style="float:right;" src="http://1.bp.blogspot.com/_f3R6mtiaDLQ/SL0ke1mW5TI/AAAAAAAACOY/-5sHknQwjnY/s200/chrome21.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241385653531764018" /&gt;
&lt;p&gt;With a few hours to go before Google &lt;a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html"&gt;unveils&lt;/a&gt; the first beta version of its open source browser, &lt;a href="http://www.google.com/googlebooks/chrome/"&gt;Google Chrome&lt;/a&gt;. I am getting ready to try my hands on it. As with most of Google launches there is a lot of talk &amp; hype about the success of its new product. &lt;/p&gt;
&lt;p&gt;These are a few things you can expect from the browser as per Google&lt;/p&gt;
&lt;blockquote&gt;Under the hood, we were able to build the foundation of a browser that runs today's complex web applications much better. By keeping each tab in an isolated "sandbox", we were able to prevent one tab from crashing another and provide improved protection from rogue sites. We improved speed and responsiveness across the board. We also built a more powerful JavaScript engine, V8, to power the next generation of web applications that aren't even possible in today's browsers.&lt;/blockquote&gt;
&lt;p&gt;Google chrome promises to be fast, clean, streamlined but yet simple. It uses components from Apple's WebKit and Mozilla's Firefox, among others. We won't know what Google Chrome will look like till tomorrow, when they make the beta available for download, but Techcrunch has a few &lt;a href="http://www.techcrunch.com/2008/09/01/first-public-screen-captures-of-google-chrome/"&gt;screenshots&lt;/a&gt; of how it might look&lt;/p&gt;
&lt;p&gt;&lt;a href="http://techmech.files.wordpress.com/2008/09/google_chrome_comix.pdf"&gt;Download (PDF)&lt;/a&gt; the pre launch comic strip&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-5277711570381595620?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/5277711570381595620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=5277711570381595620&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5277711570381595620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5277711570381595620'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/09/google-chrome-googles-take-on-browser.html' title='Google Chrome : Googles take on browser'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_f3R6mtiaDLQ/SL0ke1mW5TI/AAAAAAAACOY/-5sHknQwjnY/s72-c/chrome21.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-2361204760305561492</id><published>2008-07-28T18:05:00.003+05:30</published><updated>2008-07-28T18:47:18.912+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><title type='text'>Cuil - Did you give it a try ?</title><content type='html'>&lt;p&gt;&lt;a href="http://www.cuil.com"&gt;Cuil&lt;/a&gt; a new search engine is unveiled today, 28th July 2008 which claims to be more powerful than even the big daddy, Google. The claim can turn out to be real, if not today but sometime down the line as it is created by a startup started by ex-Google employees.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://techmech.wordpress.com/2008/07/28/cuil-a-google-competitor/"&gt;More&lt;/a&gt; about what I found using it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-2361204760305561492?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/2361204760305561492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=2361204760305561492&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2361204760305561492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2361204760305561492'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/07/cuil-did-you-give-it-try.html' title='Cuil - Did you give it a try ?'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-509788847206646017</id><published>2008-07-10T23:17:00.007+05:30</published><updated>2008-07-10T23:42:41.577+05:30</updated><title type='text'>Edit current page - A neat little bookmarklet</title><content type='html'>&lt;p&gt;Ever wondered if you could edit the page you are browsing on make updates to it. Found a very  neat little bookmarklet that allows to exactly do that. &lt;p&gt;
&lt;p&gt;&lt;a href="javascript:document.body.contentEditable = 'true'; document.designMode='on'; void 0"&gt;Edit current website&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Just drag the above link to your bookmarks toolbar and voila you are all set to edit the page you are currently viewing. Don't worry though the changes are only temporary and are lost once you move away or refresh the page. But its a handy snippet to have some fun or create fake screenshots ;-). I suspect &lt;a href="http://bloggle.typepad.com/.shared/image.html?/photos/uncategorized/2008/07/10/clipboard01_4.jpg" target="_blank"&gt;this&lt;/a&gt; to be one of these, but there is a lot of discussion about it on the Blogosphere.&lt;/p&gt;

&lt;p&gt; You can find more such handy bookmarklets(including this one) &lt;a href="http://www.techzilo.com/bookmarklets-web-designers-developers/"&gt;here&lt;/a&gt;&lt;/p&gt;.&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-509788847206646017?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/509788847206646017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=509788847206646017&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/509788847206646017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/509788847206646017'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/07/edit-current-page-neat-little.html' title='Edit current page - A neat little bookmarklet'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-1656937711025851134</id><published>2008-06-18T18:46:00.008+05:30</published><updated>2008-06-18T20:10:30.233+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CFUnited'/><title type='text'>CFUnited 2008 : Adobe Keynote Summary</title><content type='html'>&lt;p dir="ltr" align="left"&gt;Ben Forta as usual started his keynote with a bang and announced a few things on the ColdFusion front. Here are the announcement from Adobe
&lt;/p&gt; &lt;div dir="ltr" align="left"&gt; &lt;ul&gt;&lt;li&gt; &lt;span class="968083413-18062008"&gt; Full version Enterprise Edition fr&lt;/span&gt;ee ColdFusion for Educational Use.&lt;/li&gt;&lt;li&gt; Setup of CFML Advisory Commitee will help define the rules &amp;amp; guidelines  around the use and evolution of CFML. The initial members of the committee  are&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Sean Corfield (lead)&lt;/li&gt;&lt;li&gt;Ben Forta (Adobe)&lt;/li&gt;&lt;li&gt;Sanjeev Kumar (Adobe)&lt;/li&gt;&lt;li&gt;Gert Franz (Ralio)&lt;/li&gt;&lt;li&gt;Ray Camden (CF Jedi)&lt;/li&gt;&lt;li&gt;Rob Brook-Bilson&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;

&lt;p&gt;Adam Lehmann's talked about some of the new features and enhancements they are working for the new version of ColdFusion "&lt;span style="font-style: italic;"&gt;Centaur&lt;/span&gt;"&lt;/p&gt;

&lt;p&gt;Language Enhancement&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create UDF &amp;amp; CFC in CFSCRIPT&lt;/li&gt;
&lt;li&gt; explicit LOCAL scope keeps local variables local &amp;lt;cfset var="1"&gt;&lt;br&gt; can be used anywhere in within the function&lt;/li&gt;
&lt;li&gt;New tags  &amp;lt;cffinally&gt; and &amp;lt;cfcontinue&gt;&lt;/li&gt;
&lt;li&gt;Others
   &lt;ul&gt;&lt;li&gt;new and import keywords&lt;/li&gt;
   &lt;li&gt; implicit constructors
         &lt;ul&gt;&lt;li&gt; &amp;lt;cfcomponent init=" "&gt;&lt;/li&gt;
         &lt;li&gt; Method name init()&lt;/li&gt;
         &lt;li&gt; Method with same name as component&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
   &lt;li&gt; implicit getters &amp;amp; setters – Applies to &amp;lt;cfproperty&gt; which will automatically have implicit getters &amp;amp; setters without actual code in the cfc which can also be overridden by users version.&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;
&lt;p&gt;New Server Events using Server.cfc file&lt;/p&gt;
   &lt;ul&gt;&lt;li&gt; OnServerStart&lt;/li&gt;
   &lt;li&gt;OnServerEnd&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Databases are at the core of all CF apps and integrated ORM in &lt;span style="font-style:italic;"&gt;Centaur&lt;/span&gt; will dramatically simplify data integration with  hibernate
&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-1656937711025851134?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/1656937711025851134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=1656937711025851134&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/1656937711025851134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/1656937711025851134'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/06/cfunited-2008-adobe-keynote-summary.html' title='CFUnited 2008 : Adobe Keynote Summary'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-8869429579976985031</id><published>2008-06-16T00:46:00.002+05:30</published><updated>2008-06-16T00:50:21.882+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CFUnited'/><title type='text'>CFUnited : Checked In</title><content type='html'>Started my CFUnited trip. Checked into Grand Hyatt room number 1156 after a nice and decent Air France flight from Bangalore reached Dulles on time. Anyone interested to drop by are most welcome.

See you at the conference.&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-8869429579976985031?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/8869429579976985031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=8869429579976985031&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8869429579976985031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8869429579976985031'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/06/cfunited-checked-in.html' title='CFUnited : Checked In'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-1094959938074702080</id><published>2008-06-10T12:39:00.010+05:30</published><updated>2008-06-11T11:42:29.767+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Batch query processing with ColdFusion</title><content type='html'>&lt;p&gt;Many a times we wonder if we can perform the action in database as a batch of multiple SQL statements. Though there are ways where in one execute multiple statements from &lt;CFQUERY&gt; but not all databases support that. Also that option risks the potential of SQL injection attacks if the queries are not written correctly. I personally would not prefer using &lt;CFQUERY&gt; for the purpose.&lt;/p&gt;
&lt;p&gt;In one of my recent project I was required to perform multiple database inserts from the files. The records I am talking about can reach anywhere above 10K. I am sure not many of you would still want to use &lt;CFQUERY&gt; for this scenario.&lt;/p&gt;
&lt;p&gt;To accomplish the task in hand I took advantage of the executeBatch() available in JDBC 2.0. the below script shows how we can do batch updates to a Oracle database. 
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfscript&gt;
   class =  createObject("java","java.lang.Class").forName("oracle.jdbc.driver.OracleDriver");
   DriverManager= createObject("java","java.sql.DriverManager");
   connectStr = "jdbc:oracle:thin:@&amp;lt;serverName&gt;:&amp;lt;portNumber&gt;:&amp;lt;sid&gt;";
   con = DriverManager.getConnection(connectStr, '&amp;lt;username&gt;', '&amp;lt;password&gt;');
&amp;lt;/cfscript&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The above snippet is used to get the connection to the database using a connection string. If you have a datasouce setup and want to use it to get the connection use the following snippet :&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfscript&gt;
  ic = createObject("java","javax.naming.InitialContext");
  ds = ic.lookup("&amp;lt;datasource&gt;");
  con = ds.getConnection();
&amp;lt;/cfscript&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Note :&lt;/span&gt; The datasources set in the CFAdmin will not be available using the above method. Only datasources set in the J2EE server will be available.&lt;/p&gt;

&lt;p&gt;After we have the connection[con], we can use the following script to add statements to a batch and execute it as a batch.&lt;p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfscript&gt;
 con.setAutoCommit(false);
 sql = "INSERT INTO test(id,name) VALUES(?,?)";
 pstmt = con.prepareStatement(sql);
 for (i=1; i&amp;lt;=1000; i++) {
   pstmt.setInt(1,i);
   pstmt.setString(2,"Sample String#i#");
   pstmt.addBatch();
 }
 updateCounts = pstmt.executeBatch();
 flag=true;
 for(i=1; i&amp;lt;=arrayLen(updateCounts);i++){
  if(updateCounts[i] == -3){ 
    flag=false; 
    con.rollback();
    break;
  }
 }
 if(flag){
   con.commit();
   writeoutput("Operation succeeded");
 }
 else
   writeoutput("Operation failed");
 &amp;lt;/cfscript&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The JDBC recommendation is to set autocommit to false when using batch updates "for proper error handling." Doing so also allows all the benefits of transaction processing.&lt;/p&gt;
&lt;p&gt;Update: To check if your database supports batch updates just check using this snippeton the connection object created above.&lt;p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfscript&gt;
writeoutput(con.getMetaData().supportsBatchUpdates());
&amp;lt;/cfscript&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-1094959938074702080?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/1094959938074702080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=1094959938074702080&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/1094959938074702080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/1094959938074702080'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/06/batch-query-processing-with-coldfusion.html' title='Batch query processing with ColdFusion'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-3695325235146886761</id><published>2008-06-06T22:24:00.003+05:30</published><updated>2008-06-06T23:11:02.950+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CFUnited'/><title type='text'>CFUnited Countdown</title><content type='html'>&lt;p&gt;As part of the CFUnited countdown the attendees have been asked a few questions. Since I will be second time lucky to be able to make it to the conference from India, I take the pleasure to answer the questions asked by Liz&lt;/p&gt;

&lt;p&gt;&lt;b&gt;What are you looking forward to most?&lt;/b&gt;
&lt;br/&gt;The &lt;a href="http://flickr.com/search/?q=rahul+ben+forta"&gt;memories&lt;/a&gt; of my first visit to CFUnited in 2006 are still very much fresh in my mind and since it will be the second time around I plan to meet a few more people and make friends with, though I am on a different side of the globe it always gives me immense pleasure to interact and socialize with community. I surely will meet Ray (Camden) to personally thank him for offering me CF blog hosting. Also plan to make a few other friends.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Which speaker will most likely end up on your camera?&lt;/b&gt;
&lt;br/&gt;As many as can fit in my camera, which means it will cover atleast all from the sessions I attend. I am eager to attend the ColdBox session by Luis Majano at the very minimum.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;What do you plan to do outside conference time?&lt;/b&gt;&lt;br&gt;
Since I would be coming 3 days in advance for the conference and will have a mate along, we had planned to do DC Tour and museums especially, &lt;a href="http://www.nasm.si.edu" target="_blank"&gt;National Air and Space Museum&lt;/a&gt;. Also planning a day tour to Baltimore for &lt;a href="http://www.aqua.org"&gt;National Aquarium&lt;/a&gt; and harbor.
&lt;br&gt; If you feel there is something we are missing and should visit, please let me know in the comments&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Fill in the blank: I will mainly be around the ______ booth.&lt;/b&gt;
&lt;br/&gt;
It will be Adobe and no points for guessing the reason :-). I would also make sure to pay my visit to the Fusion Authority booth, still have the &amp;lt;CF_Relax&gt; T-shirt I won from their booth ;-)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Do you have a new project you are working on and will reveal it at CFUnited?&lt;/b&gt;&lt;br/&gt;Though it might not be that exciting, but for me I am working on something in which I am leveraging CF Ajax features for the very first time. Good to be able to explore some of the Ajax features.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-3695325235146886761?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/3695325235146886761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=3695325235146886761&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3695325235146886761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3695325235146886761'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/06/cfunited-countdown.html' title='CFUnited Countdown'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-6181500912713355712</id><published>2008-03-28T13:10:00.005+05:30</published><updated>2008-03-28T22:25:18.049+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='awards'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>ColdFusion 8 nominated</title><content type='html'>&lt;p&gt;ColdFusion 8 has been selected as a finalist in the Web Development category of the Great Indian Developer Awards 2008. &lt;a href="http://www.developersummit.com/awards.html"&gt;Voting is open&lt;/a&gt; for all till May 2nd. &lt;/p&gt;
&lt;p&gt;Great Indian Developer Awards recognize the product and innovation excellence of the hundreds of software products and tools that aid developer productivity, across 15 different categories. The selection criteria applied by an international stature panel places emphasis on functionality, usability, innovation excellence, bleeding-edge quotient, and feedback from the developer ecosystem.&lt;/p&gt;
&lt;p&gt;Now that I have already casted my vote what are you waiting for !!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-6181500912713355712?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/6181500912713355712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=6181500912713355712&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6181500912713355712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6181500912713355712'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/03/coldfusion-8-has-been-selected-as.html' title='ColdFusion 8 nominated'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-6036483813118909817</id><published>2008-03-18T11:59:00.008+05:30</published><updated>2008-03-18T12:14:02.786+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Adobe RIA Architect Summit 2008</title><content type='html'>&lt;p&gt;The Adobe RIA Architect Summit is an opportunity for architects and aspiring architects to get an insight into how to design and architect Rich Internet Applications. It is also a unique platform to interact with experts and technology leaders and a chance to develop connections within the community.&lt;/p&gt;
&lt;p&gt;The summit is an unparalleled opportunity to hear from eminent people like &lt;span style="font-weight:bold;"&gt;Dr. Naresh Gupta&lt;/span&gt;, MD of Adobe India and &lt;span style="font-weight:bold;"&gt;David Wadhwani&lt;/span&gt;, VP of the Platform BU, Adobe Systems Inc. on the impact of RIAs, the business opportunities that they present and strategy and future of Adobe’s platforms.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:bold;"&gt;When: &lt;/span&gt; Thursday, April 3, 2008 9:00 am - 6:00 pm&lt;br&gt;
&lt;span style="font-weight:bold;"&gt;Venue: &lt;/span&gt; The Chancery Pavillion, Residency Road, Bangalore, India&lt;/p&gt;

&lt;p&gt;More details and registration, on a First Come First Serve basis, at &lt;a href="http://adoberiarch.eventbrite.com/"&gt;http://adoberiarch.eventbrite.com/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-6036483813118909817?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/6036483813118909817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=6036483813118909817&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6036483813118909817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6036483813118909817'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2008/03/adobe-ria-architect-summit-2008.html' title='Adobe RIA Architect Summit 2008'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-8122663214510027883</id><published>2007-12-12T19:56:00.000+05:30</published><updated>2007-12-12T21:33:24.840+05:30</updated><title type='text'>Synchronizer Token Pattern in ColdFusion</title><content type='html'>&lt;p&gt;Most of the times we feel like maintaining the control flow of the application and prevent users not use browser control especially the browser Back button. Control flow sequence is particularly important to preserve when form submission involves transaction processing on the server which might lead to inconsistencies.&lt;/p&gt;
&lt;p&gt;People familiar with &lt;a href="http://struts.apache.org/ "&gt;Struts framework&lt;/a&gt; in Java might be aware of the Synchronizer Token Pattern available to take care of this very problem. I tried if not same a similar principle in ColdFusion to get over the problem on hand for me.&lt;/p&gt;
&lt;p&gt;The solution described below is in no way a full blown Synchronizer Token Pattern that might be implemented in Struts but a very simple approach to solve a very mundane problem. The basic idea is to set a token in a session variable before returning a (transactional) page to the client. This page carries the token inside a hidden field. Refer code below :&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfset variables.timer =gettickcount()&gt;
&amp;lt;cfset session.timer =variables.timer&gt;
&amp;lt;form name="a" action="2.cfm" method="post"&gt;
&amp;lt;p&gt;Name : &amp;lt;input type="text" name="name"&gt;&amp;lt;/p&gt;
&amp;lt;p&gt;Age : &amp;lt;input type="text" name="age"&gt;&amp;lt;/p&gt;
&amp;lt;cfoutput&gt;&amp;lt;input type="hidden" name="timer" value="#variables.timer#"&gt;&amp;lt;/cfoutput&gt;
&amp;lt;p&gt;&amp;lt;input type="submit" name="Sumbit"&gt;&amp;lt;/p&gt;
&amp;lt;/form&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Upon submission, request processing first tests for the presence of a valid token in the request parameter by comparing it with the one registered in the session. If the token is valid, processing can continue normally, otherwise an alternate course of action is taken. After testing, the token resets to null to prevent subsequent submissions until a new token is saved in the session.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfif structKeyExists(form,"fieldnames") and form.timer eq session.timer&gt;
  &amp;lt;cfoutput&gt; Your name is #form.name# &amp; age #form.age#&amp;lt;/cfoutput&gt;
  &amp;lt;cfset session.timer=0&gt;
&amp;lt;cfelse&gt;
  &amp;lt;p&gt;Your session is expired&amp;lt;p&gt;
&amp;lt;/cfif&gt;
&amp;lt;p&gt;&amp;lt;a href="javascript:history.back()"&gt;Go Back (Simulate Browser Back)&amp;lt;/a&gt; 
| &amp;lt;a href="1.cfm"&gt;Preferred Back&amp;lt;/a&gt;&amp;lt;/p&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Wanna try a &lt;a href="http://67.59.153.214/sample/1.cfm"&gt;demo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please note that this is just an idea implementation I did in less than 5 minutes and has scope for improvement. All suggestions/comments are welcome.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-8122663214510027883?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/8122663214510027883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=8122663214510027883&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8122663214510027883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8122663214510027883'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/12/synchronizer-token-pattern-in.html' title='Synchronizer Token Pattern in ColdFusion'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-488632248667446981</id><published>2007-12-07T19:13:00.000+05:30</published><updated>2007-12-07T19:44:34.605+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>Adobe.com has a new look</title><content type='html'>&lt;p&gt;Yesterday night we at the web team released the &lt;a href="http://www.adobe.com"&gt;new look&lt;/a&gt; Adobe.com.&lt;/p&gt;

&lt;p&gt;Your comments/feedback are most welcome as to what you feel about the new look&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-488632248667446981?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/488632248667446981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=488632248667446981&amp;isPopup=true' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/488632248667446981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/488632248667446981'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/12/adobecom-has-new-look.html' title='Adobe.com has a new look'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-6573304041981873826</id><published>2007-10-10T16:31:00.000+05:30</published><updated>2007-10-10T21:20:25.320+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Share'/><title type='text'>Adobe Share</title><content type='html'>&lt;p&gt;I hope many people must have already heard and used Adobe latest online offering codenamed "&lt;a href="http://labs.adobe.com/technologies/share/"&gt;&lt;span style="font-style: italic;"&gt;Share&lt;/span&gt;&lt;/a&gt;" which is available on &lt;a href="http://labs.adobe.com/"&gt;Labs&lt;/a&gt;. It is a free web-based service that offers 1GB of space and allows you to easily share, publish and organize your documents. You only need to have an Adobe ID.&lt;/p&gt;&lt;p&gt;With Share you can:&lt;/p&gt;   &lt;ul type="disc"&gt;&lt;li&gt;Send documents without email attachments.&lt;/li&gt;&lt;li&gt;Access your documents from anywhere.&lt;/li&gt;&lt;li&gt;View all the documents you have shared or received in one place.&lt;/li&gt;&lt;li&gt;Post a link to your document on a wiki or blog.&lt;/li&gt;&lt;li&gt;Embed a Flash® preview of your document on any website.&lt;/li&gt;&lt;li&gt;Limit access to a document to a list of recipients.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Update&lt;/span&gt;: Ray Camden already has a cool little CF &lt;a href="http://www.coldfusionjedi.com/index.cfm/2007/10/6/First-version-of-Share-CFC-Released"&gt; API&lt;/a&gt; for Share.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-6573304041981873826?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/6573304041981873826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=6573304041981873826&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6573304041981873826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6573304041981873826'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/10/adobe-share.html' title='Adobe Share'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-5607465505723120992</id><published>2007-09-06T16:18:00.000+05:30</published><updated>2007-09-06T18:23:29.037+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Directory Watcher</title><content type='html'>&lt;p&gt;A few months back during our internal DevSummit at Adobe, India an engineer demo a  slick little utility that sits in the system tray and monitors a directory for  updates. It notifies the user of any update to the configured directory. The light weight utility also had a RSS feed that yours can subscribe to provided you have it enabled.&lt;/p&gt;

&lt;p&gt;On the lines of this utility standalone executable, I thought doing this in ColdFusion was a cake walk. Using the Directory Watcher event gateway provided with ColdFusion I built a RSS feed using &amp;lt;CFFEED&gt; for all the music I have on my machine. The feed will be refreshed everytime I added more music, so my friends subscribed to my music feed get updated.&lt;/p&gt;

&lt;div class="code"&gt;
&lt;pre&gt;
 &amp;lt;cfcomponent&gt;
 &amp;lt;cffunction name="onAdd" output="no"&gt;
    &amp;lt;cfargument name="CFEvent" type="struct" required="yes"&gt;
 
&amp;lt;cfdirectory directory="c:\music\" recurse="yes"  name="music" filter="*.mp3"&gt;

&amp;lt;cfquery name="mymusic" dbtype="query"&gt;
 select name,size,directory, DATELASTMODIFIED from music where type='File' order by DATELASTMODIFIED desc
&amp;lt;/cfquery&gt;
 &amp;lt;cfscript&gt;
      // Create the feed data structure and amymusic the metadata.
      MovieStruct = { link="http://rnarula03",title="Music", description="Music directory for Rahul", pubDate="#now()#", version="rss_2.0", item=arraynew(1) };
      / Add the feed items. 
       for(i=1; i &lt;= mymusic.recordcount; i++)
 {
        MovieStruct.item[i] = StructNew();
        MovieStruct.item[i].description = StructNew();
 S = numberformat(mymusic.size[i]/(1024*1024));
 link = replace(mymusic.directory[i],"c:\music","")&amp;"\"&amp;mymusic.name[i];
        MovieStruct.item[i].description.value = "Movie "&amp; mymusic.name[i] &amp;" (" &amp; S &amp;" MB)";
 MovieStruct.item[i].description.value =  MovieStruct.item[i].description.value &amp; "&amp;lt;br&gt;&amp;lt;br&gt;Download at: \\servername\music" &amp;link;
        //MovieStruct.item[i].link ="file://///rnarula03/music/"&amp;link;
        MovieStruct.item[i].pubDate = GetHttpTimeString(mymusic.DATELASTMODIFIED[i]) ;
        MovieStruct.item[i].title = replace(Rereplacenocase(mymusic.name[i],"\.mp3$",""),"."," ","ALL");
       }
    &amp;lt;/cfscript&gt;
    &amp;lt;!--- Generate the feed and save it to a file and variable. ---&gt;
 &amp;lt;cffeed action="create"  name="#MovieStruct#"  outputfile="c:\wwwroot\music.xml" overwrite="true"&gt;
 
 &amp;lt;/cffunction&gt;
 &amp;lt;/cfcomponent&gt;

&lt;/pre&gt;
&lt;/div&gt; 
&lt;p&gt;This will publish the complete list of music files in my folder, which is also shared to facilitate easy download. The only issue I am having is the network file share link doesn't work from Firefox due to some reason. Still investigating on the same. Also the network link (like file://///servername/share)  is not treated as a valid link in RSS &amp; it doesn't appear as link on the fed item. If anyone has any idea on the same, please let me know about it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-5607465505723120992?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/5607465505723120992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=5607465505723120992&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5607465505723120992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5607465505723120992'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/09/directory-watcher.html' title='Directory Watcher'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-8371875927071639224</id><published>2007-09-04T15:26:00.000+05:30</published><updated>2007-09-04T16:42:20.225+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='analytics'/><title type='text'>FEEDJIT real-time traffic analysis</title><content type='html'>&lt;p&gt;One thing that keeps me motivated to write more on my blog is the ever increasing number of visits on my blog. I have used a few tools to monitor the traffic in the past including &lt;a href="http://tracker.icerocket.com/"&gt;Icerocket&lt;/a&gt;, &lt;a href="http://www.statisfy.net/"&gt;Statisfy&lt;/a&gt;, &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt; to name a few but my I always like to try new tools just because of the kind of stats and analysis they provide. Icerocket, for instance, provide you the visitors tracking which include last n number of recent visits along with the time (in the time chosen chosen) and the geographical region. There are many other reports available like  rank, hit by browser with nice charts etc etc. Google Analytics on the other hands doesn't seem to provide live stats and is bit more inclined towards e-commerce related reports.&lt;/p&gt;
&lt;p&gt;In continuing with my endeavor to get the best stats and reports for my blog I am evaluating &lt;a href="http://feedjit.com/"&gt;FEEDJIT&lt;/a&gt; on my blog. Feedjit offers two types of widgets and can be added to your blog without sign up/registration. The first one let you get a live arrival and departure traffic report on your blog. This widget is totally customizable using Ajax controls. The second widget, integrated at the bottom right of my blog, shows a map with the location of the last 100 visitors. Hover over any dot to get more information about a person.&lt;/p&gt;
&lt;p&gt;Yet another very simple but nice widget that caught my attention was &lt;a href="http://whos.amung.us"&gt;whos.amung.us&lt;/a&gt;. The USP of this stats is its 30 seconds setup and again like FEEDJIT doesn't require any registration.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-8371875927071639224?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/8371875927071639224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=8371875927071639224&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8371875927071639224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8371875927071639224'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/09/feedjit-real-time-traffic-analysis.html' title='FEEDJIT real-time traffic analysis'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-6229123490008986288</id><published>2007-08-31T19:31:00.001+05:30</published><updated>2009-03-26T00:40:15.929+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Asynchronous File Upload</title><content type='html'>&lt;p&gt;For one of my current project, we wanted to have to support multiple file attachments in one of the forms. The first thing that came to my mind was how about doing it the GMail way. For me the GMail file attachment module functions the best way. I was sure that I could find some reusable component that I can quickly use. But to my disappointment or lack of (search) time or call it bad googling, I couldn't find something, in ColdFusion, that I could have used. Incidentally I found the &lt;a href="http://www.googleguide.com/"&gt;Google Guide&lt;/a&gt; today to help me better my googling.&lt;/p&gt;
&lt;p&gt;To my good luck I found an &lt;a href="http://www.chronosight.net/view/2006/04/465-asynchronous-file-upload-with-php-javascript-iframe.html"&gt;implementation&lt;/a&gt; in PHP, which I quickly (5 mins to be precise) implemented, that's where I love ColdFusion. The implementation is a simple yet intelligent use of (hidden) iframes and JavaScript.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ranarula.googlepages.com/upload.zip"&gt;Download it&lt;/a&gt; !!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-6229123490008986288?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/6229123490008986288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=6229123490008986288&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6229123490008986288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6229123490008986288'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/08/asynchronous-file-upload.html' title='Asynchronous File Upload'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-7386327584283096047</id><published>2007-08-29T10:59:00.000+05:30</published><updated>2007-08-29T11:07:28.172+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><title type='text'>oob Conference 2007</title><content type='html'>&lt;p&gt;&lt;b&gt;India’s only conference on Ideas  and Intellectual Property&lt;/b&gt;&lt;br&gt;
14 - 15 Sep 2007&lt;br&gt;
J N Tata Auditorium,Bangalore, India&lt;/p&gt;

&lt;p&gt;If you  have an idea, or simply want to get inspired to create your own idea, then  &lt;b&gt;&lt;span style="font-weight: bold;"&gt;OOB (Out Of Box) Conference 2007&lt;/span&gt;&lt;/b&gt;  is the place to be. Over 30 top speakers at the conference will keep you  inspired; will get you thinking; and will push you to  action-mode.&lt;/p&gt;
&lt;p&gt;The future is ideas,  ideas which will revolutionise and change the way we do things forever. At OOB,  you will learn how to create, develop and execute your own idea. You will also  learn the truth about Intellectual Property and how to create one. So, this  September, OOB Conference 2007 is the place to be.&lt;/p&gt;
&lt;p&gt;The delegates are  swooping in and the chairs are fast getting filled, so ensure your &lt;a href="http://www.oobconference.com/register.html"&gt;seats&lt;/a&gt; right  away.&lt;/p&gt;
&lt;p&gt;More on OOB at  &lt;a title="http://www.oobconference.com/" href="http://www.oobconference.com/"&gt;http://www.oobconference.com&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-7386327584283096047?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/7386327584283096047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=7386327584283096047&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/7386327584283096047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/7386327584283096047'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/08/oob-conference-2007.html' title='oob Conference 2007'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-2692609324625482705</id><published>2007-08-16T23:41:00.000+05:30</published><updated>2007-08-29T00:56:17.687+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>San Jose Semaphore cracked</title><content type='html'>&lt;p&gt;Even tried to solve the puzzle presented by &lt;a href="http://www.youtube.com/watch?v=B8SAZRP_4H4"&gt;rotating lights&lt;/a&gt; high atop the Adobe  headquarters in San Jose. The puzzle has been reportedly been &lt;a href="http://www.mercurynews.com/ci_6626955"&gt;solved&lt;/a&gt; by a computer science engineer named Bob Mayo and an engineer named Mark Snesrud.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sanjosesemaphore.org/"&gt;San Jose Semaphore website&lt;/a&gt; describe the riddle as
&lt;blockquote&gt;San Jose Semaphore, by artist Ben Rubin, is a permanent public artwork commissioned by Adobe Systems Incorporated in collaboration with the City of San Jose’s Office of Cultural Affair’s Public Art Program.
&lt;br&gt;&lt;br&gt;
Located within the top floors of Adobe’s Almaden Tower headquarters in San Jose, California, San Jose Semaphore is a multi-sensory kinetic artwork that illuminates the San Jose skyline with the transmission of a coded message. The content of the San Jose Semaphore’s message is a mystery; cracking the encryption technique and deciphering the message is posed as a challenge for the public.  To the first person or group to successfully crack the code, Adobe will award bragging rights and acknowledgment on both the Adobe website (www.adobe.com) and the San Jose Semaphore website.
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update&lt;/b&gt;: Read the complete analysis of the solution &lt;a href="http://www.sanjosesemaphore.com/report.pdf"&gt;here&lt;/a&gt;, and how much pain the winning team took to crack it&amp;nbsp;&lt;a href="http://www.sanjosesemaphore.com/decoding.pdf"&gt;here&lt;/a&gt;. and &lt;a href="http://www.earstudio.com/projects/projects.html"&gt;here&lt;/a&gt; are other projects of the artist who created the semaphore.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-2692609324625482705?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/2692609324625482705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=2692609324625482705&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2692609324625482705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2692609324625482705'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/08/san-jose-semaphore-cracked.html' title='San Jose Semaphore cracked'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-3567045597669970426</id><published>2007-08-12T23:23:00.001+05:30</published><updated>2007-08-12T23:28:11.701+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>Adobe.com : A perfect web experience</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;a href='http://www.forrester.com/ER/Research/List/Analyst/Personal/0,2237,178,00.html'&gt;Harley Manning&lt;/a&gt;, vice president Forrester chose &lt;a href='http://www.adobe.com'&gt;Adobe.com&lt;/a&gt; as the perfect Web site on the Internet.&lt;br/&gt;&lt;br/&gt;Read the complete &lt;a href='http://blogs.wsj.com/biztech/2007/08/10/why-most-web-sites-stink/'&gt;article&lt;/a&gt; regarding this on WSJ.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-3567045597669970426?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/3567045597669970426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=3567045597669970426&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3567045597669970426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3567045597669970426'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/08/adobecom-perfect-web-experience.html' title='Adobe.com : A perfect web experience'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-8125157878054101879</id><published>2007-07-30T11:04:00.000+05:30</published><updated>2007-07-30T19:17:21.413+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>ColdFusion 8 - Go grab it</title><content type='html'>&lt;p&gt;The new revolutionary and much awaited release of ColdFusion, ColdFusion 8 aka Scorpio is now shipping. &lt;p&gt;
&lt;p&gt;That is it from me. You still waiting to hear &lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200707/073007ColdFusion.html"&gt;more&lt;/a&gt;. Go &lt;a href="http://www.adobe.com/products/coldfusion/buy/"&gt;grab&lt;/a&gt; your copy now.&lt;/p&gt;
&lt;p&gt;Still looking for reasons to upgrade, &lt;a href="http://www.adobe.com/products/coldfusion/features/"&gt;find out&lt;/a&gt; what you will  miss otherwise.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-8125157878054101879?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/8125157878054101879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=8125157878054101879&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8125157878054101879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8125157878054101879'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/07/coldfusion-8-go-grab-it.html' title='ColdFusion 8 - Go grab it'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-4454710052197850379</id><published>2007-07-29T18:14:00.000+05:30</published><updated>2007-07-29T18:26:42.225+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacation'/><title type='text'>Wayanad - A weekend getaway</title><content type='html'>&lt;p&gt;After a lot of hiccups in my initial plan to go for a vacation, I finally managed to head to &lt;a href="http://www.wayanad.com"&gt;Wayanad&lt;/a&gt;, in the North of God's Own Country, &lt;a href="http://en.wikipedia.org/wiki/Kerala"&gt;Kerala&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It was a very refreshing and memorable trip through the Nilgiris. I would like to suggest this place to anyone planning a vacation in India.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://techmech.wordpress.com/2007/07/29/wayanad-a-travelogue/"&gt;Read&lt;/a&gt; complete travelogue&lt;br&gt;
My Wayanad &lt;a href="http://www.flickr.com/photos/ranarula/sets/72157601075446570/"&gt;photoset
&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-4454710052197850379?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/4454710052197850379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=4454710052197850379&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/4454710052197850379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/4454710052197850379'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/07/wayanad-weekend-getaway.html' title='Wayanad - A weekend getaway'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-9063058926883276550</id><published>2007-07-18T22:05:00.000+05:30</published><updated>2007-07-18T23:03:02.313+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Looping Query in an Array : An Issue</title><content type='html'>&lt;p&gt;Today one of my colleague Nikhilesh, encountered a strange issue while he was trying to loop over a query stored in an array. After trying to get under the issue for sometime we finally decided to raise it to the ColdFusion team. We are still awaiting their response but to share the issue here is the small script that describes the issue.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfscript&gt;
arr=arrayNew(1);
myQuery = QueryNew("Name, Time, Advanced", "VarChar, Time, Bit");
newRow = QueryAddRow(MyQuery, 2);
QuerySetCell(myQuery, "Name", "The Wonderful World of CFML", 1);
QuerySetCell(myQuery, "Time", "9:15 AM", 1);
QuerySetCell(myQuery, "Advanced", False, 1);
QuerySetCell(myQuery, "Name", "CFCs for Enterprise Applications", 2);
QuerySetCell(myQuery, "Time", "12:15 PM", 2);
QuerySetCell(myQuery, "Advanced", True, 2);
arr[1]= myQuery;
//Assigning arr[1] to 'temp' gets it work as shown by first &amp;lt;cfoutput&gt; below
temp = arr[1];
&amp;lt;/cfscript&gt;

&amp;lt;cfoutput query="temp"&gt;
#Name# - #Time# -#Advanced#&amp;lt;br&gt;
&amp;lt;/cfoutput&gt;
&amp;lt;cfflush&gt;
&amp;lt;cfoutput query="arr[1]"&gt;
#Name# - #Time# -#Advanced#&amp;lt;br&gt;
&amp;lt;/cfoutput&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Even output for &lt;code&gt;#temp.getClass().getName()#&lt;/code&gt; and &lt;code&gt;#arr[1].getClass().getName()#&lt;/code&gt; gives the same underlying class &lt;code&gt;coldfusion.sql.QueryTable&lt;/code&gt;, still not sure as to why the second loop fails. Also if I assign the query to a structure key &lt;code&gt;&amp;lt;cfset myStruct.key=myQuery&gt;&lt;/code&gt;, I can loop over the structure key  like &lt;code&gt;&amp;lt;cfoutput query="myStruct.key"&gt;&lt;/code&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-9063058926883276550?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/9063058926883276550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=9063058926883276550&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/9063058926883276550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/9063058926883276550'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/07/looping-query-in-array-issue.html' title='Looping Query in an Array : An Issue'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-5964083316543281995</id><published>2007-07-02T15:29:00.000+05:30</published><updated>2007-07-03T19:00:49.488+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>Scorpio bites Adobe.com</title><content type='html'>&lt;p&gt;The last week has been seeing upgrade to Dylan, the framework and architecture for &lt;a href="http://www.adobe.com"&gt;Adobe.com&lt;/a&gt;. I am happy to share that Adobe.com now runs on &lt;a href="http://labs.adobe.com/technologies/coldfusion8/"&gt;ColdFusion 8&lt;/a&gt; Enterprise. The upgrade has been seemless and was completed in a phased manner yesterday. Except a few minor hiccups during the testing, everything went as per plan.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Time to rejoice !!!!&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-5964083316543281995?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/5964083316543281995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=5964083316543281995&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5964083316543281995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5964083316543281995'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/07/scorpio-bites-adobecom.html' title='Scorpio bites Adobe.com'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-7142556205535606708</id><published>2007-07-02T14:06:00.000+05:30</published><updated>2007-07-02T22:39:26.569+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>More Adobe CS3</title><content type='html'>&lt;p&gt;Adobe today shipped Adobe Creative Suite 3 &lt;a href="http://www.adobe.com/products/creativesuite/production/?xNav=PP"&gt;Production Premium&lt;/a&gt; and &lt;a href="http://www.adobe.com/products/creativesuite/mastercollection/?xNav=MC"&gt;Master Collection&lt;/a&gt; in North America. The other language versions – including French, German and Japanese will be available by mid July.&lt;/p&gt;&lt;p&gt; With Adobe Creative Suite 3 &lt;a href="http://www.adobe.com/products/creativesuite/design/?xNav=DP"&gt;Design Editions&lt;/a&gt; and Creative Suite 3 &lt;a href="http://www.adobe.com/products/creativesuite/web/?xNav=WP"&gt;Web Editions&lt;/a&gt; already in market this completes the roll-out of the company’s revolutionary &lt;a href="http://www.adobe.com/creativelicense/"&gt;Creative Suite 3 family&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200706/070207MPShipping.html"&gt;Read&lt;/a&gt; more.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-7142556205535606708?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/7142556205535606708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=7142556205535606708&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/7142556205535606708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/7142556205535606708'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/07/more-adobe-cs-3.html' title='More Adobe CS3'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-6572967139151690175</id><published>2007-06-29T17:04:00.000+05:30</published><updated>2007-07-01T12:09:41.793+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JMS'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>ColdFusion and JMS : Learn by example</title><content type='html'>&lt;p&gt;Continuing with my &lt;a href="http://rahulnarula.blogspot.com/2007/06/jms-event-gateway-experiences.html"&gt;previous post&lt;/a&gt; which talked about my experiences with working with ColdFusion and JMS, I thought of writing a simple script that demonstrates how simple it can be integrating java messaging with ColdFusion.&lt;/p&gt;
&lt;p&gt;The code below is used to send messages to JMS queue, which is basically a point-to-point messaging model. If you are new to messaging and wanted to know about JMS checkout &lt;a href="http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/jms_tutorialTOC.html"&gt;this&lt;/a&gt; nice tutorial.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfscript&gt;
        //Test message to be publishhed
        message ="JMS message using ColdFusion"; 
        // queue Name
        queueName = "&amp;lt;--QUEUE_NAME--&gt;";
        // Queue Connection Factory. Use default connection factories provided by the J2EE Engine
        qcf = "jmsfactory/default/QueueConnectionFactory";
        // Create the InitialContext Object used for look up 
        ctx = createObject("java","javax.naming.Context");
        prop = createObject("java","java.util.Properties").init();

        prop.put(ctx.PROVIDER_URL, "localhost:50004");
        prop.put(ctx.INITIAL_CONTEXT_FACTORY, 
                          "com.sap.engine.services.jndi.InitialContextFactoryImpl");
        //prop.put (ctx.SECURITY_PRINCIPAL, "anonymous");
        //prop.put (ctx.SECURITY_CREDENTIALS, "anonymous");

        ic = createObject("java","javax.naming.InitialContext").init(prop);
        //Step 1 = Look Up a Connection Factory in JNDI
        queueConnectionFactory =  ic.lookup(qcf);
        //Step 2 = Look Up a Destination Queue 
        queue = ic.lookup(queueName);
        //Step 3 = Create a Connection Using the Connection Factory
        qc = queueConnectionFactory.createQueueConnection();
        //Step 4 = Create a Session Using the Connection
        qs = qc.createQueueSession(false,1);
        //Step 5 = Create Message Producers 
        sender = qs.createSender(queue);
        //Step 6 = create ascii text message
        textmsg = qs.createTextMessage();
        textmsg.setText(message);
        //Step 7 = Start the queue &amp; send the message
        qc.start ();
        deliveryMode = createObject("java","javax.jms.DeliveryMode");
        sender.send(textmsg, deliveryMode.PERSISTENT, 4, 0);
        qs.close();
        qc.close();
        writeoutput("Message sent");
&amp;lt;/cfscript&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This is the *only* code we need in ColdFusion to interact with Java messaging system. Isn't it cooool !!! The above code uses the SAP Netweaver underlying Queue Factory implementation. &lt;/p&gt;
&lt;p&gt;A few things to consider. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There is no need to typecast the lookup objects into required type as in the case of Java. ColdFusion will do that for use automatically due to its dynamic nature.&lt;/li&gt;
&lt;li&gt;We really can't set up the ExceptionListener using this approach to detect a problem with the connection as &lt;code&gt;setExceptionListener()&lt;/code&gt; expects an object of &lt;code&gt;javax.jms.ExceptionListener&lt;/code&gt; and we have no way of implementing the interface directly in ColdFusion. To overcome this problem and to report and handle the connectivity issue we can just place the sender.send() method in a try/catch block ;-) and handle 'any' exception.&lt;/li&gt;
&lt;li&gt;We can directly use the constant values like &lt;code&gt;deliveryMode.PERSISTENT&lt;/code&gt; used above directly instead of creating object of &lt;code&gt;javax.jms.DeliveryMode&lt;/code&gt; to refer the constant. Refer &lt;a href="http://java.sun.com/j2ee/1.4/docs/api/constant-values.html"&gt;here&lt;/a&gt; for the complete list of constants.&lt;/li&gt;
&lt;li&gt;I am using this code in an event gateway implementation, hence no &lt;code&gt;&amp;lt;cfthread&gt;&lt;/code&gt; else this is the prospective candidate to be inside &lt;code&gt;&amp;lt;cfthread&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;a href="http://help.sap.com/saphelp_nw04/helpdata/en/25/bf8f44540c469abc19fb6ac3ac7885/frameset.htm"&gt;Learn more&lt;/a&gt; about the SAP Netweaver JMS applications.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-6572967139151690175?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/6572967139151690175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=6572967139151690175&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6572967139151690175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6572967139151690175'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/coldfusion-and-jms-learn-by-example.html' title='ColdFusion and JMS : Learn by example'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-3585276743835718273</id><published>2007-06-28T16:39:00.000+05:30</published><updated>2007-07-31T13:53:11.179+05:30</updated><title type='text'>JMS event gateway experiences</title><content type='html'>&lt;p&gt;In one of the recent project I had to consume a JMS message from the publisher and send to the JMS queue for further processing. I call it a intermediate system. The JMS subscriber was the easiest part to implement using the in-built JMS gateway. I just needed to create a new event gateway instance and I was already a subscriber for the messages.&lt;/p&gt;
&lt;p&gt;Moving on the next step, the messages needed to be collected and fed into another JMS system, this time a JMS queue. I will not go into too much details but would say I had implemented end-to-end system in ColdFusion. There are a few things that I would like to talk about here.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The asynchronous nature of JMS needs to be implemented in the intermediate system and the messages delivery had to be guaranteed. The biggest issue that I was up against is to maintain the connectivity with the systems. The subscriber part was ok as it will be taken care of by the event gateway wherein a loss of connectivity with the publisher will not result in any loss of messages as all such messages will be queued before its acknowledged by the subscriber(event gateway in our case). The only issue I need to take care of was if the message was received my the subscriber it has to be delivered to the JMS queue. &lt;/li&gt;
&lt;li&gt;In case of a failure between the intermediate system and the queue happens it has to be made sure that the message is not lost and is delivered after the connection is  restored. In such a case the approach that I implemented was to queue up all the incoming messages and run a separate thread that will endlessly try to restore the connection. All messages received from the gateway are stalled (put to sleep).Once the connection to the queue is restored, all the queued messages are delivered. I know this method has a lot of limitation as if the queue size grows beyond a certain limit it can crash. But currently we feel that the outage will be controlled.&lt;/li&gt;
&lt;li&gt;In an ideal scenario, we would like to stop the event gateway instance if the connection to the queue is lost so that there is no message received from the publisher. I am still working out a way to accomplish that.&lt;/li&gt;
&lt;li&gt;For unit testing the intermediate system it was required to manually terminate the connection with the queue and see how the system works. To accomplish that I used a neat little Solaris utility: &lt;a href="http://typo.submonkey.net/pages/tcpdrop-solaris"&gt;tcpdrop&lt;/a&gt;. I am not sure about such a utility for Windows. You just need to provide the endpoints of the connection along with the ports and you can drop any established TCP connection. I simulated the production scenario of lost connectivity using TcpDrop and all scenario's worked as per plan.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If anyone has a better idea to implement such a system, I would be happy to hear. If anyone is interested in the implementation, I would be happy to share.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-3585276743835718273?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/3585276743835718273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=3585276743835718273&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3585276743835718273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3585276743835718273'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/jms-event-gateway-experiences.html' title='JMS event gateway experiences'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-8115207334049182365</id><published>2007-06-25T15:17:00.000+05:30</published><updated>2007-06-25T15:29:26.492+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>Adobe Team Blogger : Khaliq Ahamed</title><content type='html'>&lt;p&gt;&lt;a href="http://khaliqsperl.blogspot.com"&gt;Khaliq Ahamed&lt;/a&gt;,   a web-operations team member of web team in Adobe, Bangalore has joined the blogging world. As his blog name partly suggests, he will mainly be focusing on Perl, Apache &amp;amp; Solaris.&lt;/p&gt;
&lt;p&gt;He is one of the best resource I have come across in his domain out here. So anyone interested in cool tricks, tips and scripts keep a watch on his blog.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-8115207334049182365?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/8115207334049182365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=8115207334049182365&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8115207334049182365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8115207334049182365'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/adobe-team-blogger-khaliq-ahmed.html' title='Adobe Team Blogger : Khaliq Ahamed'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-4468622828006878814</id><published>2007-06-22T17:24:00.001+05:30</published><updated>2007-06-22T17:26:13.602+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Blogging Tools</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Just got time to try some of the blogging tools available to help me post in my &lt;a href="http://www.blogger.com/"&gt;Blogger&lt;/a&gt; blog. Till date I have been using the Blogger web interface to write my posts. I remember trying  the cool, &lt;a href="http://www.imified.com/"&gt;IMified&lt;/a&gt; instant messenger to configure my blogger account. That time my blog was unverified and  word-verification enabled so I couldn't configure external tools to work with Blogger. &lt;/p&gt;
&lt;p&gt;Now with things getting better and my Blogger account verified(i.e word verification gone) I am trying some of the better tools I can use to post. Till now I have shortlisted the following tools
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1730"&gt;ScribeFire&lt;/a&gt; - Web-based Firefox extension. This post is posted using it.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.imified.com/"&gt;IMified&lt;/a&gt; - Instant Messanger&lt;a href="http://windowslivewriter.spaces.live.com/"&gt;
&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://windowslivewriter.spaces.live.com/"&gt;Windows Live Writer&lt;/a&gt; - Windows Client
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I chose these 3 tools as they are different modes of blogging ie web, IM &amp;amp; client.
&lt;/p&gt;&lt;p&gt;ScribeFire seems to be a simple yet featured pack extension where-in you can specify Technorati tags and even ping various services including &lt;a href="http://www.pingomatic.com/"&gt;Ping-o-Matic&lt;/a&gt;, &lt;a href="http://www.pingoat.com/"&gt;PingoAt&lt;/a&gt; among others. You can save the post as blog drafts or notes and bookmark post to &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;Will talk about IMified and Windows Live Writer once I make posts using them. If you have another tool thats works with Blogger and is worth trying let me know through comments.
&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-4468622828006878814?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/4468622828006878814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=4468622828006878814&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/4468622828006878814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/4468622828006878814'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/blogging-tools.html' title='Blogging Tools'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-2399062367587160028</id><published>2007-06-22T12:14:00.000+05:30</published><updated>2007-06-22T12:26:27.025+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>ColdFusion 8 : Installation Tip</title><content type='html'>&lt;p&gt;Since ColdFusion 8 now supports JDK 1.6, it ships with default &lt;span style="font-weight:bold;"&gt;tools.jar&lt;/span&gt; for 1.6. For any reason, if you are planning to use ColdFusion with an older version of JDK make sure that you replace the tools.jar in &lt;span style="font-style:italic;"&gt;cf_root/WEB-INF/cfusion/lib/&lt;/span&gt; (on J2EE install) with the one you intend to use.&lt;p&gt;
&lt;p&gt;There can be many reasons wherein you are forced to use version older to 1.6 like supporting older libraries. Though it is highly recommended to use JDK 1.6 with ColdFusion 8.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-2399062367587160028?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/2399062367587160028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=2399062367587160028&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2399062367587160028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2399062367587160028'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/coldfusion-8-installation-tip.html' title='ColdFusion 8 : Installation Tip'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-3822805880388433789</id><published>2007-06-21T15:19:00.000+05:30</published><updated>2007-07-01T12:14:33.190+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>ColdFusion 8: CFTHREAD to the rescue</title><content type='html'>&lt;p&gt;The requirement read "&lt;span style="font-style:italic;"&gt;Report messages consumed&lt;/span&gt;". Reading it quickly my mind started feeling about a great opportunity to use the all new CF8 &lt;code&gt;CFTHREAD&lt;/code&gt; tag.&lt;/p&gt;
&lt;p&gt;To make things more clear technically we had to build a component which apart from consuming the messages received from an event gateway had also to  depict graphically the number of messages that were consumed in a interval. To accomplish it I leveraged the new CFTHREAD to accomplish it. Rather than talking more about it I feel showing a bit of code should make things a bit better. So here I go,
&lt;div class="code"&gt;&lt;pre&gt;
&amp;lt;cfthread action="run" name="intervalThread" interval="#variables.interval#" 
                                                          status="#variables.status#"&gt;
 &amp;lt;cfscript&gt;
   sleeptime =  interval * 60* 1000;
   ptime = - sleeptime;
   while(compare(status,"STARTED") eq 0) {
     sleep(sleeptime);
     logMessage("#timeformat(dateadd('l',ptime,now()),'HH:mm:ss')# - 
         #timeformat(now(),'HH:mm:ss')# : #arrayLen(variables.messages)# messages");
     variables.message =[]; //reset message Queue
   }
 &amp;lt;/cfscript&gt;
&amp;lt;/cfthread&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The code above is just the segment of the component that is of importance in the current context. All the variables in the variables scope are component's instance variables. The code above can be termed as the simplest example of using CFTHREAD in which the thread is logging(logMessage()) some details after staying suspended(sleep) for a interval. There are a few things worth a look:
&lt;ul&gt;
&lt;li&gt;I am not using &amp;lt;cfthread action="join"&gt; anywhere in this code because I want this thread to continue forever in its own space.&lt;/li&gt;
&lt;li&gt;I am using an instance variable, variables.messages of a component in thread block while other instance variables have been passed a attribute scope.   I could do so because variables.messages is an array which is synchronized and hence already thread safe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Prior to ColdFusion 8, I would have to make use of CFSCHEDULE tag to do anything similar to this, which I feel would have been not that great a thing. I can somehow perceive that CFTHREAD will be the *most frequently* used new tag I am gonna use :-)&lt;/p&gt;
&lt;h3&gt;CFTHREAD rocks !!!&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-3822805880388433789?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/3822805880388433789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=3822805880388433789&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3822805880388433789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3822805880388433789'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/coldfusion-8-cfthread-to-rescue.html' title='ColdFusion 8: CFTHREAD to the rescue'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-43167024303021196</id><published>2007-06-19T16:53:00.000+05:30</published><updated>2007-06-19T17:14:39.606+05:30</updated><title type='text'>Macromedia ColdFusion MX 6.1 discontinued</title><content type='html'>&lt;p&gt;Macromedia ColdFusion MX 6.1 has reached its end of life. Hence you cannot buy ColdFusion MX 6.1 and it will no longer be supported starting June 14, 2007. ColdFusion MX 6.1 customers are eligible for discounted pricing to upgrade to ColdFusion MX 7.&lt;/p&gt;
&lt;p&gt;More details &lt;a href="http://www.adobe.com/go/kb402091"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-43167024303021196?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/43167024303021196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=43167024303021196&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/43167024303021196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/43167024303021196'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/macromedia-coldfusion-mx-61.html' title='Macromedia ColdFusion MX 6.1 discontinued'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-6735681578653167412</id><published>2007-06-18T22:11:00.000+05:30</published><updated>2007-07-01T12:10:38.557+05:30</updated><title type='text'>Getting ColdFusion taglist using a new CF8 tag</title><content type='html'>&lt;p&gt;Though I already had a look at the complete CF8 tag documentation Andy Jarrett &lt;a href="http://www.andyjarrett.co.uk/alltags/cf8/"&gt;posted&lt;/a&gt; sometime back. I wanted to get the list using something like &lt;a href="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000480.htm"&gt;getFunctionList()&lt;/a&gt;  , that can be used to get the list of in-built functions.&lt;/p&gt;
&lt;p&gt;I began by trying the new &lt;a href="http://www.andyjarrett.co.uk/alltags/cf8/#zip"&gt;CFZIP&lt;/a&gt; tag in ColdFusion 8 and finally arrived at this small script to get the list.&lt;p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfzip action="list" file="&amp;lt;!--- absolute path to cfusion.jar---&gt;" name="taglist"&gt;

&amp;lt;cfquery name="tagClasses" dbtype="query"&gt;
  select [name] from taglist where [directory] like 'coldfusion/tagext%' 
  and [name] like '%Tag.class' 
  and [directory] not in('coldfusion/tagext','coldfusion/tagext/datasource')
&amp;lt;/cfquery&gt;

&amp;lt;cfset allTags=[]&gt;
&amp;lt;cfloop query="tagClasses"&gt;
 &amp;lt;cfset ArrayAppend(allTags,rereplace(name,"^[a-z|/]+(.*)Tag\.class$",'&amp;lt;CF\U\1&gt;'))&gt;
&amp;lt;/cfloop&gt;
&amp;lt;cfdump var="#allTags#"&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="http://www.cfrahul.info/downloads/taglist.cfm"&gt;Try&lt;/a&gt; the script in live action.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:bold;"&gt;NOTE&lt;/span&gt;: This script is for illustrative purpose only and might not guarantee absolutely correct results.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-6735681578653167412?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/6735681578653167412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=6735681578653167412&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6735681578653167412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/6735681578653167412'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/getting-coldfusion-tags-using-cf8-tag.html' title='Getting ColdFusion taglist using a new CF8 tag'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-2730769802863901112</id><published>2007-06-18T12:38:00.000+05:30</published><updated>2007-09-03T22:14:38.051+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>ColdFusion 8 : New Function List</title><content type='html'>&lt;p&gt;For whose who are interested in the list of new functions added in ColdFusion 8 here is the list. There has been an addition of whopping 88 crisp functions to take the total tally of in-built functions to 379.&lt;/p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_f3R6mtiaDLQ/RnYxEMABC6I/AAAAAAAAAhA/jRVxROoz31Y/s1600-h/Cf8_functions.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_f3R6mtiaDLQ/RnYxEMABC6I/AAAAAAAAAhA/jRVxROoz31Y/s400/Cf8_functions.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5077299577917344674" /&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://67.59.153.214/downloads/CF8_New_functions.pdf"&gt;Download&lt;/a&gt; PDF version of the list&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-2730769802863901112?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/2730769802863901112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=2730769802863901112&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2730769802863901112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2730769802863901112'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/coldfusion-8-new-function-list.html' title='ColdFusion 8 : New Function List'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_f3R6mtiaDLQ/RnYxEMABC6I/AAAAAAAAAhA/jRVxROoz31Y/s72-c/Cf8_functions.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-3860814502564513774</id><published>2007-06-15T21:12:00.000+05:30</published><updated>2007-06-19T21:27:38.337+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>ColdFusion 8: CFPROCPARAM update</title><content type='html'>&lt;p&gt;The behavior of '&lt;span style="font-style:italic;"&gt;dbvarname&lt;/span&gt;' attribute of &amp;lt;cfprocparam&gt; tag is changed with ColdFusion 8. The attribute is now *used* on the contrary to ColdFusion 7. The documentation for ColdFusion 7 says
&lt;blockquote&gt;Changed the dbvarname attribute behavior: it is now ignored for all drivers. ColdFusion MX uses JDBC 2.2 and does not support named parameters.&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;Since ColdFusion 8 now supports JDBC 3.0, one can pass arguments to a stored procedure in any order by using dbvarname attribute. In earlier versions of ColdFusion we had to pass the attributes in the same sequential order as they are declared in the underlying stored procedure.&lt;/p&gt;
&lt;p&gt;One thing to take care about is either you specify the dbvarname for all the parameters or none at all (in which case the parameters will be passed sequentially to the stored procedure. We just encountered a few procedures in our old applications,  which were throwing errors as they had mixed usage of dbvarname i.e some parameters had dbvarname and some didn't which will fail in ColdFusion 8.&lt;/p&gt;

&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt; Hemant Khandelwal, ColdFusion Engineering Manager just updated (see comments) that the changes to the dbvarname I talked above have been rolled back for the final release of ColdFusion 8. This means that the behavior of dbvarname will continue to be the same as ColdFusion 7. Thanks Hemant for the update.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-3860814502564513774?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/3860814502564513774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=3860814502564513774&amp;isPopup=true' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3860814502564513774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3860814502564513774'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/06/coldfusion-8-cfprocparam-update_15.html' title='ColdFusion 8: CFPROCPARAM update'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-5021426581555626899</id><published>2007-05-02T14:15:00.000+05:30</published><updated>2007-06-28T16:33:36.175+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion 8'/><title type='text'>Scorpio : Give it the best seat to lay on</title><content type='html'>&lt;p&gt;Many people are already waiting keenly to move to the next *big* release from the ColdFusion stable - ColdFusion 8 a.k.a &lt;i&gt;"Scorpio"&lt;/i&gt;. But there are things one need to plan to before we lay our hands on the much talked about release.&lt;/p&gt;
&lt;p&gt;We have been testing our applications on ColdFusion 8 beta2 for quite some time on some of our development servers. Remember we(&lt;a href="http://www.adobe.com"&gt;www.adobe.com&lt;/a&gt;) have to be the one to sign off the public release of ColdFusion 8 before it reaches you :-). Yesterday on a quick chit-bit session about performance with &lt;a href="http://blogs.sanmathi.org/ashwin/2006/09/14/introducing-rupesh-mad-scientist-kumar-and-hemant-pointy-haired-boss-khandelwal/"&gt;Hemant Khandelwal&lt;/a&gt; (this is the only best link I can get out about him) he recommended us to move on to &lt;a href="http://java.sun.com/javase/6/" target="_new"&gt;Java 1.6&lt;/a&gt;. Yes you all heard it right ColdFusion 8 is compatible with Java 1.6. Thus after moving on to the latest JRE on one of our development server we noticed about 10-20% increase in performance of some of our applications. Also the memory usage came down by about 15%. I agree that running the tests on development servers are very unlike production environment due to very different load rating, we were very happy to see the boost.&lt;/p&gt;
&lt;p&gt;So now coming to the point of this post, just as you wait for CF8 release it would be a good idea to revisit your applications, primarily the 3rd party java API's that you use to find out the compatibility issues, if any. So by the time you have ColdFusion 8 in your hand, you will be all ready to put it on the right JRE version to extract the maximum out of it.&lt;/P&gt;
&lt;p&gt;&lt;b&gt;Updated:&lt;/b&gt; The performance gain is *not* just because of Java 1.6 but there has been some serious performance tuning in the Scorpio code to achieve better performance. I will post some comparative results on the same JDK's soon.  So as mentioned by &lt;a href="http://coldfused.blogspot.com/"&gt;Rupesh&lt;/a&gt; in the comments below there will be improved performance on other JDK's &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-5021426581555626899?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/5021426581555626899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=5021426581555626899&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5021426581555626899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/5021426581555626899'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/05/scorpio-give-it-best-seat-to-lay-on.html' title='Scorpio : Give it the best seat to lay on'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-772652033327343154</id><published>2007-04-25T22:04:00.000+05:30</published><updated>2007-04-25T22:32:48.363+05:30</updated><title type='text'>Bye Bye HomeSite !!!</title><content type='html'>&lt;p&gt;After procrastinating my move to use &lt;a href="http://www.eclipse.org"&gt;Eclipse&lt;/a&gt; I finally decided to give it a serious try now. I have always been a great fan of &lt;a href="http://www.adobe.com/products/homesite/"&gt;HomeSite&lt;/a&gt; merely because of its simplicity and my association with it for so long. I have been using HomeSite and its close cousin CF Studio for over 7 years now. &lt;/p&gt;
&lt;p&gt;I know it will be a tough ask to migrate to a new development environment with CFEclipse on Eclipse IDE. But I understand that to scale the way I code it would be in my best interest to take this step and move to Eclipse. Though I had failures on my previous couple of attempts to move, I hope this time I find myself in a better position. I would really want to know how the people migrated to a different IDE. I am somehow not able to leave the love of my old favorite "&lt;span style="font-style:italic;"&gt;HomeSite&lt;/span&gt;".&lt;/p&gt;
&lt;p&gt;I am beginning my new venture with Eclipse by having 2 basic plugins, I felt are required at this start ie &lt;a href="http://cfeclipse.tigris.org/"&gt;CFEclipse&lt;/a&gt; and &lt;a href="http://sourceforge.net/projects/esftp/"&gt;ESftp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wishing All the Best &amp; Happy Development to myself!!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-772652033327343154?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/772652033327343154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=772652033327343154&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/772652033327343154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/772652033327343154'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/04/bye-bye-homesite.html' title='Bye Bye HomeSite !!!'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-4520389427131451047</id><published>2007-04-17T13:11:00.000+05:30</published><updated>2007-04-17T16:35:52.923+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='certification'/><title type='text'>Preparing for ColdFusion Certification ?</title><content type='html'>&lt;p&gt;&lt;a href="http://cfblog.com/cgriefer/"&gt;Charlie Griefer&lt;/a&gt; had recently started &lt;a href="http://www.cfquestions.com/" target="_blank"&gt;cfquestions.com&lt;/a&gt; which acts a repository of questions contributed by members of ColdFusion certification study group.&lt;/p&gt;
&lt;p&gt;I would suggest anyone preparing for the certification to surely visit the &lt;a href="http://www.cfquestions.com" target_"blank"&gt;site&lt;/a&gt; for a nice set of questions!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-4520389427131451047?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/4520389427131451047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=4520389427131451047&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/4520389427131451047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/4520389427131451047'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/04/preparating-for-coldfusion.html' title='Preparing for ColdFusion Certification ?'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-3460762004955096797</id><published>2007-04-11T14:32:00.000+05:30</published><updated>2007-04-11T16:50:06.549+05:30</updated><title type='text'>Yahoo Pipes : A powerful feed management tool</title><content type='html'>&lt;p&gt;Seems like it's been a couple of months that Yahoo launched "&lt;a href="http://pipes.yahoo.com/pipes/"&gt;Pipes&lt;/a&gt;" but I got to know about this today. This is what Yahoo say about it :&lt;/p&gt;
&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;"Pipes is an interactive feed aggregator and manipulator. Using Pipes, you can create feeds that are more powerful, useful and relevant."&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;In order to experience what Yahoo has to offer I began by creating a quick &lt;span style="font-style: italic;"&gt;pipe&lt;/span&gt; for myself (to create a pipe you need to login to your Yahoo account). I was simply amazed by the power and the interactivity Yahoo has provided by means of drag-and-drop modules that will perform a variety of different actions. There are modules available to prompt the user for input, different operators to count, loop, cut, count, sort and merge data along with a variety of string and date functions.&lt;/p&gt;
&lt;p&gt;The most powerful aspect of the application is its simplicity. You can feed it with any type of feed and filter, sort, truncate, translate etc etc.  Moreover there are a lot of pipes created by various users that you can customize based on your requirement. One such pipe I customized was the &lt;a href="http://pipes.yahoo.com/pipes/pipe.info?_id=fELaGmGz2xGtBTC3qe5lkA"&gt;Aggregated News Alerts&lt;/a&gt; which I customized to get all news related to Adobe. &lt;a href="http://pipes.yahoo.com/pipes/pipe.info?textinput1=adobe&amp;_id=fELaGmGz2xGtBTC3qe5lkA&amp;amp;_run=1"&gt;Try it&lt;/a&gt;. If you dont want to start from scratch and want to build on an already existing pipe, you can clone the pipe and edit it as required.&lt;/p&gt;
&lt;p&gt;Another feature that pipe provides is the result can be obtained in both RSS and as JSON object to be consumed easily.&lt;/p&gt;
&lt;p&gt;The one definitive &lt;span style="font-style: italic;"&gt;pipe&lt;/span&gt; I am working on is a pipe of my blogroll. Opportunities are 'unlimited'&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-3460762004955096797?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/3460762004955096797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=3460762004955096797&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3460762004955096797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/3460762004955096797'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/04/yahoo-pipes-powerful-feed-management.html' title='Yahoo Pipes : A powerful feed management tool'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-2533425085160027599</id><published>2007-03-27T11:46:00.000+05:30</published><updated>2007-09-04T20:06:36.759+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>Adobe announces CS3</title><content type='html'>&lt;p&gt;Today Adobe announced its much talked about CS3 line of products, which will go on sale from next month. This product launch is the most significant launches in 25 years of Adobe's history.&lt;/p&gt;
&lt;p&gt;The CS3 announcement includes:
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;13 stand-alone products (the favorites, plus the all-new &lt;a href="http://www.adobe.com/products/photoshop/photoshopextended/"&gt;Photoshop CS3 Extended&lt;/a&gt; and &lt;a href="http://www.adobe.com/products/soundbooth/"&gt;Soundbooth&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;nine technologies ranging from &lt;a href="http://www.adobe.com/products/creativesuite/devicecentral"&gt;Device Central&lt;/a&gt; and &lt;a href="http://www.adobe.com/products/creativesuite/production/ultra"&gt;Ultra CS3&lt;/a&gt;, to a much faster &lt;a href="http://www.adobe.com/products/creativesuite/bridge/"&gt;Bridge&lt;/a&gt;, and newly integrated &lt;a href="http://www.adobe.com/products/acrobatconnect/"&gt;Acrobat Connect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;five new suites across three workflows&lt;/li&gt;
&lt;li&gt;and, if all that’s too confusing for you, then you can get 12 products in one box with the &lt;a href="http://www.adobe.com/products/creativesuite/mastercollection/"&gt;Creative Suite 3 Master Collection&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Find out all the details of Creative Suite 3 at &lt;a href="http://www.adobe.com/" target="_blank"&gt;www.adobe.com&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-2533425085160027599?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/2533425085160027599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=2533425085160027599&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2533425085160027599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2533425085160027599'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/03/adobe-announces-cs3.html' title='Adobe announces CS3'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-2354291392366173189</id><published>2007-03-14T12:22:00.000+05:30</published><updated>2007-03-15T13:55:19.340+05:30</updated><title type='text'>Writeoutput behavior</title><content type='html'>&lt;p&gt;Just minutes back I was trying a code snippet to understand a post from Ben Nadal about &lt;a href="http://www.bennadel.com/index.cfm?dax=blog:572.view" target="_blank"&gt;function overriding&lt;/a&gt;. I just tried to override the &lt;a href="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000665.htm" target='_blank'&gt;writeoutput()&lt;/a&gt; and it worked as explained in Ben's post.&lt;/p&gt;
&lt;p&gt;In a attempt to try different things I happened to just write the following code to see the result.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfoutput&gt;#writeoutput("Do you like ColdFusion? ")#&amp;lt;/cfoutput&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt; Notice the YES appended at the end after the result.&lt;/p&gt; 
&lt;p&gt;I know all of us are used to using Writeoutput() in &amp;lt;cfscript&gt; but am wondering about this behavior&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-2354291392366173189?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/2354291392366173189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=2354291392366173189&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2354291392366173189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/2354291392366173189'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/03/trying-something-different.html' title='Writeoutput behavior'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-8183197899301332701</id><published>2007-03-06T16:23:00.001+05:30</published><updated>2007-03-06T16:24:48.116+05:30</updated><title type='text'>What is in the box ?</title><content type='html'>&lt;p&gt;Came across a website campaign on the web. Experience it at &lt;a href="http://www.whatisinthebox.co.uk/" target="_blank"&gt;www.whatisinthebox.co.uk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dont forget to watch the video at &lt;a href="http://www.youtube.com/watch?v=dCs2lu7KoOk" target="_blank"&gt;http://www.youtube.com/watch?v=dCs2lu7KoOk&lt;/a&gt;&lt;p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-8183197899301332701?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/8183197899301332701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=8183197899301332701&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8183197899301332701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8183197899301332701'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/03/what-is-in-box.html' title='What is in the box ?'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-8971110449229054121</id><published>2007-01-27T23:40:00.000+05:30</published><updated>2007-01-28T11:48:35.961+05:30</updated><title type='text'>Reported a xmlParse() issue</title><content type='html'>Try the following code snippets
&lt;p&gt;Code snippet  1 :&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfset x="&amp;lt;line&amp;gt;Is 2 &lt;span style="color:red"&gt;&amp;gt;&lt;/span&gt; 4?&amp;lt;/line&amp;gt;"&amp;gt;
&amp;lt;cfoutput&amp;gt;#isXML(x)#&amp;lt;/cfoutput&amp;gt;
&amp;lt;cfdump var="#xmlparse(x)#"&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Code snippet 2 :&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfset x="&amp;lt;line&amp;gt;Is 2 &lt;span style="color:red"&gt;&amp;lt;&lt;/span&gt; 4?&amp;lt;/line&amp;gt;"&amp;gt;
&amp;lt;cfoutput&amp;gt;#isXML(x)#&amp;lt;/cfoutput&amp;gt;
&amp;lt;cfdump var="#xmlparse(x)#"&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Notice the behavior of the following 2 code snippets. For snippet 1 xmlParse() should fail as is the case in snippet 2 as both the xml's are not well formed. To indicate this the isXML() is returning correctly for both the code segments.

&lt;P&gt;The issue has been reported to ColdFusion team &amp; a bug has been raised for the same. People using xmlParse should take into account of this prospective issue before its fixed.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-8971110449229054121?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/8971110449229054121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=8971110449229054121&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8971110449229054121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/8971110449229054121'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/01/reported-xmlparse-issue.html' title='Reported a xmlParse() issue'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-116948531925826483</id><published>2007-01-22T22:18:00.000+05:30</published><updated>2007-01-22T22:45:54.643+05:30</updated><title type='text'>Flex, Ajax debugging</title><content type='html'>&lt;p&gt;I am evaluating various tools that helps debug Flex, Ajax based applications. I am listing a few of them here&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.xk72.com/charles/"&gt;Charles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinlangdon.com/serviceCapture/"&gt;Service Capture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://addons.mozilla.org/firefox/1843/"&gt;Firebug&lt;/a&gt;, A free Firefox extension&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ethereal.com"&gt;Ethereal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Though I use Charles, as Adobe has a site license for it &amp;amp; Firebug, I would like to know what you use for debugging Flex, Ajax based application. It will also help users looking for a tool to debug their applications. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-116948531925826483?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/116948531925826483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=116948531925826483&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116948531925826483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116948531925826483'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/01/flex-ajax-debugging.html' title='Flex, Ajax debugging'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-116928742907742336</id><published>2007-01-20T15:25:00.000+05:30</published><updated>2007-01-20T15:41:28.646+05:30</updated><title type='text'>Livedocs : Rearchitecture</title><content type='html'>&lt;p&gt;A new release of Livedocs was released as a part of this Thursday &lt;a href="http://www.adobe.com"&gt;Adobe.com&lt;/a&gt; release. Though there are no UI changes, a major architecture change was done at the backend. This was done to get some better performance. The new architecture was recommended by our old webteam member, &lt;a href="http://corfield.org/blog/"&gt;Sean Corfield&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please let us know how have been your experience accessing &lt;a href="http://livedocs.macromedia.com"&gt;Livedocs&lt;/a&gt; after 1/18/07. If you encounter any issues please mail me at rnarula[AT]adobe.com&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-116928742907742336?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/116928742907742336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=116928742907742336&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116928742907742336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116928742907742336'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2007/01/livedocs-rearchitecture.html' title='Livedocs : Rearchitecture'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-116408914357287416</id><published>2006-11-21T11:27:00.000+05:30</published><updated>2006-11-21T11:38:10.590+05:30</updated><title type='text'>Understanding Apollo</title><content type='html'>&lt;p&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Apollo"&gt;Apollo&lt;/a&gt; is the code name for a cross-operating system runtime being created by Adobe that will allow developers to leverage existing web technologies, such as Flash, Flex, HTML, JavaScript, Ajax, and PDF to easily create and deploy desktop applications.&lt;/p&gt;
&lt;p&gt;Want to learn more about Apollo, this &lt;a href="http://www.adobe.com/cfusion/event/index.cfm?event=detail&amp;id=648909&amp;loc=en_us"&gt;online seminar&lt;/a&gt; might be useful.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-116408914357287416?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/116408914357287416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=116408914357287416&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116408914357287416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116408914357287416'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/11/understanding-apollo.html' title='Understanding Apollo'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-116408787810989442</id><published>2006-11-21T11:10:00.000+05:30</published><updated>2006-11-21T11:14:39.653+05:30</updated><title type='text'>Adobe Engineer's Blog - Deepak Verma</title><content type='html'>One of my teammate here at Adobe, India, &lt;a href="http://deepu-verma.blogspot.com/"&gt;Deepak Verma&lt;/a&gt; is now into blogging. Titling his blog as &lt;a href="http://deepu-verma.blogspot.com/"&gt;Learning Flex 2.0&lt;/a&gt; I have nothing more to say what he is upto. Go yourself and find out some nice little Flex code &amp; tips.&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-116408787810989442?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/116408787810989442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=116408787810989442&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116408787810989442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116408787810989442'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/11/adobe-engineers-blog-deepak-verma.html' title='Adobe Engineer&apos;s Blog - Deepak Verma'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-116229403951937110</id><published>2006-10-31T16:57:00.000+05:30</published><updated>2006-10-31T16:57:57.336+05:30</updated><title type='text'>Cheat Sheet Round-Up: Ajax, CSS, LaTeX, Ruby...</title><content type='html'>170 Cheat Sheets about Ajax, Apache, Blogging,CSS, CVS, Firefox, Google, HTML/XHTML,JavaScript,Linux, MySQL, LaTeX, Oracle, Perl,PHP, Python, Photoshop Ruby, Unix, Windowx, XML&lt;br/&gt;&lt;br/&gt;&lt;a href="http://www.smashingmagazine.com/2006/10/30/cheat-sheet-round-up-ajax-css-latex-ruby/"&gt;read more&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://digg.com/programming/Cheat_Sheet_Round_Up_Ajax_CSS_LaTeX_Ruby"&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-116229403951937110?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/116229403951937110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=116229403951937110&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116229403951937110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116229403951937110'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/10/cheat-sheet-round-up-ajax-css-latex.html' title='Cheat Sheet Round-Up: Ajax, CSS, LaTeX, Ruby...'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-116227439023144060</id><published>2006-10-31T11:19:00.000+05:30</published><updated>2006-10-31T11:37:02.933+05:30</updated><title type='text'>FLEXifier - Flex Simplifier</title><content type='html'>&lt;p&gt;Still not convinced about Flex?? Having trouble to install &amp; try Flex ?? &lt;a href="http://www.forta.com/blog/index.cfm"&gt;Ben Forta&lt;/a&gt; of &lt;span style="font-style:italic;"&gt;"&lt;a href="http://www.flickr.com/search/?s=int&amp;q=%22scorpio+man%22&amp;m=text"&gt;Scorpio Man&lt;/a&gt;"&lt;/span&gt; fame with help of few others have come up with &lt;a href="http://try.flex.org"&gt;FLEXifier&lt;/a&gt; a great site to try and experience the power of Flex without actually going through the nitty gritty  installation process. Just write your MXML or ActionScript code in there and voila comes the result.&lt;/p&gt; 
&lt;p&gt;The site have some simple examples of common controls, containers that can also be tried.&lt;/p&gt;
&lt;p&gt;Above all the site is really fast thanks to the Java API interface to the compiler. &lt;a href="http://www.forta.com/blog/index.cfm/2006/10/29/flexifier"&gt;Read more&lt;/a&gt; about how FLEXifier was created.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-116227439023144060?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/116227439023144060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=116227439023144060&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116227439023144060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116227439023144060'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/10/flexifier-flex-simplifier.html' title='FLEXifier - Flex Simplifier'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-116223192887514821</id><published>2006-10-30T23:32:00.000+05:30</published><updated>2006-10-30T23:42:09.566+05:30</updated><title type='text'>Gift from Adobe</title><content type='html'>&lt;p&gt;Having returned back from a long vacation fetched me rewards at Adobe. All Adobe employees received (or will receive) a personal licensed copy of &lt;a href="http://www.adobe.com/products/psprelements/index.html"&gt;bundled edition&lt;/a&gt; of &lt;a href="http://www.adobe.com/products/premiereel/"&gt;Adobe Premiere Elements 3.0&lt;/a&gt; and &lt;a href="http://www.adobe.com/products/photoshopelwin/"&gt;Adobe Photoshop Elements 5.0&lt;/a&gt;.&lt;p/&gt;
&lt;p&gt;This is perfect time to get such software as gift as I have a huge collection of my vacation pictures and video's to play with :-)&lt;p&gt;
&lt;p&gt;Though we already use NFR version of all Adobe products, but having a personal licensed copy is even better.&lt;/p&gt;&lt;p&gt;Thank you Adobe.&lt;p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-116223192887514821?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/116223192887514821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=116223192887514821&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116223192887514821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/116223192887514821'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/10/gift-from-adobe.html' title='Gift from Adobe'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115944698719393165</id><published>2006-09-28T18:03:00.000+05:30</published><updated>2006-09-28T18:06:27.606+05:30</updated><title type='text'>Google Cheat Sheet</title><content type='html'>&lt;p&gt;Google Cheat Sheet lists all &lt;a href="http://www.google.com/options/"&gt;Google services and tools&lt;/a&gt; as well as background information. I bet you didn't know Google that well before this.&lt;/p&gt;
&lt;p&gt;Download it &lt;a href="http://www.adelaider.com/google/"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115944698719393165?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115944698719393165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115944698719393165&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115944698719393165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115944698719393165'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/google-cheat-sheet.html' title='Google Cheat Sheet'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115904192473166822</id><published>2006-09-26T13:33:00.000+05:30</published><updated>2006-09-26T17:20:43.040+05:30</updated><title type='text'>Adobe Support Program Update</title><content type='html'>&lt;p&gt;On Monday, September 25, Worldwide Customer Care launched a completely new support programs, spanning all Adobe products. This launch is a key milestone in the effort to combine Adobe and Macromedia programs, systems and processes to provide a better support experience for all customers. &lt;/p&gt;
&lt;p&gt;The four new comprehensive plans-- Bronze, Silver, Gold and Platinum-- are the result of streamlining over twelve legacy plans and will simplify the support selection process for new customers. For those customers who are on an existing support plan, or one that will be discontinued, a variety of sales tools have been created to assist you transition your customers to the appropriate new plan. &lt;/p&gt;
&lt;p&gt;For US customers the support portal is available &lt;a href="https://www.adobe.com/cfusion/support/index.cfm?event=portal&amp;loc=en_us"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115904192473166822?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115904192473166822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115904192473166822&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115904192473166822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115904192473166822'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/adobe-support-program-update.html' title='Adobe Support Program Update'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115904292407667195</id><published>2006-09-24T01:35:00.000+05:30</published><updated>2006-09-24T01:52:04.923+05:30</updated><title type='text'>Adobe Support</title><content type='html'>&lt;p&gt;During the weekend if you are trying to reach Adobe Support you will be redirected to a curtain page which will inform you about its unavailability due to maintenance&lt;/p&gt;
&lt;p&gt;The current support program is undergoing a major upgrade to bring both Adobe and Macromedia products under the same roof. The new support should be back starting Monday, 25th September&lt;p&gt;
&lt;p&gt;More updates to follow&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115904292407667195?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115904292407667195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115904292407667195&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115904292407667195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115904292407667195'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/adobe-support.html' title='Adobe Support'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115848284808781550</id><published>2006-09-17T14:17:00.000+05:30</published><updated>2006-09-17T14:19:33.036+05:30</updated><title type='text'>SlickRun-A Free Floating Command Line Utility for Windows</title><content type='html'>Enter a web URL into SlickRun and it will launch your browser and navigate to the specified address. Run multiple programs in a few keystrokes, jot a note, look up a definition... SlickRun is the most natural way to interact with your computer.&lt;br/&gt;&lt;br/&gt;&lt;a href="http://www.bayden.com/SlickRun/"&gt;read more&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://digg.com/software/SlickRun_A_Free_Floating_Command_Line_Utility_for_Windows_170KB"&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115848284808781550?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115848284808781550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115848284808781550&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115848284808781550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115848284808781550'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/slickrun-free-floating-command-line.html' title='SlickRun-A Free Floating Command Line Utility for Windows'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115833367235170106</id><published>2006-09-15T20:48:00.000+05:30</published><updated>2006-09-15T20:58:23.296+05:30</updated><title type='text'>JRun Threadpool settings</title><content type='html'>&lt;p&gt;&lt;a href="http://coldfused.blogspot.com/"&gt;Rupesh Kumar&lt;/a&gt; of ColdFusion Engineering team has a nice &lt;a href="http://coldfused.blogspot.com/2006/09/jrun-threadpool-settings.html"&gt;article&lt;/a&gt; explaining the JVM threads and its use for a CFMX server.&lt;/p&gt;
&lt;p&gt;Worth a read for all CFMX administrator's who always tend to play with thread settings.&lt;/p&gt;
&lt;p&gt;Don't miss his session on &lt;a href="http://www.adobe.com/events/max/sessions/wd305w.html"&gt;ColdFusion.NET Integration&lt;/a&gt; at &lt;a href="http://www.adobe.com/events/max/"&gt;MAX 2006&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115833367235170106?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115833367235170106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115833367235170106&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115833367235170106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115833367235170106'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/jrun-threadpool-settings.html' title='JRun Threadpool settings'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115832748157939398</id><published>2006-09-15T18:29:00.000+05:30</published><updated>2006-09-15T19:11:09.703+05:30</updated><title type='text'>Another handy debug script</title><content type='html'>&lt;p&gt;How often while working for a bigger project or big component or even a complex script you need to create a separate cnb.cfm (my representation on crash n burn script) to test a particular functionality before you can integrate it into the piece you had been working. I generally need such cnb scripts to get my regular expressions right and many other similar modular tasks.&lt;p&gt;  
&lt;p&gt;Recently one of my friend, Abhijit Dey has created a very simple script to get over this specific issue and to avoid creating n versions of cnb scripts in a test/local_data/cnb directory which has all those scripts you had written to get a specific task done. This verion of script runs from a browser window where in you just need to put the piece of code in it &amp; hit Execute.&lt;p&gt;
&lt;p&gt; I specifically liked it as it made testing modular code very simple without the need to create a separate script and pushing it on the server enviornment(many people work locally &amp; test remotally)&lt;p&gt;
&lt;p&gt;Here is the code you can place on the server(ONLY development) in any local_data/test folder in your wwwroot.&lt;p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfif structKeyExists(form, "code_snippet") AND len(form.code_snippet)&amp;gt;
 &amp;lt;cfset file_name = "temp/run_#now().getTime()#_#randRange(1,100)#.cfm" /&amp;gt;
 &amp;lt;cfset file_path = "#expandPath("./")##file_name#"&amp;gt;
 &amp;lt;cffile action="write" file="#file_path#" output="#form.code_snippet#" charset="utf-8" /&amp;gt;
 &amp;lt;cfoutput&amp;gt;&amp;lt;h1&amp;gt;executing script: #file_name#&amp;lt;/h1&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/cfoutput&amp;gt;
 &amp;lt;cftry&amp;gt;
  &amp;lt;cfif structKeyExists(form, "include_master") AND form.include_master EQ 'Y'&amp;gt;
   &amp;lt;cfinclude template="/Application.cfm" /&amp;gt;
  &amp;lt;/cfif&amp;gt;
  &amp;lt;cfinclude template="#file_name#"&amp;gt;
  &amp;lt;cffile action="delete" file="#file_path#"/&amp;gt; 
  &amp;lt;cfcatch type="any"&amp;gt;
   &amp;lt;cffile action="delete" file="#file_path#"/&amp;gt;
   &amp;lt;cfrethrow /&amp;gt;
  &amp;lt;/cfcatch&amp;gt;
 &amp;lt;/cftry&amp;gt;  
&amp;lt;/cfif&amp;gt;

&amp;lt;cfparam name="form.code_snippet" default=""&amp;gt;
&amp;lt;cfoutput&amp;gt;
&amp;lt;form action="#cgi.script_name#?#cgi.query_string#" method="post"&amp;gt;
&amp;lt;p align="justify"&amp;gt;
Paste your CFM code here: 
&amp;lt;br&amp;gt;&amp;lt;textarea name="code_snippet" cols="125" rows="25"&amp;gt;#HTMLEditFormat(form.code_snippet)#&amp;lt;/textarea&amp;gt; 
&amp;lt;br /&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p align="left"&amp;gt;Include master application.cfm? &amp;lt;input type="checkbox" name="include_master" value="Y" checked&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p align="center"&amp;gt;&amp;lt;input type="submit" value="Submit" name="submit" /&amp;gt;
&amp;lt;/form&amp;gt;
&amp;lt;/cfoutput&amp;gt; 
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;CAUTION:&lt;/b&gt; A word of caution for use of such scripts is that it should be  used ONLY on development enviornments. Should be used with care.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115832748157939398?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115832748157939398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115832748157939398&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115832748157939398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115832748157939398'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/another-handy-debug-script.html' title='Another handy debug script'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115826046113546541</id><published>2006-09-15T00:30:00.000+05:30</published><updated>2007-09-03T21:31:34.480+05:30</updated><title type='text'>Localized DateTime</title><content type='html'>&lt;p&gt;I wanted to have my date displayed in the timezone of the user and also formatted as per the user locale. To my surprise I couldnt find any function in ColdFusion that can do this for me.&lt;/p&gt;
&lt;p&gt;I even confirmed the same from ColdFusion engineering team about the same but the result was unaffirmative. There is no direct way to accomplish this. The only thing that we can do is to format a datetime in the user specific locale using setLocale &amp; LS type functions, but timezone conversion wont be done. Only the default timezone(timezone of the JVM) will be assumed and will be formatted as per the setLocale argument&lt;/p&gt;
&lt;p&gt;I wrote a simple component to accomplish this. You might see the &lt;a href="http://www.cfrahul.info/test/tz.cfm"&gt;demo&lt;/a&gt; to see how things will look.&lt;/p&gt;
&lt;p&gt;You can also &lt;a href="http://67.59.153.214/downloads/DateTimeFormatter.zip"&gt;download&lt;/a&gt; the component with the sample.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115826046113546541?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115826046113546541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115826046113546541&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115826046113546541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115826046113546541'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/localized-datetime.html' title='Localized DateTime'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115817168141377560</id><published>2006-09-13T23:50:00.000+05:30</published><updated>2007-06-28T17:25:41.059+05:30</updated><title type='text'>Windows or Notepad error??</title><content type='html'>This is really very amazing.&lt;br&gt;
Step 1: Open Notepad&lt;br&gt;
Step 2: Write following line in the notepad.&lt;br&gt;
&lt;br&gt;
&lt;span style="font-style: italic;"&gt;this app can break&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
Step 3: Save this file as 1.txt&lt;br&gt;
Step 4: Close the notepad.&lt;br&gt;
Step 5: Open the file again.&lt;br&gt;
&lt;br&gt;
What did you see..??&lt;br&gt;
&lt;br&gt;
Can anyone explain me the reason behind this.&lt;br&gt;
&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Update&lt;/span&gt; : &lt;a href="http://blogs.msdn.com/oldnewthing/archive/2004/03/24/95235.aspx"&gt;Here&lt;/a&gt; you can find the complete detail of why the issue happens&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115817168141377560?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115817168141377560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115817168141377560&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115817168141377560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115817168141377560'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/windows-or-notepad-error.html' title='Windows or Notepad error??'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115789707326474666</id><published>2006-09-10T19:27:00.000+05:30</published><updated>2006-09-10T19:39:08.980+05:30</updated><title type='text'>Michael Schumacher bids adieu</title><content type='html'>&lt;p&gt;On a day when Michael Schumacher won the home grand prix (Ferrari home) and is as close as winning the Drivers championship for 2006, he had announced his retirement from Formula One at Monza, Italy. He will retire after the end of the current season.&lt;/p&gt;
&lt;p&gt;He is now just 2 points shy of Fernando Alonso who still leads the drivers championship. Ironically, Fernando Alonso was unable to score a point from today's race.With only 3 races to go the battle can't get closer than this.&lt;/p&gt;
&lt;p&gt;Wishing Michael all the best for his future and a salute to a wonderful sportsman.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115789707326474666?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115789707326474666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115789707326474666&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115789707326474666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115789707326474666'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/michael-schumacher-bids-adieu.html' title='Michael Schumacher bids adieu'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115771702617580750</id><published>2006-09-08T17:30:00.000+05:30</published><updated>2006-09-08T18:43:27.473+05:30</updated><title type='text'>Adobe.com Exchanges</title><content type='html'>With the last day's release for &lt;a href="http://www.adobe.com"&gt;Adobe.com&lt;/a&gt; all the Adobe product exchanges were migrated from the old platform and are available under one page. So now users can go to exchange of products Photoshop, Illustrator to Flash, Dreamweaver, ColdFusion etc from &lt;a href="http://www.adobe.com/exchange/"&gt;Adobe Exchanges&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115771702617580750?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115771702617580750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115771702617580750&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115771702617580750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115771702617580750'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/adobecom-exchanges.html' title='Adobe.com Exchanges'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115764582113290862</id><published>2006-09-07T21:45:00.000+05:30</published><updated>2007-09-03T21:29:42.528+05:30</updated><title type='text'>Coldfusion query to objects transformation</title><content type='html'>&lt;p&gt;In one of my &lt;a href="http://rahulnarula.blogspot.com/2006/08/java-objectsbeans-to-coldfusion-query.html" title="earlier post"&gt;earlier post&lt;/a&gt; I talked about how to convert an array of&amp;nbsp; java objects(beans) to a coldfusion query. Taking this further somewhat further I am today gonna talk about a simple assembler which converts a coldfusion query to an array of objects back. This array of objects are primarily used as transfer objects(TO) to integrate with remoting technologies like Flex. Though I must admit that flex would have seemlessly consumed the java array of objects we converted by using the &lt;a href="http://67.59.153.214/downloads/demo.zip" title="marshaller"&gt;marshaller&lt;/a&gt; I posted earlier, but just to keep coldfusion in perspective I referred my earlier post. Both the utilities marshaller.cfc and assembler.cfc are used by different projects for us.&lt;/p&gt; &lt;p&gt;The simple assembler that I am talking of is being used in one of the projects I did some time back in which a ColdFusion object needed to exchange data with Flex, I came up with a assembler which will make data ready for Flex application, which uses &lt;b&gt;&lt;a class="l" href="http://labs.adobe.com/wiki/index.php/Cairngorm"&gt;Cairngorm Framework&lt;/a&gt;,&lt;/b&gt; to easily consume.&lt;/p&gt; &lt;p&gt;Here is the &lt;a href="http://67.59.153.214/downloads/assembler.cfm" title="sample"&gt;working example&lt;/a&gt;. Download the assembler with the working example &lt;a href="http://67.59.153.214/downloads/assembler.zip" title="here"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115764582113290862?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115764582113290862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115764582113290862&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115764582113290862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115764582113290862'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/coldfusion-query-to-objects.html' title='Coldfusion query to objects transformation'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115761422253446785</id><published>2006-09-07T12:51:00.000+05:30</published><updated>2006-09-07T13:04:25.866+05:30</updated><title type='text'>Green Adobe</title><content type='html'>I have just received an article link from one of my &lt;a href="http://www.adobe.com"&gt;Adobe&lt;/a&gt; mate. &lt;a href="http://photoshopnews.com/feature-stories/a-visit-to-adobe/"&gt;Adobe office in San Jose&lt;/a&gt; has won the accolades of &lt;a href="http://money.cnn.com/magazines/business2/business2_archive/2006/09/01/8384321/index.htm"&gt;The greenest office in America&lt;/a&gt; from the &lt;a href="http://money.cnn.com/magazines/business2/"&gt;Business 2.0 Magazine&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115761422253446785?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115761422253446785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115761422253446785&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115761422253446785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115761422253446785'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/green-adobe.html' title='Green Adobe'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115752408209243401</id><published>2006-09-06T11:53:00.000+05:30</published><updated>2006-09-06T12:16:58.646+05:30</updated><title type='text'>Confused about Flex Server and FDS?</title><content type='html'>&lt;p&gt;Confused about the use of Flex Server and  Flex Data Services(FDS)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What is Adobe Flex Data Services? &lt;/li&gt;
&lt;li&gt;What exactly does Flex Data Services allow you to do that you wouldn't be able to do without it? &lt;/li&gt;
&lt;li&gt;How it affects ColdFusion developers?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To find answers to these, check out this &lt;a href="http://www.adobe.com/devnet/coldfusion/articles/fr_fds.html"&gt;article&lt;/a&gt; by &lt;a href="http://forta.com/blog"&gt;Ben Forta&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115752408209243401?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115752408209243401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115752408209243401&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115752408209243401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115752408209243401'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/confused-about-flex-server-and-fds.html' title='Confused about Flex Server and FDS?'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115752364651335612</id><published>2006-09-06T11:47:00.000+05:30</published><updated>2006-09-06T11:51:05.800+05:30</updated><title type='text'>Coldfusion LiveCycle Integration</title><content type='html'>&lt;p&gt;&lt;a href="http://blogs.adobe.com/mtg/"&gt;Marcel Boucher&lt;/a&gt; has posted this &lt;a href="http://blogs.adobe.com/mtg/2006/09/coldfusion_and_livecycle_forms.html"&gt;sample&lt;/a&gt; application to demonstrate Coldfusion intergration with LiveCycle&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115752364651335612?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115752364651335612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115752364651335612&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115752364651335612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115752364651335612'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/coldfusion-livecycle-integration.html' title='Coldfusion LiveCycle Integration'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115740313343879930</id><published>2006-09-05T02:09:00.000+05:30</published><updated>2007-03-27T22:01:10.704+05:30</updated><title type='text'>Building multi-step forms</title><content type='html'>&lt;p&gt;We at most of the times are required to build multi-step forms, involving passing on the form data from 1 page to the other.&lt;p&gt;
&lt;p&gt;I generally use this small UDF to include the form elements from the previous page. It also has the argument which can be used to exclude certain fields to be omitted. All the form fields except the special "fieldnames" and the one's in the exclude list will be passed as hidden fields to the next page.

Here is the UDF code 
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cffunction name="createHiddenFields" output="no" returntype="string"&amp;gt;
  &amp;lt;cfargument name="excludeFields" type="string" default=""/&amp;gt;
  
 &amp;lt;cfscript&amp;gt;
  var formFieldsList ="";
  var formFieldArray= ArrayNew(1);
  var formHTML="";
  var element=0;
  var exclude = listappend(arguments.excludeFields,"formfields");
  
  if(structKeyExists(form,"fieldnames")) {
   formFieldsList = form.fieldnames;
  }
  formFieldArray = listtoArray(formFieldsList);
 
 &amp;lt;/cfscript&amp;gt;

 &amp;lt;cfsavecontent variable="formHTML"&amp;gt;
   &amp;lt;cfoutput&amp;gt;
 &amp;lt;cfloop from ="1" to="#ArrayLen(formFieldArray)#" index="element"&amp;gt;
   &amp;lt;cfif listfindnocase(exclude,formFieldArray[element]) eq 0&amp;gt;
     &amp;lt;input type="hidden" name="#lcase(formFieldArray[element])#"  value="#htmleditformat(form[formFieldArray[element]])#"&amp;gt;
  &amp;lt;/cfif&amp;gt; 
   &amp;lt;/cfloop&amp;gt;
 &amp;lt;/cfoutput&amp;gt;
 &amp;lt;/cfsavecontent&amp;gt; 
 
  &amp;lt;cfreturn formHTML /&amp;gt;
&amp;lt;/cffunction&amp;gt; 
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;To use the UDF just call this udf anywhere within the &amp;lt;form&amp;gt;...&amp;lt;/form&amp;gt; in your page&lt;/p&gt;
&lt;p&gt;You might also find similar functionality implemented as a custom tag on &lt;b&gt;&lt;a href="
http://blog.pengoworks.com/blogger/index.cfm?action=blog:556" target="_blank"&gt;dans.blog&lt;/a&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115740313343879930?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115740313343879930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115740313343879930&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115740313343879930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115740313343879930'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/multi-step-forms.html' title='Building multi-step forms'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115705083954403136</id><published>2006-09-01T00:26:00.001+05:30</published><updated>2006-09-01T00:30:39.546+05:30</updated><title type='text'>Firefox 2 beta 2 available</title><content type='html'>&lt;p&gt;Firefox 2 beta 2 is out and is available for download &lt;a href="http://www.mozilla.org/projects/bonecho/releases/2.0b2.html#download" target="_blank"&gt;here&lt;/a&gt;
&lt;p&gt;Though everywhere in the site is says beta 2 the actual download happens for beta 1&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115705083954403136?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115705083954403136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115705083954403136&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115705083954403136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115705083954403136'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/09/firefox-2-beta-2-available_01.html' title='Firefox 2 beta 2 available'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115700098195799029</id><published>2006-08-31T10:39:00.000+05:30</published><updated>2006-08-31T10:39:41.966+05:30</updated><title type='text'>Ben Forta in India</title><content type='html'>&lt;p&gt;&lt;a href="http://forta.com"&gt;Ben Forta&lt;/a&gt; will be visiting the Adobe office in Bangalore, India for the first time since the office was setup in 2004 during Macromedia days. He will be in Bangalore for most of the next week.&lt;/p&gt;
&lt;p&gt;It will be a great occassion for both the coldfusion server and the web team in Bangalore when we will get the opportunity to meet him and talk about his old baby maturing ;-)&lt;/p&gt;
&lt;p&gt;Ben we are looking forward to your visit.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115700098195799029?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115700098195799029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115700098195799029&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115700098195799029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115700098195799029'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/08/ben-forta-in-india.html' title='Ben Forta in India'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115694312114081527</id><published>2006-08-30T18:23:00.000+05:30</published><updated>2006-08-31T10:44:08.033+05:30</updated><title type='text'>I am popular already</title><content type='html'>&lt;p&gt;Within days of I letting &lt;a href="http://www.forta.com/blog" target="_blank"&gt;Ben Forta&lt;/a&gt; know about me entering the blogging world, I have seen many people visiting my blog and certain others giving a mention about  it in their blogs or articles. I randomly found one such article &lt;b&gt;&lt;a href="http://www.webpronews.com/expertarticles/expertarticles/wpn-62-20060829ColdFusionGoesToTheBlogs.html" target="_blank"&gt;ColdFusion Goes To The Blogs&lt;/a&gt;&lt;/b&gt; on &lt;a href="http://www.webpronews.com" target="_blank"&gt;Webpronew.com&lt;/a&gt; today.&lt;/p&gt;
&lt;p&gt;I would like to thank Ben and &lt;a href="http://ray.camdenfamily.com" target="_blank"&gt;Ray Camden&lt;/a&gt; to help me getting my feet on the blogging world.&lt;/p&gt;
&lt;p&gt;Ray has been kind enough to get me a new CF based host &lt;a href="http://www.hosting.com" target="_blank"&gt;Hosting.com&lt;/a&gt; and my new blog is available at &lt;a href="http://www.cfrahul.info"&gt;cfrahul.info&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I will try to live upto people expectation and will share the best practices &amp;amp; other technologies we do with at &lt;a href="http://www.adobe.com"&gt;Adobe&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115694312114081527?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115694312114081527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115694312114081527&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115694312114081527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115694312114081527'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/08/i-am-popular-already.html' title='I am popular already'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115658484435806139</id><published>2006-08-26T15:03:00.002+05:30</published><updated>2008-04-29T11:57:03.468+05:30</updated><title type='text'>Firefox Tip</title><content type='html'>&lt;p&gt;All must be using be the keyword search in firefox as its quite handy to create shortcut like g &lt;term&gt; to search anything on google or quote ADBE to look for stock price of Adobe on Yahoo finance.
But there might be times when you would like to perform keyword search involving more than 2 parameters, something of type forum &lt;env&gt; &lt;forumid&gt;.
I took this example because this was the first 2 parameters quich search I created for myself.&lt;/forumid&gt;&lt;/env&gt;&lt;/term&gt;&lt;/p&gt;
&lt;p&gt;We have enviroments like dev, qa, stage and finally prod and are required to access applications on various environments. So I found the following
small snippet which helped me do exactly what I wanted. I just made the bookmark in firefox with the following code and keyworded it as &lt;b&gt;forum&lt;/b&gt;&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
Javascript:var%C2%A0s='%s';url='http://%s.adobe.com/cfusion/webforums/forum/index.cfm?forumid=%s';t='';qc=0;chunks=url.split('%s');for(i=0;i&amp;lt;s.length;i++){if(s.charAt(i)=='%22')qc=qc^1;t+=((s.charAt(i)==' '&amp;amp;&amp;amp;qc)?'^':s.charAt(i));}args=t.split(/\s/);nurl='';for(i=0;i&amp;lt;chunks.length;i++){nurl+=chunks[i];if(args[i]!=undefined)%C2%A0{args[i]=args[i].replace(/\^/g,' ');nurl+=args[i];}}location.replace(nurl,'&amp;lt;BRgt;');
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Now I went to my browser and tried the following&lt;/p&gt;
&lt;div class="code"&gt;
forum www 2&lt;br&gt;
forum anotherhost 12

&lt;/div&gt;
&lt;p&gt;Just change the url portion of the above code to whatever url shortcut you might want.
For clarity sake below is url portion you need to change with your required url&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;div class="code"&gt;
&lt;pre&gt;
url='http://%s.adobe.com/cfusion/webforums/forum/index.cfm?forumid=%s'
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;As you can notice there are 2 %s in there. Each will be replaced by corresponding value. You can put more than 2 %s and give more parameter from the location bar.&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;Hope this helps for those who weren't aware of it&lt;/p&gt;
&lt;p&gt;These days I have become a fan of &lt;a href="http://www.flock.com/"&gt;Flock&lt;/a&gt;. It has almost all the features of Firefox + some more like photo sharings, better RSS reader etc, as its also based on the open source Mozilla code. The support of keyword searches is still limited (and not currently exposed as Firefox)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115658484435806139?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115658484435806139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115658484435806139&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115658484435806139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115658484435806139'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/08/firefox-tip.html' title='Firefox Tip'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115649262715052287</id><published>2006-08-25T13:00:00.001+05:30</published><updated>2011-04-18T15:57:15.808+05:30</updated><title type='text'>Java objects[beans] to Coldfusion query</title><content type='html'>&lt;p&gt;In one of our recent projects we were required to interface coldfusion with SAP. The SAP adapter uses a standard java API. We created a wrapper over the adpater to interface between coldfusion and the adpater.&lt;/p&gt;
&lt;p&gt;We had to keep the calls to the wrapper as minimum as possible. Hence we decided on an approach which would enable most of the data to persist at CF layer. We started by allowing the wrapper calls to return Collection of objects(beans basically) which could be consumed at the CF layer.&lt;/p&gt;
&lt;p&gt;The CF layer was required to consume those objects and perform other operations like paging,sorting etc for them.&lt;/p&gt;
&lt;p&gt;We built a marshaller.cfc which takes on the java objects collection and converts them into a query in coldfusion. The query could be then cached at the coldfusion layer to avoid further calls to adapter thus preventing network load on SAP system
All operations from the frontend UI are now performed against the query which gives a big performance boost.&lt;/p&gt;
&lt;p&gt;The QoQ enables to do all the basic paging, sorting. Thus the gain was two fold.
I have created a small sample which will help you understand the concept better.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.fileden.com/files/2010/4/19/2832842//demo.zip"&gt;Download&lt;/a&gt; marshaller.cfc and the sample application&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115649262715052287?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115649262715052287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115649262715052287&amp;isPopup=true' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115649262715052287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115649262715052287'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/08/java-objectsbeans-to-coldfusion-query.html' title='Java objects[beans] to Coldfusion query'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115637254580657527</id><published>2006-08-24T03:44:00.001+05:30</published><updated>2006-08-26T02:48:07.890+05:30</updated><title type='text'>Orkutting Times</title><content type='html'>&lt;p&gt;These days inspite of daily work syndrome another thing is keeping me busy.&lt;/p&gt;

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Orkutting&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Yes that's the buzzword these days. I have been trying to enhance my community by connecting to all my old long lost friends &amp; even trying to connect to different communities. The communities ranges from &lt;a href="http://www.orkut.com/Community.aspx?cmm=3108378"&gt;Rocket Scientist&lt;/a&gt; to &lt;a href="http://www.orkut.com/Community.aspx?cmm=2278366"&gt;My NamE StartS WitH an "R"&lt;/a&gt;. Its really fun part of some very interesting group of people. One can quickly scribble a few words in your friends scrapbook instead of vapid emailing.&lt;/p&gt;

&lt;p&gt;I have found this online community much interesting than a few others maybe because its affiliated to &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To join or find out more about orkut visit &lt;a href="http://www.orkut.com"&gt;http://www.orkut.com&lt;/a&gt; and  if you havent been Orkutting all this while i would suggest to give it a try. Who know who you may bump into !&lt;/p&gt;
&lt;p&gt;Search &lt;a href="http://www.orkut.com/CommunitySearch.aspx?q=coldfusion"&gt;Coldfusion communities&lt;/a&gt; &lt;p&gt; 

&lt;p&gt;Happy Orkutting&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115637254580657527?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115637254580657527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115637254580657527&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115637254580657527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115637254580657527'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/08/orkutting-times_24.html' title='Orkutting Times'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115636365287048940</id><published>2006-08-24T01:32:00.001+05:30</published><updated>2010-04-19T15:05:02.884+05:30</updated><title type='text'>Regex Treat</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Here is a simple script using regex that can be used for some good bit of string manipulation in CF. &lt;/p&gt;
&lt;p&gt;Usage include parsing and getting all the hyperlinks from a web page as shown in the example below&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfscript&amp;gt;
text ="&amp;lt;!-- YOUR HTML TEXT HERE---&amp;gt;"; //can come from any source like file read, cfhttp or any other
tag="a"; //the tag you want to manipulate
/*********You dont require to change below this *********/
tagArray=arrayNew(1);
fulltagArray=arrayNew(1);
RegEx ="&amp;lt;\s?#tag#\b[^&amp;gt;]*&amp;gt;(.*?)&amp;lt;/\s?#tag#\s?&amp;gt;";
result =ReFindNoCase(RegEx,text,0,true);
while (result.pos[1] gt 0) {
arrayAppend(fulltagArray,mid(text,result.pos[1],result.len[1]));
arrayAppend(tagArray,mid(text,result.pos[2],result.len[2]));
result =ReFindNoCase(RegEx,text,result.pos[1]+result.len[1],true);
}
tagStripped =reReplace(text,RegEx,"\1","All");
&amp;lt;/cfscript&amp;gt;
&amp;lt;cfdump var="#fulltagArray#" label="Full tag"&amp;gt;
&amp;lt;cfdump var="#tagArray#" label="Text within the tag"&amp;gt;
&amp;lt;cfoutput&amp;gt;
&amp;lt;p&amp;gt;Orginal text&amp;lt;/p&amp;gt;
#text#
&amp;lt;p&amp;gt;Tag stripped version &amp;lt;/p&amp;gt;
#tagStripped#
&amp;lt;/cfoutput&amp;gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The fulltagArray will give you all your tags with text.
The tagArray will give you only the data within the tags  without the tag.
The tagStripped variable has the text will all the tags stripped of the text.
&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115636365287048940?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115636365287048940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115636365287048940&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115636365287048940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115636365287048940'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/08/regex-treat.html' title='Regex Treat'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115445445441665352</id><published>2006-08-01T22:37:00.000+05:30</published><updated>2006-08-25T23:45:33.846+05:30</updated><title type='text'>A useful debug script</title><content type='html'>&lt;p&gt;We always feel to have more &amp; more debugging powers from our coldfusion server. The cf server development team here at Adobe are working to provide better and better options for debugging&lt;/p&gt;

&lt;p&gt;In the meantime , here is a simple script(modelled from a similar script used by the web team in Adobe) that can be used to perform some of the common and frequently used tasks including some debugging&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;
&amp;lt;cfparam name="url.mach2" default="" /&amp;gt;
&amp;lt;cfparam name="url.dump" default="" /&amp;gt;
&amp;lt;cfparam name="url.expand" default="false" /&amp;gt;

&amp;lt;cfif len(url.mach2)&amp;gt;
&amp;lt;cfif structkeyExists(application, url.mach2)&amp;gt;
&amp;lt;cfset logit("Locking &amp;lt;strong&amp;gt;#url.mach2#&amp;lt;/strong&amp;gt; and calling &amp;lt;em&amp;gt;reloadConfig()&amp;lt;/em&amp;gt;...") /&amp;gt;
&amp;lt;cflock name="application_#url.mach2#_reload" type="exclusive" timeout="120"&amp;gt;
&amp;lt;cftry&amp;gt;
&amp;lt;cfset application[url.mach2].appLoader.reloadConfig() /&amp;gt;
&amp;lt;cfcatch type="any"&amp;gt;
&amp;lt;cfset logit("Error during reload: dumping catch structure...") /&amp;gt;
&amp;lt;cfdump var="#cfcatch#" /&amp;gt;
&amp;lt;/cfcatch&amp;gt;
&amp;lt;/cftry&amp;gt;
&amp;lt;/cflock&amp;gt;
&amp;lt;cfelse&amp;gt;
&amp;lt;cfset logit("App &amp;lt;strong&amp;gt;#url.mach2#&amp;lt;/strong&amp;gt; does not exists!") /&amp;gt;
&amp;lt;/cfif&amp;gt;
&amp;lt;cfset logit("Done.") /&amp;gt;
&amp;lt;cfelseif len(url.dump)&amp;gt;
&amp;lt;cfset logit("Dumping &amp;lt;strong&amp;gt;#url.dump#&amp;lt;/strong&amp;gt; ...") /&amp;gt;
&amp;lt;cfdump var="#Evaluate("#url.dump#")#" label="#url.dump#" expand="#url.expand#" /&amp;gt;
&amp;lt;cfset logit("Done.") /&amp;gt;
&amp;lt;/cfif&amp;gt;

&amp;lt;cffunction name="logit"&amp;gt;
&amp;lt;cfargument name="msg" required="false" default="" /&amp;gt;
&amp;lt;cfoutput&amp;gt;#arguments.msg#&amp;lt;br/&amp;gt;&amp;lt;/cfoutput&amp;gt;
&amp;lt;cfflush /&amp;gt;
&amp;lt;/cffunction&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;
Save the above script as reload.cfm &amp; save it anywhere accessible from the wwwroot. Now the script can be used to reload a mach-ii application (in case your MACHII_CONFIG_MODE is set to -1). Instead of going to the code &amp;amp; change the variable value, you can simply use
&lt;div class="code"&gt;
&lt;pre&gt;http://{host}/reload.cfm?mach2={machii_appname}&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;or simply invoke a component's method, like&lt;/p&gt;

&lt;div class="code"&gt;
&lt;pre&gt;http://{host}/reload.cfm?dump=createObject("component","user.details").getUser(email="abc@abc.com")&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;or use it to simply call some useful information about the environment&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;http://{host}/reload.cfm?dump=createObject("java","java.lang.System").getProperty("line.separator"))&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The usage can be enormous.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115445445441665352?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115445445441665352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115445445441665352&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115445445441665352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115445445441665352'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/08/useful-debug-script.html' title='A useful debug script'/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-115443753646823926</id><published>2006-08-01T18:26:00.000+05:30</published><updated>2006-08-01T18:35:36.466+05:30</updated><title type='text'></title><content type='html'>Hmmmm..it has been really long I posted on my own blog. Lost touch &amp; things hav drasatically changed from the time I signed up. This time I feel, I am back with more rejuvenated vigor &amp;amp; hope to be more active&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-115443753646823926?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rahulnarula.blogspot.com/feeds/115443753646823926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5121827&amp;postID=115443753646823926&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115443753646823926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/115443753646823926'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2006/08/hmmmm.html' title=''/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-90040543</id><published>2003-03-03T14:18:00.000+05:30</published><updated>2006-08-26T10:27:34.316+05:30</updated><title type='text'></title><content type='html'>I will try to post the information related to Coldfusion &amp; some resources related to Coldfusion on this blog.
&lt;br&gt;&lt;br&gt;
Tip 1 : Avoid using iif function use &lt;CFIF&gt;&lt;CFELSE&gt;&lt;/CFIF&gt; instead.. it is faster&lt;br&gt;
Tip 2: The fastest way to compare string is using COMPARE/COMPARENOCASE functions rather than using IS or EQ operators.&lt;br&gt;
eg:&lt;br&gt;
&lt;div class="code"&gt;
&amp;lt;CFIF NOT compare(str,"dummy")&amp;gt; will be faster than &amp;lt;CFIF str IS "dummy")&amp;gt; or &amp;lt;CFIF str EQ "dummy"&amp;gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Rahul Narula on coldfusion, adobe, macromedia, java, flex &amp; other web technologies&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121827-90040543?l=rahulnarula.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/90040543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121827/posts/default/90040543'/><link rel='alternate' type='text/html' href='http://rahulnarula.blogspot.com/2003/03/i-will-try-to-post-information-related.html' title=''/><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://bp1.blogger.com/_f3R6mtiaDLQ/SE4-Ahhz0iI/AAAAAAAABvA/5DBhGrWrfxU/S220/copy_Rahul_123.JPG'/></author></entry></feed>
