Boggle Boards

In case anyone wants to know, here are the specs for Boggle – both for Original Boggle and for Big Boggle – in a handy machine-readable format. The format is line oriented with each line representing a single die, and the sides of the dice delimited by spaces. Note that there is a [...]

Visiting Recursion

Recursion is a very powerful technique, but when processing certain types of data structures you can end up with problems.  And not the "compiler error" kind of problems, the bad semantic kind.  Fortunately, at least one class of them is pretty easy to solve with visit tracking, though it's a subtle solution.  But I'm going [...]

cf.objective Tomorrow!

Tomorrow I'll be in Minneapolis for the 2011 iteration of cf.objective.  If you've looked at the schedule, you'll know I'm speaking twice: one about progressive enhancement first thing Thursday morning after the keynote, and again Friday right after lunch about migrating your apps to the cloud.  You'll also know that there are a hell of [...]

Minor Shortcodes Update

Last winter I released a CFML port of the WordPress Shortcodes functionality.  It's proven both very useful and very flexible in the real world, exactly as I'd hoped it would.  I tried to make a very direct port of the PHP, but after using it on a number of projects, I found myself reimplementing the [...]

Minor AmazonS3.cfc Bug Fix

Today I identified a subtle bug with the listObjects method of AmazonS3.cfc dealing with delimiters.  If you supply a prefix that ends with a trailing delimiter, certain paths would be returned partially truncated.  Removing the trailing delimiter solves the issue, so there's an easy workaround, but I've added a snippet to take care of that [...]

On-The-Fly YUI Compressor

A couple years ago I wrote about using YUI Compressor to do built-time aggregation and compression of static assets.  That works well and good if you have a build environment, but that's not always the case.  So, still using YUI Compressor, I set up a simple script that'll do runtime aggregation and compression of assets [...]

Flash Scope CFC

If you've ever used Grails, you probably know about the 'flash' scope that it provides for passing data from one request to the next.  Certainly not a must-have feature, but it's quite handy.  The typical use case is after a form submit, you set stuff into the flash scope and then redirect to some page [...]

Closures, Closures, Closures

Guess what time it is, kids!!
It's "Barney still wants CFML closures" time!  Yay!
Today's impetus is Edmund, Sean Corfield's event driven programming framework.  In order to register event listeners, you have to a CFC instance with a specific method to be invoked on it, and which accepts an Edmund Event as it's sole argument.  Which means [...]

Amazon S3 CFC Update – Now With Listings!

I've added two new methods to my Amazon S3 CFC: listBuckets and listObjects.  Both of them do about what you'd expect, returning a CFDIRECTORY-esque recordset object containing the rows you are interested in.  I've attempted to make S3 appear like a "normal" filesystem where "/" is S3 itself, the top-level directories are your buckets, and [...]

Tulsa CFUG Presentation (CFGroovy)

Yesterday I presented CFGroovy to the Tulsa CFUG via Connect.  The recording is now available on Connect, thanks to Steve.  You can also grab the slidedeck (as a PDF) I skimmed through, and of course, the CFGroovy framework itself (project page, core SVN, demo SVN), including the demo files that I showed.  Note that the [...]