CFML, Clojure, Software Design, Frameworks and more...

Entries Tagged as cfunited08

January 04, 2009 ·

As "usual", I start the year with a round-up of the highlights of last year, based on things that I blogged. It's been a strange year for me. After (seven) years with Macromedia / Adobe and most of 2007 spent freelancing, I took a full-time job with a startup and hired some amazing CFers to be part of my team. I (finally) learned Flex (and AIR). I learned a new language (Groovy) and did a lot less CFML programming than I've done in years while at the same time joining first the Open BlueDragon Steering Committee and then the CFML Advisory Committee, as well as attending more ColdFusion-related conferences than usual (cf.Objective(), Scotch on the Rocks, CFUNITED, Wee Dram of Scotch, MAX).

December 14, 2008 ·

I just received my final evaluation forms from MAX 2008. With the exception of one person who "Fell asleep during presentation. It was offensive.", the comments were mostly positive. There was, however, an interesting undercurrent...

June 27, 2008 ·

First off, I'd like to extend huge congratulations to the team that organized CFUNITED: Liz Frederik and Nafisa Sabu with technical assistance from Elliott Sprehn (and, of course, several on-site folks who man the registration booth and run around making sure everything's OK). Despite all the others, we know the powerhouse behind CFUNITED these last several years is Liz and Nafisa and it wouldn't happen without them.

June 22, 2008 ·

This was my busy day as far as sessions went. The day started with a repeat of my event-driven programming talk (which went a bit better this time) then Hal Helms "Object Oriented Best Practices". I'd heard most of it before (from Hal) but he's always an entertaining and thought-provoking speaker. My favorite quote was "There is no lack of help on the Internet if you want to write bad OO."
Next up was Rupesh Kumar "All about cfthread" which focused more on how hard it can be to write safe multithreaded code than "cool" examples so it was very educational and it means I need to go back and rework part of Edmund to cover some edge cases I'd missed. I'll probably blog more on this in due course since several folks were pretty confused about why Rupesh's examples "didn't work".
After lunch I went to John Farrar's talk about jQuery which showed how easy it was to use and how powerful the selector syntax can be. It was a good intro talk and after several of those for jQuery, I think I'll be ready for more advanced jQuery stuff at the next conference.
Finally it was Joe Rinehart's "From ColdFusion to Flex: Model-View-Controller" which looked at apply MVC principles to structure Flex applications with some simple "no framework" suggestions for organizing code. About the right level for me with my lack of Flex skills at the moment.
And then that was it, CFUNITED was over for another year!
I chatted to John Zhu (ChinaOpen organizer) for an hour then headed back to my room.
I'll write a summary of CFUNITED shortly but, briefly, I enjoyed the networking, I wasn't thrilled with the convention center location, I went to just eight sessions - but there were only two others I wanted to see (I don't really come for the content tho'). More later.

June 20, 2008 ·

I skipped the morning sessions (and lunch, eating with Ray and a few others at Teaism, south of the hotel - thank you Simon Horwith for the suggestion!). I wanted to hit Manju's 64-bit talk but wasn't back in time and had planned to hit Jeff Peters' "Square Pegs, Round Holes" talk but it turned out to be much more introductory than the track ("ADV") indicated.
The one session of the day I intended was Elliott Sprehn's "Internals of the Adobe CF Server" which was absolutely incredible! Elliott clearly has far too much time on his hands and has done some amazing detective work to learn about many of the core classes inside the ColdFusion runtime and how to use them.
He explained in some depth how several CFML code constructs actually work at the Java layer and how to do some very cool things with them. One example was passing your own "local scope" into a function call and then using it to examine what local (var scope) variables were set inside the function after the call. He also showed how to invoke most CF tags from CFScript so that, for example, you could throw a custom exception (by creating an instance of the ThrowTag, setting some properties and then calling doStartTag() on it).
Make sure you download his slides and code once they become available.
For me, this was the most interesting talk of the conference so far.
So, again, a day short on sessions but ultimately rich in networking and developer discussions. Next, dinner, drinks and maybe an interview for the CFConversations podcast.

June 19, 2008 ·

I dragged my carcass out of bed extra early for a "technology managers" breakfast that TeraTech were organizing prior to the keynote. 7:30am. Such an uncivilized time.
The "breakfast" was a few croissants and some fruit and juices and a thinly veiled pitch from TeraTech for their services. Luckily only a handful of managers actually wasted their time attending.
Next was TeraTech's opening "keynote". It's always the most painful thirty minutes of CFUNITED. Michael Smith is a nice guy but he really doesn't understand what a keynote is meant to be about. At least he didn't mention FLiP for a whole 22 minutes this year (last year seemed to be a pitch by TeraTech for Fusebox and their services and a lot of attendees were pretty annoyed by it).
Then Ben Forta and Adam Lehman took the stage and, after about half an hour of the usual "good news" about the state of ColdFusion, they launched into the meat of their presentation: announcements and then new features that "may or may not be in" the next version of ColdFusion that "may or may not be called CF9".
First off, the announcements:

ColdFusion will be free to students and faculty in much the same way that Flex Builder is today. The exact details are still being worked out so watch the Adobe site for more news.

The CFML Advisory Committee. I've already blogged about this and will be blogging more over the next few weeks.

Next, the features (for "will" read "may"):

<cfscript> will be enhanced to allow functions (both UDFs and CFC methods) to have access declarations, return types and arguments. A new component syntax will also allow entire CFCs to be written using <cfscript>. The applause was somewhat belated but I'm very pleased to see this coming!

A new scope local will be added to functions make it easier to deal with local variables. You will be able to declare variables with var anywhere in a function (not just at the top). You will be able to specify the default scope for unscoped variables via <cfsetting>.

We're getting <cfcontinue> as a tag (we've had it in <cfscript> for a while) and we're getting finally and <cffinally> to make it easier to deal with exceptions.

A new keyword (as an alternative to createObject()) and an import keyword to make CFCs accessible to new - just like Java / ActionScript. Some sort of implicit constructor will also be added.

Tired of writing all those "best practice" getters and setters? CF9 will have implicit getters and setters auto-generated based on <cfproperty>.

A Server.cfc will be added to allow for onServerStart() and onServerEnd() handlers in addition to the current application model.

AIR integration will be improved (I didn't catch any details that were given). They showed some MXML containing <cf:...> tags that defined a datasource and SQL queries that will somehow handle automatic synchronization of data between online and offline operation.

The final feature shown - the "big" feature - was deep integration with Hibernate, the de facto standard Java Object-Relational Mapping engine, so that you can simply specify orm="true" and a datasource on a <cfcomponent> tag and then you can load and save that object against a database table of the same name as the component. More enhancements to the <cfproperty> tag will allow finer control over what parts of a CFC are mapped to what parts of the table in the database.
I think a lot of people were a bit bewildered by the Hibernate announcement because they're not using CFCs yet but I think it has the potential to drive CFC usage by making database access even simpler than ever.
After the keynote, I went to Shlomy Gantz "10 Steps to Ruin a CF Project" which was a wonderfully humorous look at why projects fail. Shlomy told us not to test, not to document, not to plan, not to have a process and so on, illustrating each point with real experiences from his project management consulting past. He said he'd trying telling people the right things to do but it never seems to sink in so he's become bitter and wants to try reverse psychology instead. It was a great session and really brought home the important messages.
During lunch I got caught up in conversations and missed the next two sessions (including Bill Shelton's which I really wanted to see). I popped into the speaker ready room to say "Hi!" to Peter Bell and Joe Rinehart but then Brian Meloche and the cfconversations crew arrived to interview Gert Franz of Railo so I ended up in there for another hour (it was a fascinating interview / roundtable - watch the CFConversations podcast for this episode to appear).
I skipped the networking event (again, a guest pass was $150 for the networking event and the special event and that certainly wasn't worth it) so I had dinner with my wife and then we hung out in the bar with a good crowd.

June 19, 2008 ·

I finally have a brief window to start blogging about what I've been up to for the last few months so I thought I'd start with today and work backwards.
Since the first session was at 8:15am and there were only two sessions before the HostMySite keynote, I slept in and went over to the Convention Center for lunch. Sandwiches and the usual lack of sodas and coffee (more on that below).
Then it was my Event-Driven Programming talk at 1:30pm. It was a packed room but the presentation went too quickly even with additional examples. At least I got a good number of questions this time and not as much of the stunned "deer in the headlights" looks that prevailed at Scotch. I'll see if I can improve it for Saturday's repeat (first thing in the morning - ugh!).
Next I went to Hal Helms "Changing the Game" which started with Clark Valberg introducing the "outsourced" Hal Helms (Ajay from TeraTech) to prove the point that if you build up a good relationship with your clients, being outsourced is less likely (the audience chanted "We want Hal! We want Hal!"). The talk covered material that will be familiar to listeners of Out Loud but it's always good to hear Hal give advice and talk about his experiences.
Last up was Alan Howitt's Amazon EC2 talk. He covered a lot of ground and showed a lot of tools so it was a bit frantic and he ran over but it's really good to see cloud computing exposed to more people. He talked through four uses (temporary servers, permanent "general" servers, web servers without persistence and web server with persistence), explaining the pros and cons of the elastic cloud computing approach and how to leverage the S3 storage system.
I headed back to the hotel and then went to dinner in Cure, the outrageously overpriced bistro / bar in the Grand Hyatt, with a bunch of folks and several of us got stiffed on the bill because the (very slow) wait staff seemed unable to deal with multiple checks.
I skipped the special event because TeraTech wanted $150 for a guest to attend and that seemed outrageous. After chatting to Dana Tierney and Judith Dinowitz in the lobby for a while, I headed up to my room to blog. My wife's off doing legislative work this evening.
So far I haven't managed to snag a coffee at the Convention Center, nor have I managed to grab a morning or afternoon snack. There just aren't enough of either put out for attendees nor is there enough lunch it seems. I heard several folks complain about food running out and the unionized staff don't seem to care. I have lots to complain about with the Convention Center but I'll save that for another entry.

June 18, 2008 ·

Mark Drew and Sandy Clark are swapping sessions on Saturday. Mark Drew's CFEclipse Reloaded talk will now be at 4pm in room 152B. Sandy Clark's Accessibility and Rich Internet Applications talk will be at 9:45am in room 140A.