tools

Minor FB3lite Update (and a Weird CF Bug)

This evening while adding some reporting to PotD (NSFW, OMM) to help nail down some performance issues that I think are Apache's fault, I noticed a strange issue with FB3lite.  If you've used it, you know the core of the "framework" are the do() and include() UDFs.  Both contain a CFINCLUDE tag, and a weird [...]

CFYourFavoriteLanguage (Formerly CFGroovy)

CFGroovy grew some wings this afternoon.  It retains it's core functionality of running Groovy code in a CFML environment, whether you have it installed on your classpath or if it's transparently loaded from the local copy of the JAR.  However, it now supports any JSR 223 scripting language as well (assuming you're on a 1.6 [...]

More CFGroovy2 Goodness

Last night at dinner I was talking with Mark Mandel and Luis Majano and realized I'd completely misunderstood the way JavaLoader worked based on my initial look see.  So for the price of 21 additional lines (nine of which are purely for misbehaving CFML runtimes), CFGroovy will transparently load an internal copy of Groovy if [...]

CFGroovy in Forty Lines

It's been a couple months since I've done anything with CFGroovy.  I've been mulling how to get back to the essence, which is Groovy scriptlets in CFML.  Today at cf.objective() I put my fingers back on the keyboard for the first time.  Here's a full implementation of the <g:script> tag in 40 lines.  There are [...]

I Love Apache

So after I got my new server online, I wanted to deal with my oversight on DSN TTLs.  Not surprisingly, mod_rewrite saved the day again.  First, since my old server is subject to the same TTLs, I added a record in my /etc/hosts file to point all of them at the new IP.  Then I [...]

Show Me Your Tool

If you read my blog regularly, chances are you write software and therefore can't, because your tools don't exist in the visual world.  They're just magic strings of minuscule magnets on a rapidly spinning chunk of plastic…
I took my chef's knife to the sharpener a few days ago.  Cost a whopping $4 to have him [...]

Firefox Spellcheck for Programmers

No, it doesn't exist, but shouldn't it?  I've found that when I write prose in Firefox, I almost invariably ignore the redlines.  Why?  Too many false positives.  Technical prose, which is usually what I'm writing,  is littered with domain-specific terms that no spellchecker will ever consider valid.  Obviously you can help your specific spellchecker by [...]

CFGroovy is Self Executing

Tonight I finished porting the internals of CFGroovy from CFML to Groovy.  Yes, the CFGroovy core is now implemented in Groovy.  The remaining CFML code is for managing the public API (which is a CFML API and therefore must remain CFML),and for bootstrapping the Groovy core.
This architecture provides a number of benefits, primarily a huge [...]

Why You Should Care About Groovy

If you know anything about me, you probably know that I'm a big fan of Groovy.  But why?  I've never really addressed that question head on, I don't think, so I'm going to do that here (prompted by a comment from David McGuigan on my CFGroovy 1.0 post).
First, Groovy is a dynamic language for the [...]

New CFGoovy Demo App

This afternoon I threw together a little blog demo app for CFGroovy.  It's really simple, but it illustrates some more advanced usage.  In particular:

The app uses ColdSpring to wire everything together and obtain transaction management with AOP, instead of having to code your transactions manually.
Entity relationships (as well as composition) with both direct and transient [...]