<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.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:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-5121827</id><updated>2009-11-09T21:15:01.037+05:30</updated><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="alternate" type="text/html" href="http://rahulnarula.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5121827/posts/default?start-index=26&amp;max-results=25" /><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/rahul" type="application/atom+xml" /><feedburner:emailServiceId>rahul</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry><title type="text">Links for 2009-10-19 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/rahul/~3/puQTDwTDgVE/ranarula" /><updated>2009-10-20T00:00:00-07:00</updated><id>http://del.icio.us/ranarula#2009-10-19</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.internet4mobile.com/mobile_number_information.aspx"&gt;Mobile Number Tracer :: Mobile Number Finder&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/puQTDwTDgVE" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/ranarula#2009-10-19</feedburner:origLink></entry><entry><title type="text">Links for 2009-08-18 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/rahul/~3/q4MyWDdAVTk/ranarula" /><updated>2009-08-19T00:00:00-07:00</updated><id>http://del.icio.us/ranarula#2009-08-18</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.apnaloan.com/home-loan-india/homesavers.html"&gt;Home-Savers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/q4MyWDdAVTk" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/ranarula#2009-08-18</feedburner:origLink></entry><entry><title type="text">Links for 2009-07-11 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/rahul/~3/Rqg7MSMcWgA/ranarula" /><updated>2009-07-12T00:00:00-07:00</updated><id>http://del.icio.us/ranarula#2009-07-11</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.commonfloor.com/articles/what-is-khata-transfer-and-registration-and-how-to-do-it-8.html"&gt;Bangalore Khata Transfer, Khata Registration and How tos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/Rqg7MSMcWgA" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/ranarula#2009-07-11</feedburner:origLink></entry><entry><title type="text">Links for 2009-07-10 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/rahul/~3/lj2xU4k6IzY/ranarula" /><updated>2009-07-11T00:00:00-07:00</updated><id>http://del.icio.us/ranarula#2009-07-10</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.indiabulls.com/securities/customercare/customer_support.htm"&gt;Indiabulls Securities: Indiabulls Securities&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/lj2xU4k6IzY" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/ranarula#2009-07-10</feedburner:origLink></entry><entry><title type="text">Links for 2009-07-07 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/rahul/~3/iRkganoWRhI/ranarula" /><updated>2009-07-08T00:00:00-07:00</updated><id>http://del.icio.us/ranarula#2009-07-07</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://125.17.140.50/bpsfinedetails/bpsfinedetails.aspx"&gt;Search for Traffic Violations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/iRkganoWRhI" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/ranarula#2009-07-07</feedburner:origLink></entry><entry><title type="text">Links for 2009-07-05 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/rahul/~3/FBGNx2FLg4E/ranarula" /><updated>2009-07-06T00:00:00-07:00</updated><id>http://del.icio.us/ranarula#2009-07-05</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.eventuall.com/"&gt;eventuall.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/FBGNx2FLg4E" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/ranarula#2009-07-05</feedburner:origLink></entry><entry><title type="text">Links for 2009-06-30 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/rahul/~3/IZ5JPK1sNA0/ranarula" /><updated>2009-07-01T00:00:00-07:00</updated><id>http://del.icio.us/ranarula#2009-06-30</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/En/HTTP_access_control"&gt;HTTP access control - MDC&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/IZ5JPK1sNA0" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/ranarula#2009-06-30</feedburner:origLink></entry><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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/4rntvSZo9n0" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/4rntvSZo9n0/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2009/04/getting-oracle-jdbc-driver-version-info.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/6J2Kj2RPpog" height="1" width="1"/&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="https://www.blogger.com/comment.g?blogID=5121827&amp;postID=4462344325054092097&amp;isPopup=true" title="0 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://feedproxy.google.com/~r/rahul/~3/6J2Kj2RPpog/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2009/03/two-utility-coldfusion-udf.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5121827.post-7792462430275213478</id><published>2009-03-23T19:30:00.004+05:30</published><updated>2009-04-01T10:40:28.647+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://ranarula.googlepages.com/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://ranarula.googlepages.com/ExcelProcessor.zip"&gt;Download ExcelProcessor&lt;/a&gt; (zip)&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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/z4ND-M6QOE8" height="1" width="1"/&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="https://www.blogger.com/comment.g?blogID=5121827&amp;postID=7792462430275213478&amp;isPopup=true" title="3 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://feedproxy.google.com/~r/rahul/~3/z4ND-M6QOE8/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2009/03/coldfusion-and-excel-2007-integration.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/Dh-KehmKFDk" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/Dh-KehmKFDk/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2009/03/coldfusion-biggest-challenge.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/_okTqlCrUhU" height="1" width="1"/&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="https://www.blogger.com/comment.g?blogID=5121827&amp;postID=5067178307653876364&amp;isPopup=true" title="1 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://feedproxy.google.com/~r/rahul/~3/_okTqlCrUhU/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/10/goa-travelogue.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/mQ-NBGC31uA" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/mQ-NBGC31uA/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></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 xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/09/adobe-announces-cs4.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/R5ZTE--xxp8" height="1" width="1"/&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="https://www.blogger.com/comment.g?blogID=5121827&amp;postID=5277711570381595620&amp;isPopup=true" title="3 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://feedproxy.google.com/~r/rahul/~3/R5ZTE--xxp8/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></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 xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/09/google-chrome-googles-take-on-browser.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/eKo6BFwa-DI" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/eKo6BFwa-DI/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/07/cuil-did-you-give-it-try.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/CO3Txw2sdFc" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/CO3Txw2sdFc/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/07/edit-current-page-neat-little.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/-r6C-zrRzJQ" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/-r6C-zrRzJQ/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/06/cfunited-2008-adobe-keynote-summary.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/QXOew-JO_9U" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/QXOew-JO_9U/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/06/cfunited-checked-in.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/Qz1fJujXf2A" height="1" width="1"/&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="https://www.blogger.com/comment.g?blogID=5121827&amp;postID=1094959938074702080&amp;isPopup=true" title="5 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://feedproxy.google.com/~r/rahul/~3/Qz1fJujXf2A/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/06/batch-query-processing-with-coldfusion.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/92iPEFZUePE" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/92iPEFZUePE/cfunited-countdown.html" title="CFUnited Countdown" /><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/06/cfunited-countdown.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/v8feqVdrfSw" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/v8feqVdrfSw/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/03/coldfusion-8-has-been-selected-as.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/3keAgQkbhh4" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/3keAgQkbhh4/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2008/03/adobe-ria-architect-summit-2008.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/zwQX2u29kyA" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/zwQX2u29kyA/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/12/synchronizer-token-pattern-in.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/jzbxLvoAtvQ" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/jzbxLvoAtvQ/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">25</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/12/adobecom-has-new-look.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/Lnx8IMgGwAU" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/Lnx8IMgGwAU/adobe-share.html" title="Adobe Share" /><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/10/adobe-share.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/OdFlt5bjApw" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/OdFlt5bjApw/directory-watcher.html" title="Directory Watcher" /><author><name>Rahul</name><uri>http://www.blogger.com/profile/02717710396964988055</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/09/directory-watcher.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/8pmG32Ao7Ng" height="1" width="1"/&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="https://www.blogger.com/comment.g?blogID=5121827&amp;postID=8371875927071639224&amp;isPopup=true" title="4 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://feedproxy.google.com/~r/rahul/~3/8pmG32Ao7Ng/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/09/feedjit-real-time-traffic-analysis.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/gVgVRQfrmw8" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/gVgVRQfrmw8/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/08/asynchronous-file-upload.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/MJbwpImBdD8" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/MJbwpImBdD8/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/08/oob-conference-2007.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/nGuAmrihzGU" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/nGuAmrihzGU/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/08/san-jose-semaphore-cracked.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/v_U-eYlT_JM" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/v_U-eYlT_JM/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/08/adobecom-perfect-web-experience.html</feedburner:origLink></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'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rahul/~4/_k3NzaplFro" height="1" width="1"/&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="https://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://feedproxy.google.com/~r/rahul/~3/_k3NzaplFro/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:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02508321909737139960" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:origLink>http://rahulnarula.blogspot.com/2007/07/coldfusion-8-go-grab-it.html</feedburner:origLink></entry></feed>
