Beware ColdFusion Floating Point Integers

Adobe ColdFusion uses java.lang.Double to represent numbers in most cases, and it's a floating point representation.  That means it stores a finite amount of precision about the number in question, and discards any bits beyond that.  The stored precision is relative to the magnitude of the number.  So if you ask it to store a [...]

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
https://ssl.barneyb.com/svn/barneyb/cfgroovy/branches/cfgroovy2
you'll need to switch them to point at
https://ssl.barneyb.com/svn/barneyb/cfgroovy2/trunk
instead.
Apologies for any inconvenience this causes, but CFGroovy 2 really isn't a new version of [...]

TwitterFeed Test Post

I seems that TwitterFeed has lost all knowledge of my blog for some reason.  They recently redid their whole everything, so maybe I got lost in the shuffle.  I can still log into my account, but my feed is no longer listed anywhere and while Twitter didn't, TwitterFeed forgot about my OAuth config.  But before [...]

CFML Request Parameters

If you've worked with ColdFusion (or CFML) for very long, you've probably noticed that CFML's treatment of request parameters is a little unorthodoxed.  Specifically, it doesn't differentiate between multiple instance of the same parameter being passed.  Consider this url:
page.cfm?a=1&a=2&a=3,4&b=5
As you can see, there are three instances of the 'a' parameter, one of which has a [...]

ColdFusion Struct Literals Are Not Thread Safe (CFML Ones Are)

If you read my blog regularly or follow me on Twitter, you know how much I hate Adobe's quasi-implementation of struct (and array) literals.  I'm really hoping "third time's a charm" and CF9's implementation is sane.  The gripe is that this code:
<cfset s = {
name = "barney",
age = 29
} />
is executed [...]

Riddle Me This, CFLOOP

Take this simple loop:

#i#

What is the output?  My answer is the numbers 1-3 followed by 7-10.  But I was dismayed to learn this evening that it doesn't seem to be the case on my server.  There it outputs 1-10 with no breaks.  Can someone please [...]

An Ink Free Year

Yesterday I turned 29.  One year older on the clock, and about 20 years older in effect.  I'd planned on getting a leaf tattooed on my right calf as a birthday present, but like so much else, it didn't work out.  Since I turned 18, I've gone and had birthday tattoos more than half the [...]

jQuery TableSorter Comma Parser

Last night I needed a simple HTML table with sortable columns, and after a quick Googling, found the TableSorter jQuery plugin.  I'd come across it before, but never actually used it.  Added a class to my table (for targeting and to leverage the CSS that it comes with), added the required line of JavaScript to [...]

First Person Documentation

I'm not sure when I started, but I've documented things in the first person for quite a while.  Fusedocs promoted this format, and was probably a significant influence, though I recall doing it back in college as well.  It's clearly not new or uncommon, but I just had a gentleman email me about it (based [...]