CFUnited 2009: Adam Lehman - ColdFusion 9, What's New

First up was Server.cfc. However that is a bit of a misnomer. You can actually point the administrator to any CFC. That CFC simply needs to have an onServerStart() method. This should be quite a boon for getting sites that have an expensive (read "slow") first request all spun up and ready for traffic.

Next up was nested cftransaction. Not a lot to explain here. From what I saw, it should satisfy you if you ever said to yourself "I really wish I could nest transactions in CF".

Then we got introduced to cffinally/finally. I personally have never used this even in languages that I have access to it. Basically it gives you this syntax: "try { ... } catch (e) { ... } finally { ... }". If someone wants to explain an compelling use case for "finally", I would love to hear it...

And then there was cfcontinue and it was good. Seriously! I mean, I'm excited about this one and at the same time amazed it took them this long.

[More]

CFUnited 2009: Peter Bell - Requirements and Estimating

Peter looks at projects in roughly 3 categories.

  • Configuration < $8000 - free spec (just set up something already built)
  • Customization < $50,000 - paid spec (requirements gathering, setting up and customizing packages)
  • Exploration $50,000 - no spec (hard to even define scope)

Configuration

These projects are all about efficiency. You will need to simplify the specs for these types of projects. You will need to have/use configurable code to implement deliverable. That could be via something with a setting file or configuration wizard. In some cases you might use DSLs (domain specific languages). And for very simple stock types of things you can even reuse prior specification documents (copy and paste, or compile stock specs as you go).

Customization

I think here he was talking about a site that will use a lot of code that you or someone else already wrote.

[More]

cf.Objective() 2008: From Procedural to OO - Dan Wilson

One of the keywords here is "pragmatism". I know from personal, continuing experience that it can be a daunting proposition to move an application from procedural to OO.

Things you would want to consider when refactoring are in-house skill-sets, and problem spots in your application. If you have a bunch of people that are very procedural programmers, you may be wasting your time with a re-factor. You're team still has to be able to work on the code right? But, if people in your shop have some OO experience or are game to learn, then it's a good idea. Once you get started you want to ask yourself, "Where are our problem spots?". You already need to work on those spots anyway, so it's an efficient choice to start there in your OO refactor.

Always use version control! Even if you work alone! Seriously, however long it takes you to set up your version control repo of choice, it will be time well spent. You will need that version history while re-factoring.

Dan, talked some on patterns. There was a liberal sprinkling of pragmatism when talking about patterns too. Use them where they actually solve a problem and to the extent that you need them. Don't slavishly apply a pattern verbatim! I won't go into detail on the patterns. However, I'd like to mention, the first one (MVC) doesn't even require OO. However, it would be a good first step to get you closer to OO. Once you have separated the code that deals with the data (Model) from the code that displays stuff to the user (View) and the code that wires those together (Controller), then you're ready to see what can be put in Objects.

This was a talk with a lot of practical code examples. So, I think it may lose a bit in the translation.

Update: Dan was kind enough to send me a link to the presentation material. Get it here.

cf.Objective() 2008: Friday Keynote

Jared Rypka-Hauer gave an intro with some interesting facts about cf.Objective(). This is the 3rd year for the conference. There are 30% more people here this year! 50% are new attendees from prior years.

Next up was Jason Delmore. His opinion is that cf.Objective() has become the premier "advanced" ColdFusion conference. There are 6 Adobe people in attendance. It has been a great year for ColdFusion. They have gotten tons of press coverage. CF is up 11 places in the Tiobe index (Just checked. It's in the top 20). 8.01 was a pretty good update. Lot's little gems. Like, more flexible use of AttributeCollection, nested struct and array notation, 64 bit support, etc. So, you owe it to yourself to check out the 8.01 release if you haven't.

Centaur, the next version of ColdFusion, is well under way. Jason put up a slide about being more "open" with ColdFusion. However, at this point someone fainted (from excitement?). So, we really didn't get the whole speal about this new open-ness...

cf.Objective() 2008: Here We Go Again

I'm at cf.Objective() 2008, sitting in the conference room waiting for the keynote to start. Last years cf.Objective() was a great conference! I see no reason this year will be different. :-)

In 2007, I blogged every session I went to in real-time. It was a little stressful (and fun). I think this year I'll just take notes in the sessions and write them up later.

That's it for now. Hopefully you are all here with me and not even reading this post. (Or if you're reading it after the conf, you were here.)

Thank You Adobe!

The Adobe on Air Bus Tour was in Portland last night. It was a very exciting event. The bus crew did a great job presenting the unique opportunity that AIR gives both Flash and HTML developers to build cross-platform desktop application with their current skill-set.

I managed to answer a trivia question and get a bag of seven O'Reilly books! Add the 3 beers I had, the excellent catered food, the free training, and the networking opportunities and I have only one thing to say.

Thank you Adobe!

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.6.002.