Polyglot Programming at cf.objective()

This afternoon I presented on Polyglot Programming at cf.objective() 2010.  Unlike most presentations I give, this one has almost no code, so the slidedeck (as a PDF) is the whole shebang.  The in-deck content is admittedly light; really just an outline to follow along as I talked.  The short version of the verbal part is:
Using [...]

ColdFusion vs. CFML

Every time TIOBE comes out with new listings people bitch about ColdFusion.  It bugs the shit out of me.  Here's the deal folks:
ColdFusion is a server product.  It is NOT a language.  CFML is a language.  You don't write ColdFusion, you write CFML and then you run your CFML on ColdFusion (or Railo, or OBD).  [...]

CF9 ORM and CFGroovy

As I've stated at various times and places, CFGroovy 1 (with Hibernate integration) has been superceded by the ORM functionality now available in ColdFusion 9 and soon to be available in Railo 3.  It has never been my intention to compete with the CFML vendors in the Hibernate space – without access to the engine [...]

Goodbye ColdFusion, Hello Railo

Goodbye ColdFusion, Hello Railo

I've been working towards this for quite some time, and last night I finally replaced ColdFusion with Railo on my personal server.  By and large the switch went flawlessly.  I made a few compatibility changes ahead of time and found and fixed a few issues subsequently, but really smooth overall.  Even better, the memory footprint [...]

Tag-Based HQL Queries on CF9

I'm sure I wasn't the only one that was sorely disappointed when Adobe released CF9 without the ability to execute HQL queries via the CFQUERY tag.  Using a function (ormExecuteQuery) works, but it's really ungainly if you have complex – or even just long – HQL or need to build your statement conditionally, and you [...]

Minor FB3Lite Feature

If you've used FB3Lite, you may or may not know that it implicitly supports a Fusebox-like circuit structure.  Both do() and include() allow you to invoke fuseactions/templates from other directories within your application, though without the circuit aliasing abstraction layer that Fusebox provides.  This is a great way to break down large applications into multiple [...]

WordPress Shortcodes in CFML

If you've used WordPress, you may have run across shortcodes.  They're little directives you type into the editor box which then evaluate dynamically when the content is rendered on the outside of you site.  Plugins can register new shortcode handlers, which are implemented as a simple function callback.  It's a really simple way to expose [...]

REReplaceCallback UDF

If you've used pretty much any modern language, you know all about callback functions.  Unfortunately CFML is capable of doing it, but the language itself doesn't leverage the feature anywhere.  In particular, a callback for the replace operation is of great value.  Ben Nadel has blogged about such things a couple times, and now I'm [...]

Public URLs via Amazon S3 CFC

I made another minor update to my Amazon S3 CFC this evening, this time to support PUTting public objects.  To this point, the CFC left the default ACL on new objects PUT on S3, meaning that you needed an authorized URL (via a query string signature) to retrieve them.  That was the use case I [...]

Front Controllers Should NOT Extend Application.cfc

I've been playing with FW/1 a bit on a personal app, and it has proven incredibly frustrating due to multiple manifestations of a single problem: your Application.cfc HAS to extend the framework in order to use the framework.  My complaint really has nothing to do with FW/1 in particular, the exact same argument could be [...]