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

Subclipse 1.6's AWESOME New Commit Dialog

I just upgrade to Subclipse 1.6 and it has an awesome new feature: diffs right in the commit dialog.  It seemed a common use case for myself that when it came time to commit, I'd open my commit dialog and cycle through the files writing my commit message in Kate because I couldn't type while [...]

imageTranslateDrawingAxis is Your Friend

I briefly mentioned imageTranslateDrawingAxis in my previous post about Fusebox flowcharts, but wanted to provide a more self-contained example of how it can be used to great effect.  The idea here is to draw a house with a window, and to do it in a relative manner, rather than an absolute manner.  Consider these two [...]

Fusebox XML Flowchart Generator

Fusebox XML Flowchart Generator

About a week ago someone posted on the Fusebox mailing list looking for a way to generate flowcharts from his Fusebox XML files.  Adalon was suggested, but it didn't do quite what he was looking for.  So I sunk some of my spare time into building such a tool, and even managed to refrain from [...]

LessCss for CFML Developers

LessCss is a nifty extension to the core CSS language to support variables, calculated values, inclusion-by-reference, nesting, and some other goodies.  Basically the idea is to simplify and reduce duplication in large stylesheets.  Here's a simple example of a variable and a computed value:
@color: #fdd;
#header {
background-color: @color;
color: @color / 2;
That translates [...]


UPDATE: Turns out ColdSpring already has this functionality via the 'includeMappedNames' property in recent versions.  The ColdSpring the app I was working on uses an older ColdSpring.  So if you have a recent version of ColdSpring, this CFC is irrelevant; use the built-in one.
If you use ColdSpring, chances are you've used it's AOP functionality, and [...]

CFGroovy 2 "Release"

CFGroovy 2 has been been released into the wild tonight as it's own project, separate from CFGroovy.  Read all about it on it's shiny new project page.  With the advent of CF9 and built-in ORM tooling, ongoing development with Hibernate integration seems wasteful.  Bugs will be fixed, since there are a fair number of sites [...]

CFGroovy 2 Has Moved

Until this evening, CFGroovy 2 has lived as a branch in the original CFGroovy project.  Now it has it's very own top-level directory.  So if you've any working copies and/or unpinned svn:externals pointed at
you'll need to switch them to point at
Apologies for any inconvenience this causes, but CFGroovy 2 really isn't a new version of [...]

FB3lite as a Custom Tag

Last night at work Koen uncovered an issue with using FB3lite as a custom tag.  Inside the tag it does "formUrl2Attributes" to merge the two scopes into the attributes scope.  What I'd done incorrectly was omit the "don't override" parameter to the structAppend calls, so the URL and FORM scopes would supercede any existing attributes [...]

Efficient Caching With mod_rewrite

Caching with mod_rewrite?  What?  I'll admit it's a slightly misleading title; the cache is actually a disk cache, but mod_rewrite is where the magic happens.  Bear with me for a moment…
Most content on the web is fairly static.  Some of it changes every few minutes, some changes every few hours, some changes a few times [...]