CF_Underground 7 2005 Round-Up
This past Saturday I had the pleasure of attending the CF_Underground conference that preceded the currently in progress Macromedia MAX conference, both in Anaheim, CA.
The CF_Underground conference is a migrating conference that follows MAX each year from city to city. The great thing is that while some ColdFusion developers may feel that Macromedia spends too much time at MAX promoting non-CF technologies (cough, Flex, cough, cough), CF_Undergound is all about ColdFusion. Six hours of pure CF related goodness.
Unlike MAX which spouts an impressive number of attendees that's into the thousands, CF_Underground only turned out about 23 heads. Which is very unfortunate because that means that means that less money is going to a great conference, and that there are a lot of CF developers out there not taking advantage of an excellent resource.
While this is my 4th straight year in attending MAX, this is my 1st year in attending CFU, so I had no idea what to expect. The conference was unlike any other that I have ever attended in that there was no projector or speaker podium, and of the 5 hours of instruction, there were only a handful of times where it felt like a presentation was being given. The day was like a big open discussion with a revolving subject topic to keep things interesting. And while some speakers were better at leading the discussion than others, overall it was great day with a lot of good discussion.
Hour 1 "I write bad code" was about what we each felt is good coding practices, and what should be important to us as developers, like reusability and organization.
Hour 2 "How I do I write better software?" was an interesting discussion that went all over the map from people discussing that they think better software can come having the right keyboard, silence, and three monitors, to better software coming from using the right framework for organizing your code. Unfortunately the discussion didn't go in the direction that I think it should have gone which is that good software really has nothing with your coding procedures or work place conditions, but with how it improves the end user's workflow, and allows them to get their tasks done with more efficiency. Of course, maybe I should have spoken up when the opportunity was given. Other advice brought forth during the hour was to do your best to auto-fill or pre-fill fields when able to do so, and to have your application be engaging, both visually and with audio when possible.
Hour 3 "security roundtable" dealt with security concerns that people had, and common practices to strengthen the security of your applications. Suggestions included using
CFQUERYPARAMtags and Database Stored Procedures to prevent SQL Injection attacks and authenticating input values be using a checksum number, creating a hash, or encryption as you pass parameters.
Hour 4 "domain models" for me really just put a name to a practice I had seen and even been involved with on projects before, but just didn't know had a special name. You basically create a CFC for each "noun" of your application, and that CFC will have all the functions you need pertaining to that object.
Hour 5 "paper prototyping" brought forward an interesting method for planning projects - especially, but not limited to, projects where a group is involved in the planning. After covering the basics of paper prototyping we were broken into 6 teams by table, and assigned the task of prototyping a blogging application. Each group varied quite differently in how they paper prototyped their blog app. The number of objects involved ranged from just 4, all the way up to 14. And persons argued whether or not HTTP and RSS should be considered objects or not. My table unfortunately listed RSS as an object that would need its own CFC. I disagreed stating that is was just an output method, but I was dismissed. Oh well.
Hour 6 "open Q&A with the panel" was an open forum about the topics of the day or anything else that people wanted to bring up. One thing brought up that I really liked was that the most effective way to squash bugs was to just plan ahead and to avoid them in the first place, followed by code review and then finally by application testing.
All said and done, at the end of the day I was very pleased with the value and content of the conference. But it wasn't without its faults, or maybe just hang-ups. Unfortunately, 2 of the 5 speakers didn't show (one due to being held up entering the country) causing 2 of the speakers to do double shifts (luckily they knew the topics quite well and I didn't feel the quality suffered). There was a lady there for about 4 hours operating a full bar that the attendees had little to no interest in, and just caused people, myself included, to feel sorry for her. And the lunch, while really good (Quiznos), was a little disorganized while being handed out.
On a major plus side, at the end of the day, the attendees, having had this very interactive day together, were all very open to continued discussion and networking. I really liked this.
I think the best measure of how I really feel about CF_Underground is whether I plan on attending again or not. When you look at the conference fee itself ($69/$99 late), versus the content of the conference, I think it's hands down worth it. But the outcome may be different when a person calculates the "actual" cost of attending the conference.
Lets assume that you are already going to MAX. So airfare is already accounted for. With way that CFU is scheduled the day before MAX's "pre-day" events, you really need to arrive in town two extra days in advance, which might add a significant cost to a person's hotel accommodations thus tipping the scale.
So for me next year will be a close call, depending on the city. But I really think I will be planning to make the big step which is to attend what is referred to as the best ColdFusion only conference, CF UNITED in Washington DC next June.