cf.Subjective() 2012

I’ve heard cf.Objective() called “the [CFML] community’s conference.” Adobe’s MAX is all bombast and big budget, but cf.Objective() is where people go to learn, grow, and network. I can safely say, during my first experience at this conference, that reputation shone brightly through.

This year’s CF Objective (can I spell it this way, for now?) was held mid-May in Minneapolis, MN, but it connected CFML programmers and enthusiasts from across the globe. Speakers came from all sorts of backgrounds and organizations, including some from Google and a nice showing from Adobe. Some talked about technologies they use, some about technologies they’ve built, and some just shared their experiences in this crazy world of web development.

The conference kicked off with Adobe employees giving the keynote. Coincidentally (or was it?), ColdFusion 10 was newly released, and the focus of the keynote was to show off and expound on all the cool new features that were available. While it was a well executed plug for the brand new version of their product, it did introduce me to some features I wasn’t aware of; in particular, Adobe ColdFusion 10 has taken a strong stance in supporting HTML 5 technologies.

Nearly every session I attended felt worthwhile, interesting, and useful. One of my favorite speakers was Nathan Strutz, whose first presentation was technically disastrous but whose later presentation was awesome. LESS CSS, Meet ColdFusion fired me up about this popular CSS preprocessor. I had tried it several versions back, and his talk inspired me to play with it again. As much as I love pure CSS, I definitely began to see how using a pre-processor could increase my productivity. I even had a chance to talk to him in person, after the talk, and we discussed our equal frustration with the way Chrome handles loading localhost JavaScript files.

Pete Freitag is a guy who has ColdFusion security on his mind all the time. Maybe that’s overstating a little, but his company and web tools, like Hack My CF, are built around the mantra of “secure your stuff”. I knew he had a strong focus on CF security, but his talk really did outline how much he knows and thinks about this stuff. “Writing Secure CFML” was a great summary of security tips for all CFML writing and some of the new security features in ColdFusion 10.

New to CF Objective this year was a JavaScript development track. I’m unique in that I play pretty equally in the CFML arena and the HTML/CSS/JS arena, and I forgot that a lot of (most of?) the CFML world has no idea what’s on the other side of the fence. That said, the JavaScript talks I went to were far from elementary. Jason Kadrmas had a great talk on building HTML 5 games with PhoneGap, Steve Stroz also gave PhoneGap some love, and Elliott Sprehn discussed AngularJS. Elliott’s talk got me excited about AngularJS – and I immediately ran to go play with it – but the JavaScript talk I enjoyed the most was Simeon Bateman‘s “Node.js And You“. What I liked about it was that he gave the standard “build a web server” demo, and then told us, “But that sucks. Who wants to build their own web server?” I’ve played with Node.js and worked through the standard demos, but he built on all that and showed some of the really cool things you can do with it.

My favorite talk was also one of the longest; it was “Running CFML on Apache Tomcat: Deep Dive” by Matt Woodward. I first became aware of Matt’s expertise thanks to the podcast he used to do, ColdFusion Weekly. This session was one of the best at balancing the lecture and the lab. We got a lot of hands-on time, but we weren’t just thrown to the wolves. In the end, I learned a lot and had something to show for it.

Long story short, it was a great conference. There are fantastic speakers and sessions; there is a strong community showing; and (for me, at least) there is a convenient location. For any CFML developer wondering, I absolutely recommend cf.Objective().