An Architect's View

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

An Architect's View

My cf.Objective() 2013 Presentations

May 12, 2013 ·

Other than noting back in January that all three(!) of my talk proposals were accepted, I haven't blogged about them since, so the only information about them is on the cf.Objective() web site. The session overviews give a fair sense of what you should get out of each presentation and roughly what they'll cover.

Since I have just now finished the three presentations and got all the code working, I thought I'd write up some thoughts about the talks, to help folks who are on the fence decide 'for' or 'against'.

  • Learn You a What for Great Good?, subtitled Polyglot Lessons to Improve Your CFML, this talk looks at some idioms and constructs in JavaScript, Groovy and Clojure (with a brief mention of Scala too), and shows how you can apply them to CFML. A common thread thru the examples is closures, added in ColdFusion 10 and Railo 4, and the code examples make heavy use of them, showing map, reduce, and filter functions operating on CFML arrays and structs to provide many of the benefits that collections have been providing to other languages for quite some time. From JavaScript, I also look at prototype-based objects, and show how to implement that in CFML.
  • ORM, NoSQL, and Vietnam plays on blog posts by Ted Neward and Jeff Atwood to put Object-Relational Mapping under the microscope and look at where the mapping breaks down and how it can "leak" into your code, making your life harder. After that I take a quick walk thru the general "No-SQL" space and then focus on document-based data stores as a good (better?) match for OOP and provide examples based on MongoDB and cfmongodb, with a quick look at how common SQL idioms play out in that world.
  • Humongous MongoDB looks at replica sets, sharding, read preference, write concern, map/reduce and the aggregation framework, to show how MongoDB can scale out to support true "Big Data". The talk will feature a live demo of setting up a replica set and using it from CFML, including coping robustly with failover, and a live demo of setting up a sharded cluster (and using it from CFML) to show how MongoDB handles extremely large data sets in a fairly simple, robust manner.

At the start of each of my talks, I have a "You Might Prefer..." slide listing the alternative talks you can attend if you don't fancy mine after you've seen the agenda slide - I won't be offended!

The slides (and all code) will be available after the conference. I'll post the slides to my presentations page and the code will go up on my Github repository. If any user groups would like me to do remote presentations of these talks later in the year (and record them and post them to Charlie Arehart's UGTV site), just contact me to figure out dates and times.

Tags: cfobjective · clojure · coldfusion · groovy · javascript · mongodb · scala

1 response

  • 1 Jusuf Darmawan // May 14, 2013 at 6:44 AM

    Thank you for posting the presentations and code online.