News by Barney Boisvert This feed does not validate. (details) 19 Jul 04:16 I just pulled down the 1.0 release of MX Unit, and was most disappointed to see that it only works on ColdFusion: ...blah... no definition for the class ... [coldfusion.cfc.CFCProxy] could be found ...blah... Since I do most of my CFML development on Railo now, it kind of leaves me stuck. Fortunately, CFCUnit works flawlessly, but with it's definitely the less compelling choice of the two. 15 Jul 04:26 ColdFusion introduced CFML struct and array literals in CF 8. They sucked. Assignment only, no nesting, and the use of '=' for key-name pairs instead of ':', like every other language. CF 8.0.1 fixed the nesting issue, but not the others. I've been trying to figure out why it's an assignment-only construct since CF 8 was released, and today I figured it out. It's stupid. 13 Jul 03:34 I've just released 1.0RC of CF Groovy, including Hibernate support. You can download it, or view the demo app. The download includes both the demo and the runtime engine. The big new feature is Hibernate support, of course. Here are a couple snippets from the demo app. First, the entity class: package com.barneyb import javax.persistence. 11 Jul 06:53 I know the number of CF 8.0.0 installs is probably pretty minimal compared to CF 8.0.1, but thought this was worth pointing out. If you use Thread.setContextClassLoader on CF 8.0.0, it raises no exception, but it doesn't actually set the ClassLoader for the thread. I ran into this today using my CF Groovy/Hibernate integration on one of my existing CF installs that is still 8.0.0. It totally bombs, because the classloading trickery fails if it can't set up a classloader. 10 Jul 02:36 In the past few months I've spent a fair amount of time doing large data transformations for a couple projects, in to and out of MSSQL databases. In both projects, I've ended up refactoring my code to eliminate CFQUERYPARAM on oft-run queries, because it seems to leak memory (yes, I have debugging disabled), as well as be less performant. In both cases, the primary offender was repetitive INSERT statements, ranging from 10,000 executions per request up to around 50,000. 19 Jun 23:04 As is typically the case, CFUNITED has a pair of themes. There's the conference theme, which, as always, is helping CF coders become more empowered by learning about new things (OO, using CFCs, learning frameworks, etc.), and then there's the "backtheme". This year it's all don't use only CF. Adobe's integrating Hibernate into CF9, Railo is preaching the benefits of the JBoss platform (clustering, caching, Hibernate, etc. 6 Jun 17:18 Those of you who remember CF Rhino will recognize the name for my latest little project. I whipped up a small proof-of-concept integration for Groovy into CF apps tonight while playing with some classloading issues within Groovy itself. Groovy has a number of advantages for this type of integration of JavaScript, the biggest one being that Groovy IS Java, and carries Java's semantics almost perfectly. 9 May 03:36 If you use ColdFusion (or another Java-based CFML runtime), you should be using Java. There's a reason that CF uses Java under the hood: Java is incredibly powerful. Yes the interface to Java from the CF level is cumbersome and creating hybrid CF/Java applications pretty much costs you CF's RAD capabilities, but there are some real gems in the Java libraries. On CF-Talk today, someone asked about reversing an array. 2 May 06:09 I had a need to fix indentation of some XML today, and a quick Googling didn't turn up much help. So I wrote a little UDF that will take an XML string and return it with all the tags nicely indented: <cffunction name="indentXml" output="false" returntype="string"> <cfargument name="xml" type="string" required="true" /> <cfargument name="indent" type="string" default=" " hint="The string to use for indenting (default is two spaces). | |