I'm Speaking at jQuery San Diego!

I'm really excited that I have been asked to speak at this year's main US jQuery conference in San Diego. This is the first time I've been asked to speak at a non-education, non-ColdFusion related technology conference, so I feel like it's a big step forward for me. I'll be speaking at a conference with some pretty awesome JavaScript hackers, and hope that I can meet the expectations of the audience with all those smart people around!

My presentation is titled "Promises, Promises: Unlocking the Power of jQuery's Deferreds." It's an updated (and shorter!) version of a talk that I gave at NCDevCon 2013. jQuery Conference sessions only run 30 minutes, so I've got to cut out a good amount of material, and I want to update it to look at implementations of promises in current, ES6-compliant JavaScript engines.

Here's the description of the session. I can't wait!

Managing the order in which asynchronous callbacks in JavaScript occur can be a nasty business. Without a lot of overhead and management, you're never quite sure that a certain callback has succeeded or failed. One technique for handling this problem that has gained a lot of traction in the past year is to use deferreds and promises. In fact, if you're making jquery.ajax() calls, you're already using deferreds and promises. In this session, we'll look at how deferreds and promises bring order to the chaos of multiple asynchronous JavaScript calls -- often known as "callback hell." We'll look at how you can leverage promises when making network requests, loading content on the fly, caching resources, performing serial transactions, and building a publish/subscribe model for browser or server-based applications.

Slides from My CF Summit 2013 Presentation "Start Using Amazon Web Services in Your ColdFusion Apps"

You don't have to look much further than the relevant tweets and blog posts to know that the first official CF Summit was a great success. It was awesome to be a part of this inaugural event, and I certainly hope that I get the opportunity to give a presentation next year.

Attached to this post are the slides from my presentation "Start Using Amazon Web Services in Your ColdFusion Apps." I know I went pretty quickly (one tweet described it as "drinking from a firehose"), but I actually felt like everyone kept up and was really satisfied with what I covered. With the slide deck, you can now check out all the resources I pointed to during the presentation. You can also find the presentation slides in the Dropbox folder for CF Summit 2013 speakers.

If you have any questions about CF + AWS, feel free to drop me a line!

Slides, Code, and Links to Recordings from My NCDevCon 2013 Presentations

NCDevCon continues to be one of the best conferences for web developers that I've had the privilege of both speaking at and attending. The speakers are excellent, the location great, and the price is incredibly low compared to similar conferences. I look forward to going again next year (and hopefully speaking too!).

At this year's conference, I gave two presentations. The slides, related code, and links to the recordings of each session are listed below. The slides contain references to all of the articles, sites, and tools I used in putting together my presentations.

I apologize that the end of my talk on Amazon S3 and CloudFront is slightly cut off. That's completely my fault for going three minutes over the allotted time. (I swear, when I rehearsed -- and I rehearse a lot for my presentations -- it came in at 45 minutes!)

If you have questions, feel free to post them here!

Promises, Promises: Unlocking the Power of jQuery's Deferreds

Better (and Cheaper!) Content Management with Amazon S3, CloudFront and ColdFusion

NCDevCon 2013 Is in Less Than Two Weeks, and I'm Speaking There Twice!

NCDevCon has to be one of the best bargains around when it comes to technology conferences. Not only does the conference have a great lineup of very good, very knowledgeable speakers on all things Web — JavaScript, mobile, design, devOps and workflow — it's also super cheap. This year it's $200 for the weekend conference. It's also located in Raleigh, NC, which is a very affordable travel destination and near to one of my favorite BBQ places in the US: Allen & Sons.

I'll be presenting twice at the conference this year. It's a little overwhelming trying to get two new presentations done, but I'll certainly do my best!

The first topic is "Promises, Promises: Unlocking the Power of jQuery's Deferreds." This session focuses on one of the most annoying problems with asynchronous JavaScript: managing the order in which asynchronous callbacks in JavaScript occur. Promises are a recent approach to this problem and have a lot of power that can be leveraged throughout JavaScript applications. I'll give an in-depth look at how promises work in jQuery, but also look at how they work in Node.js as well.

The second topic is "Better (and Cheaper!) Content Storage With Amazon S3, Cloudfront, And ColdFusion." This session focuses on handling ever-increasing storage needs for your websites and your clients by leveraging Amazon's pretty awesome S3 and CloudFront services. While the code in this session is ColdFusion code, you can take advantage of the power and flexibility of S3 and CloudFront using almost any server-side language. If S3 serves as photo storage for Instagram and CloudFront serves as the content delivery network for Amazon itself, then they'll both definitely work for your needs!

I look forward to a lot of great sessions at the conference. If you're there, feel free to say hi!

I'm Speaking at the First Official Adobe ColdFusion Summit!

I'm very pleased to announce that I have been asked to speak at the first official Adobe ColdFusion Summit, which is being held in Las Vegas on October 24 - 25, 2013.

While the final session names haven't been announced, I can say that I'll be talking about Amazon Web Services (AWS) and ColdFusion. I gave talks about architecting highly available ColdFusion apps at both NCDevCon and cf.Objective this year, and both talks included a lot of information about architecting for AWS.

The Trello board for CF Summit session ideas had two proposed sessions related to AWS and ColdFusion. "Cloud AWS & PaaS (possibly two topics)" and "VFS, File handling, CFHTTP, S3 (What is a file anyway?)" both made references to using ColdFusion with AWS, and my current plan is to try to pick from both cards for my talk. I think that a PaaS (platform as a service) comparison is probably way out of the scope of an hour-long session at the CF Summit, so my plan is to cover the following:

  • AWS Overview
  • S3 integration in ColdFusion
  • The official CF10 AMI (quick setup and some caveats)
  • A quick reference architecture for CF apps on AWS
  • The reality of running production apps on AWS (gotchas)

I'd love to hear feedback about this. Would these topic areas interest you? Are you looking for something more advanced? Remember, I only have about 50 minutes for the entire session, and although I'm a fast talker, I can only cover so much!

Non-Technical Presentations: Double Speaking Duty at UBTech 2013

As much as I love giving talks on Web development at conferences like cf.Objective() and NCDevCon, I also talk at numerous educational technology conferences throughout the year. I've been asked to speak at the always-interesting UBTech 2013 conference this year — and not to speak just once, but on two different topics!

I've had the privilege of speaking at this conference for the past two years, but this year I'm taking on double duty by giving two separate talks. They are:

  • From Media Hype to Reality: One University's Experience with Coursera: My team has been offering Massively Open Online Courses (MOOCs) on the Coursera platform for a year now. There's a huge amount of hype and concern about MOOCs and how they will affect (save? destroy?) higher education across the globe. My colleague, Ira Gooding, and I will be talking about our direct experience offering MOOCs and how that differers from the sometimes exaggerated stories being pushed out in the education and technology media. MOOCs are really interesting, and are a serious pressure point on most colleges and universities, so we expect good discussion at the end of this session.

  • Unleash Your Inner Spielberg: The Director's Cut of Online Lectures: This is another variation on the very popular talk that I've given at a number of conferences over the past few years, and a talk that I've given in long workshop form as well as an annual talk to students where I work. This talk is all about using techniques from the worlds of film and theater to create more engaging lectures that result in greater learner information retention. I really enjoy giving this talk, and this year there's new stuff on how cognitive science is telling us to focus, edit, and sharpen our information delivery in order for people to actual retain the information they are given.

If you happen to be at the conference, please come check out these sessions!

Slides from My cf.Objective Session on Highly Available CF Apps

The organizers of this year's cf.Objective() had the brilliant idea of setting up a shared Dropbox folder for the slides, code, and supporting materials from all sessions at the conference. I've posted a PDF of my slides from my session, "Making Your ColdFusion Apps Highly Available," to this Dropbox folder. The PDF includes links to a lot of the tools, services, and articles that I referenced in my talk.

Thanks again to everyone who attended, and for the excellent questions and feedback I've received after the session.

Based on some of the questions I've received, I think I'm going to put in a conference proposal next year to talk about Amazon S3 and CloudFront, and how amazingly simple they are to use in ColdFusion!

My cf.Objective() 2013 Schedule

As a number of other folks in the CF community have been posting their cf.Objective() 2013 schedule, I thought I'd do the same — and promote my session in the process.

Thursday, May 16

10:10am: Learn You a What for a Great Good? Polyglot Lessons to Improve Your CFML!

Sean is an excellent speaker, and all-around smart guy. I know I need to learn more languages (my attempt at picking up Groovy went OK, and my attempts at learning Ruby stopped at Rails 101), so it feels like a good opportunity for motivation.

11:20am: The Art of JavaScript: Level Up Your Skills in 60 Minutes

I can always write better JavaScript. Always!

2:35pm: Nothing.

Why is that? Because I'll be preparing for my two hour deep-dive session which begins at 3:45pm.

3:45pm: Making Your ColdFusion Apps Highly Available

This is my session, and one I'm both excited and terrified to present. The topic is so deep and the complexities so great (especially when talking about building for the cloud) that, in the two hours allotted, I'm hoping to give a solid foundation for building a highly available CF application in a cluster and giving an overview of options for the rest. There won't be a lot of code, but there will be a lot of architecture!

Friday, May 17

9am: Building a Single Page App with AngularJS, Bootstrap, and CFML

I want to learn more about AngularJS. I love Bootstrap (it saves you so. Much. Time.) I prefer to use CFML on the backend in most cases, and Kurt is another super-smart guy and a personal friend.

11:20am: Nginx and CFML Apps

I've only ever used Apache and IIS as a front-end to my CFML apps. Nginx gets a ton of play in the Node.js world, and as I develop more there, expanding my knowledge about the server is a good thing.

2:35pm: Who let a bum into the kitchen? Using Vagrant and Chef to create development environments

Chef is becoming an almost required tool in cloud environments, particularly AWS. (Want to know why? Come to the second half of my deep dive on Thursday!) I'd love to see how to leverage it on the desktop and for testing.

3:45pm: Humongous MongoDB

MongoDB is probably the leading persistence engine for Node.js apps, and, thanks to Marc Escher, is easily accessible through CF. I look forward to hearing Sean's experience about deploying and running MongoDB in real production environments.

Saturday, May 18

9am: Grow a Backbone.js and drag your apps out of the past with JavaScript Templating

More JS, though I may head on over to Luis Majano's session on AOP, as I find ColdBox to be pretty impressive.

10:10am: It's either going to be "IIS 8 Troubleshooting Features for CF Admins" or "Railo 4.0 - Developing with Railo." We use IIS for deployment at my place of work, but haven't made the upgrade to IIS 8 yet, and Railo is a superior option for autoscaling deployments on AWS. (Want to know why? Come to the second half of my deep dive on Thursday!)

11:20am: Architecting ColdFusion Applications with AWS

In case you haven't noticed, this is a topic near and dear to my heart. Aaron has been working long and hard to deal with some of the issues with deploying CF10 on AWS.

1:45pm: REST APIs: Easier Than You Imagined

We need to build more REST-based APIs for our projects at work, and I've not been pleased with the REST implementation in CF10 (particularly with the administrative burdens it creates). I know Adam has a lot of experience in the area, and we're definitely considering a framework like Taffy or Relaxation for our work.

3pm: Metrics Driven Development

I'm bad on metrics and measurement. Well, not terrible bad, but not particularly good. I hope this session is the good, swift kick that I need.

I'm really looking forward to this year's conference. The content is always excellent, and I'm very proud that I've been asked to speak for a second year!

Diving Deep at cf.Objective()!

I'm honored to have been selected to speak at this year's cf.Objective() conference. I got the opportunity to speak for the first time at cf.Objective() last year, and this year, the good people on the content selection committee asked if I'd do a deep dive on my proposed topic: Making Your ColdFusion Apps Highly Available.

The full sessions description and outline is at the link above. However, that description and outline were written before the topic was selected as a deep dive session (which runs for two hours instead of one). I do plan on adding a bit more, including information on:

  • monitoring options for the local cluster
  • using a message queue (ie; RabbitMQ/ActiveMQ) in your architecture
  • separation of services to ensure availability when one service (ie; PDF generation, custom reporting, email) fails. This is particularly important for AWS/cloud deployment.
  • moving existing apps to the cloud vs. building cloud-native apps

Once I get the outline finalized, I'll try to get it updated on the cf.Objective() site.

Anyway, thanks again to the cf.Objective() conference team. I can't wait!

cf.Objective() 2013 Call for Speakers is Now Open

cf.Objective() is my favorite ColdFusion-related conference. No offense to the great teams who put together NCDevCon (also pretty damn awesome) and MAX, but I've always been the most challenged and gotten the most out of my time at cf.Objective(). Last year, I was privileged to be asked to speak at the conference, and I hope to do so again this year.

The cf.Objective() team has just opened the call for speakers for the 2013 conference. They really want to see proposals around the following topic areas:

  • Software Architecture & Design
  • Integration & Tools of the trade
  • Security
  • Mobile Development
  • Front End Development & Design
  • Javascript aka js.Objective()

If you think that you're not smart enough or a good enough public speaker to speak at a conference like cf.Objective, do not sell yourself short!. If you have strong knowledge on a subject area that is of interest to developers, they will want to hear you talk. We've all had interesting or difficult challenges to overcome in our daily work, and those make for really good conference presentations (conflict is a great hook for structuring a presentation, plus you get to show how you overcame the problems).

You have about a month to get your proposals in, so get to it!

More Entries

BlogCFC was created by Raymond Camden.

Creative Commons License
The content on http://www.iterateme.com/ is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.