development

Amazon S3 URL Builder for ColdFusion

First task for my Amazon move is getting data assets (non-code-managed files) over to S3. I have a variety of types of data assets that need to move and have references updated, most of which require authentication. To make that easier, I wrote a little UDF to take care of building urls with [...]

New Cyclic Data Structures Utility

Back in October I posed a fledgling cycle-safe CFDUMP replacement.  Today, I had need for that same anti-cycle processing in serializeJson, so I abstracted the processing out into a CFC that handles both breaking cycles (for serialization) as well as restoring them (for deserialization).  By running a cyclic data structure through the breakCycles method, you [...]

CAPTCHA is the Devil

I know, I know. I've said this before. Trying to have a conversation on another blog and the CAPTCHA … oh my god. If you insist on using CAPTCHA (for some unknown reason), follow some rules:

only letters and numbers, and never l, o, I, O, 1, or 0
don't make the comparison [...]

Barney and the Holy Grail

Yes, I know it's Lent, but I'm not talking about that Grail – I'm talking about Grails, the web framework for Groovy (the dynamic layer for Java).
I've been looking for a way to ditch CFML for a while now, but nothing has really hit the mark. I keep hoping that Adobe is going [...]

Regular Expression Backreferences and the Non-Greedy Modifier

Update: James Allen caught a formatting bug. It seems WordPress doesn't like my coloring, and when present, swaps the double quotes for "smart quotes". I've removed the coloring, and it seem to be fine again.
Someone posted a question on CF-Talk about using backreferences in regular expression search strings. Not the replacement [...]

Enums and ActionScript's Static Initializers

I discovered today, while trying to synthesize an Enum type, that AS3 has the concept of a static initializer, which is awesome. In a nutshell, a static initializer is kind of like a constructor, but it's for the class object itself, not instances of the class. It gets invoked during classloading, after all [...]

E4X and Prototype Goodness

I got around to trying the E4X-based query structure this morning, and it works like a charm.  It's now possible to write your queries like this:
Query.execute(
  <query>
    update contact set
      name = :name,
      email = :email
    where id = :id
  </query>,
  {
    id: new QueryParam(id, "integer"),
    name: new QueryParam(name),
    email: new QueryParam(email)
  }
);
There's [...]

More Thoughts on Server-Side JS

I got a lot of great comments (along with some not-so-great ones) regarding my server-side JS implementation. As expected, quite a few people were very excited about using AS3 on the server instead of JS, and I agree. It got me thinking about how much code reuse you could get within an application. [...]

Why JavaScript (or really, ECMAScript)?

After my last post on CF and JS integration (via Rhino), I got several comments that can be summarized as "why?". I addressed the issue in a rather oblique manner in my last post; here's a more full treatment.
Before I start, I want to make incredibly clear that I'm not talking about a new [...]

The Rhino Is Coming … to fix CFML

Show of hands, how many people like CFML? Ok, how many like the ColdFusion Platform? What's the difference, you ask? CFML is a markup language that you do most CF Platform development in. You can use CFSCRIPT (which is ECMAScript-like) for certain things, but CFML is the Platform workhorse. The [...]