Thursday, 12 June 2014

Better(?) late than never: CF.Objective() recap

I'd kinda decided it was too late in the piece to write this article now, given CF.Objective() was a month ago. Sorry for not writing it up in a timely fashion, but I had a motivation block for a coupla weeks after returning from it. The timing of this blockage was coincidental, and nothing to do with CFO itself.

However I am going to offer some feedback now due to a comment from Jason Dean y/day:

Some discussion ensued, and whilst I think Jason has a point: exactly how hard is it for people to participate in our community, after all; I think the situation was exacerbated by the flakiness of the phone app CFO was using to gather the information. It was unusable on my phone (Galaxy S2) - I mean literally: I could not select the text areas to type in, so couldn't offer feedback - and the whole app was a bit of an organisation shambles. And that seemed to be the only way to log our feedback. So CFO didn't exactly help themselves there.

Anyway, I did not pursue the feedback channel very strenuously as I was planning on writing this article anyhow. Oops.

This is not going to be a very thorough article due to the chronological distance from the material concerned, I'm afraid. All I'm left with is vague impressions and general gut feelings, rather than the detail. Still: Jason et al can take this as my written conference feedback, if nothing else.


Yeah: Friday... the Friday before the conference. Up until around 3pm on Fri 9 May, I was not going to be attending the conference, due to budgetary constraints. But Gert from Railo hit me up on Friday afternoon, offering a spare ticket. I hastily made some calls to see what the accommodation situation would be (ie: confirm that I could doss with someone, to save me money), check flight costs and see if I could get a week off work at two working hours' notice. That all panned out nicely, and £750-odd later I had flights booked to MSP via Philadelphia, for Monday afternoon (flying on Tues would have been more convenient, but £1250!).


I was sitting at LHR drinking awful beer (the only options on tap @ the bar I was at in T1), when I worked out that Andrew Dixon - someone I "knew" from the Railo Google Group - was also in the terminal, and indeed on my flight. So we met up and introduced ourselves etc. Andrew doesn't drink, but he watched me do so for both of us anyhow. He's a good bloke. Except for the not drinking thing. ;-)

The flight was uneventful: I just watched movies (Andrew & I were not sitting anywhere near one another). Philadelphia airport was a shambles though. They simply do not know how to run an international airport. It took over an hour to process across the "border", then two (possibly three?) additional queues and passport checks after that just to go from one end of the terminal to the other. I suspect PHL was not built with the modern approach to international air security in mind, but still the airlines try to make it an international hub. I will actively avoid that airport in the future.

Monday evening I stayed in a cheap-o hotel somewhere in Bloomington; I could not afford the Radisson Blu, even for a night. This is the joint: Extended Stay America - Minneapolis - Bloomington. It suited my purposes other than the fact I was dying for a cold pint having been arsing around travelling for the last however many hours it was, but there was no bar onsite, nor any in the vicinity. It was in a rather commercial / industrial area. I found a pizza place that was open so settled for that.


Tuesday I did something that doesn't seem very popular in Bloomington: I walked from one place to another place, in the outdoors. I walked from the Extended Stay joint across to the Radisson Blue at the Mall of America, a distance of about 5km. Well by the time I corrected from an initial brain fart and directional disconnect, about 6km. Still: it was a nice enough day and I like exploring. In that time I passed only three other people walking along the sidewalk. Weird.

Anyway, I got to the MoA and set up camp at the bar. My room mate was not arriving until late afternoon, I detest shopping, like drinking, so decided waiting at the bar would be a thing to do. And there'd be random people to chat to. I did seem to be the first conference attendee to arrive that day though.

By the time the evening reception came around I was really pretty drunk, and I don't remember a great deal of it, I have to say. Still: it was a good day, and I had a lot of good chats with various people who I forget the identity of now. My brain doesn't record once I have had one pint, let alone a day's worth.


OK, so now the conference has started, and there are some presentations to attend. I will freely admit I was dreadfully (dreadfully) hungover.

Redesigning the Interface: Making Software Development Make Sense to Everyone

Let's put it down to the hangover, but I found this presentation to be completely un-engaging. Not the content, but the presentation. I think the topic was a reasonably good one for the conference (it's very zeitgeisty for one thing), but the presentation didn't do it justice. I noted it was being recorded, so I might try to track down the recording if it's online and rewatch to give it a second chance.

This was disappointing as the previous year's keynote - Dan Callahan presenting on JavaScript's importance in the industry - was a career-changing one for me (I did not change jobs, it was a catalyst for me to re-tune my focus), so I was let down that this one was a bit ordinary.

The Top 5 Things You are Doing Today to Hinder Scalability

This one was more interesting, and Dan is an engaging presenter, but I didn't get a huge amount from it, other than validating some of the things I already thought. I think Dan and I are basically already on the same page as each other, here.

Advanced Caching Techniques with Ehcache, BigMemory, Terracotta, and ColdFusion

Rob knows this stuff inside out, so this is always useful. I'd only seen the second half of this one previously, so decided to see the first half this time. It didn't add much to what I already knew, but it's a worthwhile presentation for those that have no exposure to caching in CFML.

Adobe General Session

This was an odd one. The first half was some third-party bloke describing a stock market game his company were producing in conjunction with Adobe's mobile offerings. It was like an advertisement. It was also odd in that he seemed pleased that they managed to get a working prototype in "only" four months. This seems like an incredibly long time for a prototype, and not at all merit- or mention-worthy. As Jason Dean (I cannot find the message to cite properly) pointed out: perhaps it was more a beta than a prototype, and who knows how polished / finished it was. Whilst potentially true, it's still bad messaging. And - again - Adobe are doing a marketing exercise at a developer conference.

The second half was much better, and Rakshith showed us some code, and did a pretty good job of it.

Introduction to Cordova/PhoneGap

My hangover was getting the better of me by this point, so I was struggling to concentrate, but Ray did a great presentation, and it's made me want to try mobile dev. It also demystified the whole "PhoneGap" thing for me, which removed a significant barrier to entry in my mind. Well done Ray.

I specifically decided to go to this and the <cfclient> presentation to compare and contrast, suspecting that Ray's approach would just be better than Simon's, and demonstrating <cfclient> is a waste of space. Stay-tuned...


Web Components are Awesome (and Polymer too)

This was the first time I'd managed to see Elliott present, and he's really good! The topic was theoretically interesting, but I don't think I can see myself getting involved in it. But it's certainly a good direction for Google to be taking. It did remind me that CFML's custom tags are an interesting parallel here, from a server-side perspective. Far less comprehensive in their implementation though.

Groovy, Learn Another Language

This was probably my favourite presentation of the conference. Firstly I'm dead keen to know more about Groovy, which helps (I have made very very little progress with it since Scott Stroz first introduced it to me in the previous year), secondly both Dan and Josh were so obviously keen on Groovy it was infectious. Plus everything they showed us just had me thinking "this is where CFML could have gone had it had the right aspirations, design and leadership". As far as ColdFusion goes we're probably lost, but whenever I see something cool in Groovy and raise it as an idea with the Railo guys, they generally seem keen to have a look at it, and implement a CFML-friendly version of it. It's possibly too late for CFML, but who knows?

CFML issues aside, this is the second Groovy presentation I've been to, and it just looks like a cool language and I'd love to find an excuse to use it daily.

Railo 5.0 and Beyond

I've already banged on about this... Very pleased to see where Railo are taking CFML, not only in Railo 5.0 (currently closed alpha), but even the inroads they've made in 4.2. Railo is where CFML is at now.

Gert's presentation was excellent: the room was full, the room was clearly impressed with what he was showing us. It was an excellent developer-centric presentation.

Getting Your Hands on CFClient

There was a technical glitch to do with external access or something, so Simon could not do his planned presentation, so he just winged a deep-dive session on <cfclient> instead. Simon did a great job (especially as he did it all ad hoc!), but he didn't convince me to consider <cfclient> in any more positive light.


That was the end of the formal presentations for the day, so I drank beer for a while.

Adobe BOF / Railo BOF

What I said on Twitter sums this up the best:

(btw, I mean Mass in the Catholic church service sense)

I promised myself I would stay as demure as possible in the Adobe one, and just listen to what others have to say. Also to keep a neutral attitude. I didn't have to worry as there was plenty of raised voices and talking over one another and the like. Things I took away from it:

  • they will not. Ever. Open source CFML;
  • they will not shorten the release cycle to be similar to the standard OS approach;
  • Adobe engineers demonstrated they are out of touch with reality, thinking the only thing wrong with the CFUI muck is that the underlying libraries are out of date, and an update to those would sort them out. Ram looked very surprised when this went down like a lead balloon;
  • both Simon Free and Dave Ferguson included <cfclient> in a list of functionality that has no place in CFML. I was gobsmacked by that.


Dave has made a point on the latest CFHour podcast ("Show #217: Back On Track But Still Off the Rails") of denying he made the above comment. I am not going to get into an exercise of "he said she said" (esp as I don't want to work out who's the "she" in this case), but I thought I ought to make note of that here.

I was let down that the Adobe crew called it short because they had a meeting to go to. That's pretty bloody rude & disrespectful. They ought to have not scheduled the meeting when they already had an appointment with us.

On the other hand the Railo BOF was very sedate, and was just a continuation of Gert's presentation from before. I would have liked there to be more two-way discussion, but so be it.

Luis pulled me aside and gave me a first look at CommandBox, which started to impress me right then and there.


Ember.js - A Framework For Building Ambitious Web Applications

Ryan continued to demonstrate he's a great presenter. Ember makes a lot of sense to me, and it's still on the list for me to look at more closely (it's been there since SotR13 though, that said!)

Decouple and Scale with Enterprise Messaging

This was a good taster of RabbitMQ, which we run at work but I've never had to work with. At least I understand what's going on now. And it's also something I want to look at more (although further down the list, as it's a bit infra-structure-y, not code-y)

Getting Started with MongoDB for CFML Developers

This was a perfectly-paced intro to MongoDB from a CFML-dev's perspective. I was able to get MongoDB installed and running through Railo during the course of Dan's presentation, and querying along with his examples. This was cool. Dan's a good presenter and I'll be seeking out his presentations in future (when I get the chance).

FutureJS: An Introduction to ECMAScript 6 Harmony

I talk to Marcin a bit on various onlnie mechanisms, but had not met him. He's a good bloke, and this was an excellent presentation. I was definitely "over" being at a conference at this point, but he still managed to hold my attention. I was able to test some of the stuff he talked about in Firefox as it's already supporting a bunch of this new stuff, and there's some really cool language constructs heading our way.

And that was it.


I did not attend your "Leveling Up at Javascript: Understanding the Confusing bits" presentation, but I flicked through your immense slide-deck and it seemed like it would have been a good presentation to attend. I learnt a bunch of stuff just from the slides alone. Thanks mate.

Bottom Line

It was another good conference, and I was very fortunate to be able to attend, thanks to Gert etc. I met a bunch of cool people at the bar and had some great conversations throughout the day.

Right. So there's some feedback, everyone do with that what you will. And perhaps see y'all next year.