Friday 8 November 2013

Vote for CF.Objective() presentations... even if you're not attending

There was chatter doing the rounds on Twitter a few days back that there's perhaps not as much community uptake as far as voting for what presentations will be given at CF.Objective() 2014.

I've voted for a few presentations, even though I'm unlikely to be attending the conference. I think it's important and useful information for the conference organisers to know what sort of thing the broader community is interested in as far as technology topics go.

Go have a look at the cf.Objective() Call For Speakers 2014 page, and vote for stuff you find interesting. Unfortunately the UI is a bit obstructive, and not a great UX, but stick with it. Also worthy of note is that a lot of people seem to be missing that there is a horizontal scroll bar... most of the presentations are listed off the right-hand side of the screen. So vote 'n' scroll.

As a taster / tempter, here's the list of presentations I'd attend if I was going (in order of left to right ;-)

ColdSpring and DI/1 Comparison - Nolan Erck

DI/1 is gaining in popularity, ColdSpring 2 has been quasi-available for a while now too. But do newbies know what they are and when/why to use them? Let's do an intro to the concept of "dependency injection" and see how both ColdSpring and DI/1 handle this facet of development.
I haven't even got around to looking at FW/1 yet, but it's on my list and I want to look @ DI/1 too. I've been using Coldspring for a coupla years but it's mostly dead as far as projects go, so I want to see what a more contemporary DI framework has to offer. This could give me the motivation to take a more serious look.

Exploring OO Anti Patterns in ColdFusion - Darren Walker

Have you ever written some code using a clever pattern that you thought was awesome, only to find some 'expert' on the 'internet' actually criticising the pattern and calling it rude names. Well, I am not that expert.

However in this session I plan to look at the reasons why perfectly reasonable looking patterns of software development are considered poor form. [...]

I saw Darren give a similar presentation at SotR 2013: "ColdFusion Anti-Patterns". It was a great presentation (although Darren ran out of time), and I could have listened to a lot more. And it's also great inspiration for bar chatter later on ("but I like hungarian notation!" "well then you're a dick!" etc). This sort of topic is always good food for thought... and perhaps you'd find out your favourite practice is something that the rest of the industry shies away from!

Building REST APIs with Sinatra and Ruby - swing when you're winning - Matt Gifford

In this session we will explore how to build a RESTful application using the Sinatra framework, built on top of the Ruby programming language. We will explore installing Ruby, creating our first Sinatra application, the use of route definitions to handle multiple METHOD request types [...]
Matt's just one of those presenters who's just good to watch / listen to irrespective of the topic. And REST & Ruby are things I'm interested in. My interest in Ruby is not specifically linked to Ruby itself, per se; just that it's a different language with a slightly different paradigm from CFML. So I'm slowly teaching myself it, and seeing what lessons both myself and CFML can learn from it.

Caching strategies with Railo - Gert Franz

Things to take away from the session: - different caching mechanisms
  • different noSQL providers and memory servers
  • proper clustering with Railo
  • How to do smart caching in your application
  • Pro's and con's of different approaches
Railo's a great performing CFML engine to start with (much faster than ColdFusion in all areas I've encountered), but it's still important to know how to offload less dynamic work to other mechanisms to free up the server. I'm shifting my focus more to Railo, so it'll be good to know about this stuff.

Moving to Railo - Hints, Tips and Tricks - Gavin Pickin

To give audience insight into what the move to Railo might mean for them… highlighting items they might not have thought about, and maybe give them the strategy to overcome some of the hurdles, and make an informed decision on how feasible a move would be for them… using the lessons we learned, to help make someone else's migration, a happier one.
One of the barriers to entry in moving from ColdFusion to Railo is that there are a few - but moderately significant - considerations to make. Especially if moving from CF9 (JRun) to Railo (Tomcat). I've ported an app to Railo, and knowing the gotchas ahead of time would have helped a lot.

Plus Gavin's a fellow Kiwi and a mate, so I'd go along anyhow.

Using OWASP ZAP to find vulnerabilities in your web apps - David Epler

Five main points
  • What is OWASP ZAP
  • Why use ZAP
  • Testing for vulnerabilties with ZAP
  • Automated Testing
  • Directed Testing
  • Integrating ZAP with other tools
 (Dave: that's six points ;-)

If there's one thing we've learned recently: the CFML community need to take security more seriously. We can't rely on Adobe to provide a secure product (it seems), so we need to know how to look after ourselves.

Best Practices are Best, Except When They're Not - Nolan Erck

A code-review of sorts where we go over some of the real-world situations when things just don't go the way the Stack Overflow Gods say they should. We'll look at the pros and cons of solutions in these situations and the lessons hopefully learned along the way.
I'm a firm believer that these "rules" we have as developers are sometimes adhered to with too much dogma. I guess this is because devs are binary sort of folk. Once one understands a rule thorough (not just the "what" but the "why"), then it's OK to consider not following them, if appropriate for the situation.

Also often dogma is handed down from on high by the developer gods, but they never really explain why they've decided what they're pronouncing about. So perhaps Nolan is offering a bit of a mind-shift here.

what not to do even though coldfusion allows you to - Mike Henke

light hearted, public humiliation of code I have wrote and seen

Sounds like a "war stories" session. And we all love a good war story.

I wonder if he'll mention <cfclient> ? ;-)

Node.js: Why Would Anyone Want to Write Their Own Web Server? - Sharon DiOrio

Explaining why node.js is more than just another web server and sometimes it's worth checking something out despite it being hip.
node.js is one of those things that I really want to find time to look at... but never do. So, again, this might be the motivation to have a look.

Creative Node.js - Ben Farrell

(I don't know Ben and am only guessing that "Ben Farrell" I've linked to is him?)

In this session I'll cover what Node.js can do without a webserver: no HTTP requests allowed!
It just sounds fascinating. And an interesting contrast to Sharon's topic title.

Enhance your workflow with Grunt.js - Matt Gifford

This session will introduce the attendees to Grunt.js, an incredibly powerful task runner
The attendee will leave with a clear idea of what is possible with Grunt.js, and how to introduce it into their development workflow and cycle.
I've heard people talking about Grunt more and more often, but have no idea what it is. So I figure I should find out!

PhoneGap 3 - mobile development for all of us - Matt Gifford

This session will introduce the core changes and development practices available in the updated PhoneGap API (version 3).
I need to get into this space (and I'm sure as hell not going to use <cfclient> to do it) and Matt - literally - wrote the book on this ("PhoneGap Mobile Application Development Cookbook"). So he'd be the one to listen to.

BDD (Behavior Driven Development) - Change the way you code - Luis Majano

To introduce attendees to the basics of behavior driven development and also the application of such concepts using CFML and TestBox, the BDD testing framework for ColdFusion.
I'm sure this is a loosely-veiled product pitch from Luis, but I still want to know about BDD, and also actually do want to look at TestBox. I probably will have done so before cf.Objective() as part of my TDD / Unit Testing series of articles I'm working on, but still it'll be handy to get the info straight from the horse's mouth. Not that yer a horse, Luis.

Stop Making Excuses And Start Testing Your JavaScript! - Ryan Anklam

This topic aims to educate and inform developers just how easy it is to get started writing unit tests for their JavaScript.

What people will learn:

  • How to pick the right unit testing framework
  • How to add unit testing to their projects
  • How to write testable javascript
  • Tips and tricks for writing better tests
  • How to make testing easy and fun with test automation
The title of this talk is almost as if it's directed at me personally. I know I should be testing my JS... but I don't. And not sure why.

That said, again, I'll be looking into this in my series about testing. So I had better get up to bloody speed with it!

Say goodbye to “it works on my machine” with Chef and Vagrant - Curt Gratz

Learn what Vagrant and Chef are and how and why you would use them. We will look at how using automated environments lets you develop quicker and more easily. We will take a look at some of the options for setting up various stacks (NGNIX vs Apache, ACF vs Railo, CentOS vs Ubuntu) and how you can quickly compare stacks using Vagrant and Chef combined. Discuss how to use the same Chef recipes to setup production environments.
Like Grunt.js... have heard all about these recently, but have no idea what they are. So want to find out what all the noise is about!

Git Source Control: for the Rest of Us - Nolan Erck

What about those designers/JS/CSS folks that WEREN'T using Subversion, and don't CARE about how under the hood Git uses a different type of pointer file storage thing, blah blah blah? There's a whole new wave of developers/designers that could stand to have an intro to Git that matches their workflow more concisely.

I use Github, but only really commit / push / pull my own stuff. So a gentle course in how to do the rest of the stuff Git does would be handy!

Getting Started with MongoDB for CFML Developers - Dan Skaggs

Introduce MongoDB and demonstrate how to integrate it into your CFML applications

I've seen a prezzo on the admin side of MongoDB: "Humongous MongoDB" (by Sean), and from a general developer POV with at CFCamp: "Level Up! Taking your ColdFusion apps to the next level with MongoDB" (David Waterston). Despite the title, I didn't think David's presentation was particularly CF-centric. I'm sure Dan's one will be. Note that I don't mean to say that David's presentation wasn't good, but I'd like to see more about working with MongoDB from a more focussed CFML perspective.

Open Yourself to Closures - Adam Tuttle

Demystify closures. It's an easy topic with a scary name -- there's nothing to be scared of!
I just wanna see Adam's spin on it. I'm fairly comfortable with closures, but it's always good to see another person's spin on it.

Building non web applications with Railo 4 and Bleeding edge - Alex Skinner

(You looked stoned in your profile pic, Alex!)

Alex will cover different types of event gateways and how they can be used for building non web based applications.
Specifically he will show the Pixl8&Railo jointly sponsored SMTP event gateway and how Pixl8 are using it to develop a SAAS application.

The task gateway and even a jabber gateway for interacting with our team.

The architecture will be reviewed including how to build a Highly available message queue with Railo.
This is probably the most interesting CFML topic I've seen suggested for a CF conference. I think event gateways have huge potential but are under-reported in CFML. It's pleasing to see topics coming through on CFML that I have no idea about!

Intro to MVC With and Without a Framework - Nolan Erck

So you've looked at CF Components, and kind of understand the basics of how they work. Everyone says "frameworks are the way to go", but there's still a big knowledge gap between those 2 points. As each framework has its own terminology, how do you know where verbiage for one begins and the other one ends? Is "Controller" a Model-Glue specific thing? What about a "Service Layer" or a "View"? There's very little documentation available about the "Model-View-Controller" pattern for ColdFusion [...]
I voted for this less because it would be relevant to me, and more because it's relevant to the broader CFML community. A lot of people in the CFML community seem to shy away from frameworks still (they are wrong to do so). But Nolan makes a good point here that deserves follow-up: one can actually write good MVC code without a framework.

Ember.js - A Framework For Building Ambitious Web Applications (Deep Dive) - Ryan Anklam

To introduce audience members to the basic building blocks of Ember.js applications.
I'm just interested in learning all the JS stuff I can, and I don't know much about Ember.js. It's time I did!

That's only a few of the 100-odd topics in the mix. This year's cf.Objective() had about 80 sessions, so a fair few of these will get the chop. Have your say on which sessions ought to be presented!

And I need to find a way of being able to afford to attend in 2014...