June 2008

You are browsing the archive for June 2008.

Railo 3 Beta 2

Railo dropped a second beta last night. Get it here. They've also added a WAR download, though it only works when installed into an existing "express" installation. Hopefully that'll get addressed for the next release.
A couple shining points about the runtime:

Array and Struct literals (the [...] and {…} notation) are expressions, exactly [...]

Closures for Java

Wanting some light reading for this evening, I decided to dig into the Closures for Java draft spec (homepage).
Oh. My. God.
I'm a huge fan of closures. They're elegant, simple, and easy to use. Their semantics are subtle, but not confusing. They allow for very concise implementation of otherwise complicated algorithms, [...]

Query/Reporting DSL Bug Fix

Rob Pilic found a couple local variables that I (gasp!) forgot to var scope in the DSL implementations while he was troubleshooting some concurrency issues.  There was one in each file, though totally unrelated.  I've applied his patch to Subversion and updated the demo install (though it won't matter, because it doesn't share instances).

Licensing My Code

I occasionally get questions about licensing my code for inclusion in other projects.  I thought I'd make a blanket statement that all my code can be assumed under the Apache 2 license unless otherwise indicated.  For where it's not explicit, just drop me a line if you need formal licensing, and I'd be happy to [...]

Railo fixes Arrays and Structs

I just got a JIRA notice that Michael fixed Railo so that arrays and structs implement java.util.List and java.util.Map respectively. This is great news, because it means it's now possible to pass nested arrays and structs to Java APIs without having to manually rewrap them. From the ticket, it looks like the fix [...]

CFML and Groovy

So As I said in my last post, there's been a lot of talk about integrating CFML apps with other bits.  I've been playing with Groovy and Grails a fair amount (duh), as well has having a lot of conversations about it.  I've been trying to figure out what the best use case is for [...]


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 [...]


Here I am just out of the shower, sitting on the back patio with bare feet and a t-shirt, sunset behind the trees, listening to the babbling fountain and some Leaves Eyes', and finishing up a bag of Mother's Circus Animal cookies.  If only I had a fruity drink with a little umbrella in it…


Tomorrow morning I hop on a plane to CFUNITED in Washington DC.  Four days of learning, chatting, getting far too little sleep, and generally being a programmer geek 24 hours a day.  Even better, Joshua and Koen (two coworkers) are coming as well.  It's been a hellish past few weeks at Mentor, and getting a [...]

Scriptlets in CF Anyone?

My last post about Comparators via CF Groovy was simplistic in nature, but the underlying concept is incredibly powerful.  Here's a similar snippet (from the demo app), this time using a Comparator class:
Collections.sort(variables.a, new ReverseDateKeyComparator())
So what do we have here?  Why it's a snippet of Java embedded directly in your CFML page, and it gets [...]