<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6803702</id><updated>2011-06-05T06:19:19.305+08:00</updated><title type='text'>Life as a struct: ColdFusion</title><subtitle type='html'>...software culture, ColdFusion, and daily dosage</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6803702.post-112960463983557478</id><published>2005-10-18T10:25:00.000+08:00</published><updated>2005-10-19T16:45:03.173+08:00</updated><title type='text'>The Dynamic SRC of IMG</title><content type='html'>Forta's post, &lt;a href="http://www.forta.com/blog/index.cfm?mode=e&amp;entry=1645"&gt;Serving Images From Databases&lt;/a&gt;, about changing the SRC attribute on IMG dynamically to get image directly from database rather than a static SRC, has been quite active even though the post was dated on June 6, 2005.  I'm still receiving comments from thread to date, this is probably the longest running post.&lt;br /&gt;&lt;br /&gt;What intrigues me about the post is not about serving directly images from database, it's the use of dynamic SRC on IMG that I find fascinating.  Recently, I need to integrates charting on project, and I wanted charting engine that's simple to setup and fast to render, &lt;a href="http://www.maptools.org/owtchart/index.phtml"&gt;OWTChart&lt;/a&gt; comes to my mind.  I've used OWTChart prior to ColdFusion 5, I find OWTChart a superior CGI charting engine, and to set up and use the engine takes no more than 2 steps: &lt;br /&gt;1.  Dropping the OWTChart CGI program to CGI path of Web server&lt;br /&gt;2.  Pass an URL to OWTChart to get a streamed chart.&lt;br /&gt;&lt;br /&gt;Combine OWTChart with dynamic SRC on IMG, you get an easy and yet powerful charting solution: no Applet, no Jar, no server-side coding, just plain Javascript to drive the charts.  Here a sample usage to get a line chart:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;script&gt;&lt;br /&gt;var chartWidth = "600";&lt;br /&gt;var chartHeight = "374";&lt;br /&gt;var chartPath = "http://server/cgi-bin/owtchart.exe";&lt;br /&gt;&lt;br /&gt;function getChartPath() {&lt;br /&gt;    return chartPath;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// util functions for OWTChart&lt;br /&gt;function getLineChart(chartType,chartWidth,chartHeight,values,labels) {&lt;br /&gt;    return chartPath + "?Type=" + chartType + "&amp;W=" + chartWidth + "&amp;H=" + chartHeight +&lt;br /&gt;                "&amp;NumSets=1&amp;NumPts=" + values.split(",").length + &lt;br /&gt;                "&amp;Vals=" + getLineChartValues(values) + "&amp;xlabels=" + getLineChartXLables(labels);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function getLineChartValues(values) {&lt;br /&gt;    var aValues = values.split(",");&lt;br /&gt;    var chartValues = "";&lt;br /&gt;    for (var n = 0; n &lt; aValues.length; n++) {&lt;br /&gt;        chartValues += aValues[n];&lt;br /&gt;        if (n &lt; aValues.length - 1) {&lt;br /&gt;            chartValues += "!";&lt;br /&gt;        }  &lt;br /&gt;    }     &lt;br /&gt;    return chartValues;    &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function getLineChartXLables(labels) {&lt;br /&gt;    var aLabels = labels.split(",");&lt;br /&gt;    var chartLabels = "";&lt;br /&gt;    for (var n = 0; n &lt; aLabels.length; n++) {&lt;br /&gt;        chartLabels += aLabels[n];&lt;br /&gt;        if (n &lt; aLabels.length - 1) {&lt;br /&gt;            chartLabels += "%3B";&lt;br /&gt;        }  &lt;br /&gt;    }     &lt;br /&gt;    return chartLabels;    &lt;br /&gt;}&lt;br /&gt;// end util functions&lt;br /&gt;&lt;br /&gt;function getChart() {&lt;br /&gt;var chartType = "Line";//"3DLine";&lt;br /&gt;var myChart = document.images["myChart"];&lt;br /&gt;myChart.height = parseInt(chartHeight)+50;&lt;br /&gt;myChart.width = parseInt(chartWidth)+30;&lt;br /&gt;   myChart.src=getLineChart(chartType,chartWidth,chartHeight,&lt;br /&gt;some_y_value_list,some_x_value_list);&lt;br /&gt;        document.getElementById("chartArea").style.display = "block";&lt;br /&gt;        scroll(0,parseInt(chartHeight)*1.5);&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="chartArea" style="display: none"&gt;&lt;br /&gt;&amp;lt;img id="myChart" name="myChart" src=""/&gt;&lt;br /&gt;&amp;lt;/div&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now now that you need is to call &lt;em&gt;getChart()&lt;/em&gt; to get a line chart from OWTChart, and the chart is rendered on myChart IMG.  Simple as pie!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-112960463983557478?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/112960463983557478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=112960463983557478' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/112960463983557478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/112960463983557478'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2005/10/dynamic-src-of-img.html' title='The Dynamic SRC of IMG'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-109573794081716900</id><published>2004-09-21T11:28:00.000+08:00</published><updated>2004-09-21T11:47:57.836+08:00</updated><title type='text'>Open source ColdFusion</title><content type='html'>&lt;a href="http://clearsoftware.net/client/index.cfm"&gt;Rinehart&lt;/a&gt; offers DHTML custom tags component, &lt;a href="http://clearsoftware.net/client/index.cfm?mode=entry&amp;entry=1D20F363-E081-0478-477EF7DA27E6AACC"&gt;jComponents 1.0&lt;/a&gt;, for a fee.  The component looks great but for a fee?  I'm not sure about this, but I guess we all have different value system.  You can get about the same set of custom tags plus the power of DHTML form client with &lt;a href="http://www.pengoworks.com/index.cfm?action=get:qforms"&gt;qForms&lt;/a&gt;, all for zero fee. And it's absolutely free: &lt;a href="http://coldfusion-lifeasastruct.blogspot.com/2004/08/rich-dhtml-client.html"&gt; Rich DHTML client&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I think ColdFusion communitity should start adopting the spirit of open source development before losing it all to open source projects like &lt;a href="http://www.springframework.org/"&gt;Spring&lt;/a&gt; and &lt;a href="http://www.mono-project.com/about/index.html"&gt;Mono&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-109573794081716900?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/109573794081716900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=109573794081716900' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/109573794081716900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/109573794081716900'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/09/open-source-coldfusion.html' title='Open source ColdFusion'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-109214658670641256</id><published>2004-08-10T21:58:00.000+08:00</published><updated>2004-08-11T02:49:39.073+08:00</updated><title type='text'>Rich DHTML client </title><content type='html'>Recently, a lot of effort has been push on the so called Rich Client development which is either implemented as browser plugin like &lt;a href="http://www.macromedia.com/software/flash/"&gt;Flash MX&lt;/a&gt;, or as desktop application like &lt;a href="http://www.macromedia.com/software/flex/"&gt;Flex&lt;/a&gt; or &lt;a href="http://longhorn.msdn.microsoft.com/portal_nav.htm"&gt;Avalon&lt;/a&gt;. I wonder if DHTML client development would continue as a consequence. When I came to experiment on &lt;a href="http://mach-ii.com/"&gt;Mach-II&lt;/a&gt;, the "poor" View support on UI and, especially, form using DHTML really got me thinking. Shall I get into Rich Client development simply because of the View problem? The roadmap on &lt;a href="http://www.w3.org/MarkUp/Forms/"&gt;XForms&lt;/a&gt; adoption seems like forever, &lt;a href="http://www.blogger.com/app/post.pyra?blogID=6803702&amp;postID=109214658670641256"&gt;XUL&lt;/a&gt; still seems too early to tell, and then I came across CFMX custom tags, cfimport and &lt;a href="http://www.pengoworks.com/index.cfm?action=get:qforms"&gt;qForms&lt;/a&gt;.   The  combination leads me to the work of set of UI and form model tags.  The result is shown in the code snippet below:&lt;br /&gt;&lt;span style="font-size:8pt;"&gt;&lt;br /&gt;&amp;lt;!----------------&lt;br /&gt;cfimport tag lib&lt;br /&gt;-----------------&gt;&lt;br /&gt;&amp;lt;cfimport taglib="cftaglib/ui/form" prefix="form"&gt;&lt;br /&gt;&amp;lt;cfimport taglib="cftaglib/gateway" prefix="gateway"&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;!---// end cfimport -------------------&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!----------------------&lt;br /&gt;the business model&lt;br /&gt;-----------------------&gt;&lt;br /&gt;&amp;lt;cfset user = request.event.getArg('user') /&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;!---// end model --------------------------------------&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!------------------------------&lt;br /&gt;Prepare data for controller&lt;br /&gt;-------------------------------&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!--- setup validator ---&gt;&lt;br /&gt;&amp;lt;cfset validator = StructNew()&gt;&lt;br /&gt;&amp;lt;cfset validator.usr_uid.validation = "LengthGT"&gt;&lt;br /&gt;&amp;lt;cfset validator.usr_uid.condition = "5"&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;!---// end validator ---&gt;&lt;br /&gt;&amp;lt;!---// end controller data setup --------------------------------------------------&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!---------------------&lt;br /&gt;Start of client code&lt;br /&gt;----------------------&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;content:markup&gt;&lt;br /&gt; &amp;lt;content:head&gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;!--------------------------------------------------&lt;br /&gt;      Business model to client-side form model&lt;br /&gt;      ----------------------------------------------------&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;form:model name="form1"&gt;&lt;br /&gt;             &amp;lt;form:data objName="user" value="#user#"&gt;&lt;br /&gt;      &amp;lt;/form:model&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;!---// end form model ---&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;!-----------------------------------&lt;br /&gt;   Seting up for form controller&lt;br /&gt;   ------------------------------------&gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;form:controller wddxPacket="true"&gt;&lt;br /&gt;           &amp;lt;form:controlledItems validator="#validator#"&gt;&lt;br /&gt;&amp;lt;form:controlledItem name="usr_hob" validation="NotEmpty" required="false" description="Hobbies"&gt;&lt;br /&gt;           &amp;lt;form:eventHandler type="onChange" handler="usr_uid" invoke="rmVerifyMemberId()"&gt;&lt;br /&gt;           &amp;lt;form:bind collectionList="user"&gt;&lt;br /&gt;     &amp;lt;/form:controller&gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;!---// end setting up for controller ------------------------------------------------&gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;!--------------&lt;br /&gt;     Remoting&lt;br /&gt;     ----------------&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;gateway:client remoteHandler="mvcClientSample_wdxjs.cfm" onReceiveHandler="alertNonUniqueID"&gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;!--- // end remoting ---------------------------------------------------&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/content:head&gt;&lt;br /&gt; &amp;lt;body&gt;&lt;br /&gt;     &amp;lt;layout:box width="400px" type="blank"&gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;!----------------------&lt;br /&gt;     Form controls UI&lt;br /&gt;     ------------------------&gt;&lt;br /&gt;     &amp;lt;form:submission action="#cgi.Script_name#?event=editUser"&gt;&lt;br /&gt;           &amp;lt;form:group name="User Profile"&gt;&lt;br /&gt;               &amp;lt;form:control type="hidden" name="usr_id"&gt;&lt;br /&gt;               &amp;lt;form:control label="User name" name="usr_name"&gt;&lt;br /&gt;             ...&lt;br /&gt;         &amp;lt;/form:group&gt;&lt;br /&gt;         &amp;lt;form:control name="action" type="submit" value="submit" id="action"&gt;&lt;br /&gt;     &amp;lt;/form:submission&gt;&lt;br /&gt;     &amp;lt;!---// end form controls -----------------------------------------&gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;/layout:box&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/body&gt;&lt;br /&gt;&amp;lt;/content:markup&gt;&lt;br /&gt;&amp;lt;!---// end of client code --------------------------------------------------&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;As you can see, DHTML is totally encapsulated with tags. Do you see any HTML or Javascript at all? I don't. You may download the set of custom tags and samples&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; &lt;a href="http://home.ripway.com/2004-8/156265/cfmx/codereuse_public.zip"&gt;here&lt;/a&gt;. You may use it in anyway and anyform as you see fit. All the required files and libraries are included in the zip file. Simply extract to your webroot and browse to index.html and see how easy it is to develop Rich DHTML Client.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-109214658670641256?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/109214658670641256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=109214658670641256' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/109214658670641256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/109214658670641256'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/08/rich-dhtml-client.html' title='Rich DHTML client '/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-109111965328825749</id><published>2004-07-30T00:33:00.000+08:00</published><updated>2004-07-30T09:15:42.603+08:00</updated><title type='text'>cfspring, seriously</title><content type='html'>I really miss ColdFusion! After two months in between jobs and now I'm in a Java solution shop. How I wish the Java world could provide something close to ColdFusion on front-end development like &lt;a href="http://mach-ii.com/"&gt;Mach-II&lt;/a&gt;. Mach-II is still the best MVC framework that I've known of, especially the way it handles composite views by making one view as variable in the other. &lt;a href="http://struts.apache.org/userGuide/dev_tiles.html"&gt;Tiles&lt;/a&gt; is still far behind in that sense.&lt;br /&gt;&lt;br /&gt; I've come to know &lt;a href="http://www.springframework.org/"&gt;Spring&lt;/a&gt; in my new job here. It's a very powerful framework which consists of MVC, transaction management, ORM(object/relation mapping), and most of all, all the core components are loosely coupled, for example, you can switch MVC framework to &lt;a href="http://struts.apache.org/"&gt;Struts &lt;/a&gt;, even Java port of Mach-II(is it available now?), if you're more familiar with any of them than SpringMVC. You can do the same on persistence layer, i.e., switching between &lt;a href="http://www.hibernate.org/"&gt;Hibernate&lt;/a&gt;, &lt;a href="http://www.ibatis.com/common/common.html"&gt;iBATIS&lt;/a&gt;, or any other ORM in the future. This is really cool! Any chance of seeing cfspring the road ahead? &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-109111965328825749?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/109111965328825749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=109111965328825749' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/109111965328825749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/109111965328825749'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/07/cfspring-seriously.html' title='cfspring, seriously'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-108574256918926774</id><published>2004-05-28T19:06:00.000+08:00</published><updated>2004-07-21T00:30:40.363+08:00</updated><title type='text'>Lords of the Blackstone</title><content type='html'>I had an entry entitled ColdFusion MX Blackstone Alpha posted on 2004/04/14. As the name suggests, it's about the next version of ColdFusion MX (7.0) code name Blackstone which is currently on alpha. Being a big fan of and a developer on ColdFusion platform, I do what most developers do: read the new features and install the distribution. And like what most developers will not do: read the use-of-software agreement. The latter caused me trouble a month later.&lt;br /&gt;&lt;br /&gt;This next version of ColdFusion MX includes lots of great new features that I couldn't resist but to share my excitement on my blog. Exactly a month from my post (ya, I know, my blog is very little known) I received response from Macromedians stating the post is in violation of NDA (Non Disclosure Agreement) for the alpha distribution.&lt;br /&gt;&lt;br /&gt;I must say I was both shocked and embarrassed by my seemimgly innocent act. A reader of the entry was quick to point out that the content of the post was indeed found in some other posts by Macromedians themselves including: &lt;a href="http://www.forta.com/blog/index.cfm?mode=c&amp;amp;catid=2"&gt;Forta's&lt;/a&gt; and the new one, &lt;a href="http://www.buntel.com/blog/index.cfm?mode=cat&amp;amp;catid=98D0DD0F-28AD-C40C-AFCB11D3BF14A9A3"&gt;Buntel's&lt;/a&gt; . I merely repeated the new features and nothing "secret" was revealed as far as I'm concerned. Of course I was suggested to remove the entry and I did.&lt;br /&gt;&lt;br /&gt;Now, I'm not denying the NDA violation but I think you have to be the Lords in order to talk about the Blackstone.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-108574256918926774?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/108574256918926774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=108574256918926774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108574256918926774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108574256918926774'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/05/lords-of-blackstone.html' title='Lords of the Blackstone'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-108244624256119017</id><published>2004-03-23T15:30:00.000+08:00</published><updated>2004-06-02T01:05:07.983+08:00</updated><title type='text'>Eclipse and SWT</title><content type='html'>For those of you who have tried on Eclipse which I introduced in my last post, &lt;a href="http://192.168.100.23/archives/000012.html"&gt;How about CFMX on Eclipse?&lt;/a&gt;, have probably noticed somthing unusual for a Java GUI application, it's extremely fast!&lt;br /&gt;&lt;br /&gt;In an email response, &lt;a href="http://www.rohanclan.com/"&gt;Rohan&lt;/a&gt;, author of &lt;a href="http://www.rohanclan.com/index.cfm?mode=product&amp;product=cfeclipse/index"&gt;CFEclipse&lt;/a&gt;, kindly answers the question that underneath, Eclipse uses SWT for GUI manipulation. What's SWT (Standard Widget Toolkit)?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html"&gt;SWT&lt;/a&gt; (and &lt;a href="http://www-106.ibm.com/developerworks/library/os-ecjfw/"&gt;JFace&lt;/a&gt;) are GUI components originally developed by IBM for the open source &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; project. Unlike Swing or AWT, SWT relies on native widgets of the underlying operating system which results in Java applications which look and feel like native applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-108244624256119017?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/108244624256119017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=108244624256119017' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244624256119017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244624256119017'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/03/eclipse-and-swt.html' title='Eclipse and SWT'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-108244604204804221</id><published>2004-03-22T15:26:00.000+08:00</published><updated>2007-11-06T19:43:41.869+08:00</updated><title type='text'>Thread-safe ColdFusion</title><content type='html'>If you think you can skip locking on your session scope variable, you might &lt;a href="http://builder.com.com/5100-6371_14-5164421.html"&gt;need to&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-108244604204804221?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244604204804221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244604204804221'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/03/thread-safe-coldfusion.html' title='Thread-safe ColdFusion'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-108244620255904675</id><published>2004-03-19T15:29:00.000+08:00</published><updated>2004-06-02T01:05:43.903+08:00</updated><title type='text'>How about CFMX on Eclipse?</title><content type='html'>&lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;, an open extensible IDE, is probably one of the most successful open source product. There is a &lt;a href="http://www.rohanclan.com/index.cfm?mode=product&amp;product=cfeclipse/index"&gt;plugin&lt;/a&gt; for CFMX. You may use it as an alternative for ColdFusion application development. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-108244620255904675?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/108244620255904675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=108244620255904675' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244620255904675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244620255904675'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/03/how-about-cfmx-on-eclipse.html' title='How about CFMX on Eclipse?'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-108244634161591358</id><published>2004-03-16T15:31:00.000+08:00</published><updated>2004-06-02T01:06:37.103+08:00</updated><title type='text'>Taking temperature of CFMX</title><content type='html'>As we know CFMX runs on top of J2EE(Java Virtual Machine). How do I find out how hot the coffee is boiling? Well, easy enough: &lt;a href="http://www.petefreitag.com/item/115.cfm"&gt;ColdFusion Memory Usage Stats&lt;/a&gt;&lt;br /&gt;Quick sample:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;cfset runtime = CreateObject("java","java.lang.Runtime").getRuntime()&gt;&lt;br /&gt;&amp;lt;cfset freeMemory = runtime.freeMemory() / 1024 / 1024&gt;&lt;br /&gt;&amp;lt;cfset totalMemory = runtime.totalMemory() / 1024 / 1024&gt;&lt;br /&gt;&amp;lt;cfset maxMemory = runtime.maxMemory() / 1024 / 1024&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;cfoutput&gt;&lt;br /&gt;Free Allocated Memory: #Round(freeMemory)#mb&lt;br /&gt;Total Memory Allocated: #Round(totalMemory)#mb&lt;br /&gt;Max Memory Available to JVM: #Round(maxMemory)#mb&lt;br /&gt;&amp;lt;/cfoutput&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;UPDATE: This is a repost of &lt;a href="http://www.petefreitag.com/item/115.cfm"&gt;ColdFusion Memory Usage Stats&lt;/a&gt;, thank you Freitag for pointing it out.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-108244634161591358?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/108244634161591358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=108244634161591358' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244634161591358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244634161591358'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/03/taking-temperature-of-cfmx.html' title='Taking temperature of CFMX'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6803702.post-108244662014235822</id><published>2004-03-12T15:35:00.000+08:00</published><updated>2004-06-02T01:06:53.973+08:00</updated><title type='text'>JavaScript Remote Scripting (JSRS) on CFMX</title><content type='html'>It's been two years now (first public version was dated in January, 2002. Time runs fast indeed.) since we started to implement remoting with JSRS in our application. The server ports have grown from ASP to many others: ASP.NET, ColdFusion, PerlCGI, PHP, Python, and JSP (servlet). Note that etec was the first to provide the port to ColdFusion 5. Now another port of JSRS to CFMX: &lt;a href="http://www.sys-con.com/story/?storyid=43998&amp;DE=1"&gt;JSRS CFC&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I haven't tried out the CFC myself, I'll assume it's a more ideal solution with CFC as compared to strict CF5 functions by persisting the CFC to application scope.&lt;br /&gt;&lt;br /&gt;Personally, I prefer &lt;a href="http://www.pengoworks.com/workshop/js/gateway/"&gt;Gateway JSAPI&lt;/a&gt; since it provides better data structure handling. You may try the qforms with gateway tags that I developed with samples provided here. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6803702-108244662014235822?l=coldfusion-lifeasastruct.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coldfusion-lifeasastruct.blogspot.com/feeds/108244662014235822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6803702&amp;postID=108244662014235822' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244662014235822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6803702/posts/default/108244662014235822'/><link rel='alternate' type='text/html' href='http://coldfusion-lifeasastruct.blogspot.com/2004/03/javascript-remote-scripting-jsrs-on.html' title='JavaScript Remote Scripting (JSRS) on CFMX'/><author><name>lo</name><uri>http://www.blogger.com/profile/02667743720053396398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
