Software Development, Web Design, Training

Presentations

Need a presenter for your user group or conference? Drop me a line and let's schedule something! --Nolan

Building Your First Package on ForgeBox

ForgeBox is the CFML equivalent to Node’s npm package registry. ForgeBox is a growing collection of reusable open source CFML code available for anyone in the community to use.

I know what you’re thinking: “Hey I’ve got this open source idea I want to share but it’s not a full blown ColdBox app, it’s just a library, or handful of useful functions. Or some other thing I wrote ages ago.”

The truth is you only need to add a tiny bit of machinery around most non-ColdBox code to make it shareable via ForgeBox! We can take collections of functions, or legacy CFincludes or custom tags and other non-ColdBox things and make them usable via ForgeBox without much hassle. Let’s learn how!

Crash Course in CSS Grid + Flexbox

CSS Grid and Flexbox are two great CSS tools that solve a lot of layout problems for us. All the grid layout work we’ve done via Bootstrap can now be done with just a handful of CSS properties that are already baked into modern web browsers. If you’ve ever used Bootstrap just to get an easy responsive layout working (and we have all done this!) you know that Bootstrap works, but this can add a lot of bloat to the application, especially if you’re not using Bootstrap for other features as well. Instead, let’s learn CSS Grid and Flexbox, get the same layout benefits but without needing to install yet another CSS framework.

What's New in Bootstrap 4?

Bootstrap has evolved tons! Version 4.2.1 is out now with new classes for grid layout options, accessibility, spinners, iOS style switches, font utilities and tons more. If you’re using Bootstrap for just 3-column layouts you’re missing out! Come learn about other features in the latest version and ways it can improve your app!

Crash Course in Angular

Angular used to be AngularJS. Then it became Angular 2. Then they skipped version 3.  Then 4, 5 and 6 came out in rapid fire succession. Where do you begin?! We’ll look at how to start building an Angular project from scratch.  Beginning with some basic Node commands, we’ll scaffold out an Angular project and look at how the project is organized.  Next, we’ll walk thru some basics of TypeScript and MVVM basics.  We’ll end with building your first Angular project, some tips on debugging and places to look up more information.

Real World Scenarios For Modern CFML

The recent versions of ColdFusion have added many new language features. We’ve now got closures, functional programming constructs, QueryExecute, the safe navigation operator, the elvis operator, and even more coming in future releases.  For people new to functional programming or object oriented programming, it can be hard to see where these features can be beneficial.  Let’s fix that!

Connecting Vue.js and CFML

Vue.js is quickly becoming one of the more popular JavaScript frameworks. It provides a lot of the same benefits of Angular and React, but with a less intense learning curve, and more flexibility. We’ll start at the very beginning, showing how to install and begin using Vue and some of the basic features it provides. Then comes the server part. How do we send data from the Vue.js app to a server in the cloud? That’s were our CFML code comes into play. In this session we’ll discuss how to get started with Vue.js and how to start building a simple JSON API using CFML. Then we’ll connect the 2 pieces together building a fully working application with Vue.js + CFML.

Connecting AngularJS and ColdFusion

(This presentation can be done as a 1-day hands-on workshop, as a regular 1-hour session, or as a more involved 2-hour deep dive.)

AngularJS is an extremely popular JavaScript framework for building client-side applications.  Angular contains lots of great features and can be used to build both web and mobile applications.  Then comes the server part. How do we send data from the Angular app to a server in the cloud? That’s were our ColdFusion code comes into play.  In this session we’ll discuss how to get started with AngularJS and how to start building a simple JSON API using ColdFusion.  Then we’ll connect the 2 pieces together building a fully working application with AngularJS + ColdFusion.

Crash Course in jQuery

A presentation for folks that are still using “plain JavaScript” and haven’t yet been able to check out jQuery. Perhaps you’ve been stuck maintaining an older legacy app? Or got scared off by a bad explanation of jQuery someone gave you? Whatever the reason is, attendees of this talk will come away with a better understanding of how to start using jQuery in the applications.

Even More HTML5

HTML5 has been finalized but the spec is so big, browser makers have been slow to implement all the features. Still, several new (and useful) things have been making their way into the latest builds of FireFox and Chrome (and those other guys too) that are worth noting. Maybe you can stop relying on so many third-part libraries now. Maybe things that required hacks in CSS before can now be done easily.  Let's find out!

Mura ORM + Feed API = Awesomeness

Two of the most powerful features in Mura 7 are the improvements made to Mura ORM and the Feed API. Mura ORM takes care of your CRUD-type operations, plus manages changes to the database tables as you’re developing. The Feed API can be used to write advanced filters, reports, and other queries. Between these 2 features you almost never have to write a SQL statement again!  We’ll start by looking at some basic examples of how to use ORM and Feed API, and we’ll also look at some real-world examples of using both of these in your custom Mura development.

Infinite Scrolling With Mura 7

Pagination is boring! Let’s add infinite scrolling to our site ala Facebook and Twitter! Mura 7 added several new features that can be combined to do just that. In this session we’ll look at some functions in the new m() scope in Mura 7, new functionality in Display Objects, and how to manipulate them on the client-side at run-time. Then we’ll combine all of this together to show you how to build Infinite Scrolling into your own Mura website.

MVC With and Without a Framework

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, that's not specific to a CF framework...and that's often what causes the confusion for people newer to OO development. In this talk we will go over a basic application that's built using the Model-View-Controller design pattern, but does not use any specific framework to get there. We'll also show when using the MVC pattern by itself may be enough for your app, when going to a full fledged framework may be the better way go to, and how easy it is to do so. For maximum benefit, you should have an understanding of how the CFComponent tag works, and we'll take it from there.

All About Application.CFC

Still using Application.CFM files? You might be losing out on some easy improvements to your application.  Application.CFC takes what Application.CFM does and improves upon it greatly. Rather than having the entire file run on every page request (which can be really slow!), you can break the code up so only sections run the first time the app starts up, when a new user longs on, when a new page request starts, when an error is thrown, and much more.  Though it’s a CFC file, you don’t even have to know object-oriented programming to take advantage of Application.CFC.  In this talk we’ll take a look at a legacy application using Application.CFM and step thru moving the code to an Application.CFC file, discussing the benefits and best practices along the way.

Modularity Shoot-Out: CFInclude vs CFModule vs Custom Tags vs CFFunction

Object Oriented Programming with CFComponents is definitely the direction most development is headed.  But before jumping into OO territory, there is still a lot of modularity and code re-use that can be done with just a few tags - CFInclude, CFModule, Custom Tags and CFFunction.

Git Source Control: for the Rest of Us

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.

Crash Course in Ionic + AngularJS

Ionic is a great tool for building hybrid mobile apps and AngularJS is a great JavaScript framework that plays very nicely with Ionic.  In this talk we'll go over the basics of getting started with AngularJS+Ionic.  We'll look at some real code from each of the 2 libraries and see what all is involved in building a hybrid mobile application. We will finish our journey with a real-life Ionic app presentation powered by RESTFul services.

Dependency Injection, why is it awesome and why should I care?

Dependency Injection is a very common pattern used in modern web development. It's not specific to Java or ColdFusion or JavaScript...but it's equally awesome in all of those! And in other languages too! We'll look at some of the problems that Dependency Injection helps to solve; we'll look at some related concepts such as "aspect oriented programming" (AOP), and inversion of control (IOC); and show you how adding a DI framework to your app might be just the magic your app needs!

HTML5 201

By now we're all familiar with the basics of HTML5 -- new tags for sections of a web page, new form elements, and so on. Now that the spec is finalized, let's take a look at some of the other new features HTML5 has made available to us. In this talk we'll go over things like File IO, audio, video, and SVG support, and show you various new features that are already baked into current web browsers. We'll also show some code samples on how to use them in a modern web application.

Font Awesome - Never Build Icons Again

Tired of having to make "delete", "edit", "new", "save", "confirm", and "purchase" icons for your clients? In 3 different sizes (desktop, tablet, mobile)? And new versions for each color scheme you use? Enter Font Awesome!  Font Awesome gives you scalable vector icons, that are totally customizable, all by just including a CSS file in your project.  It's free, compatible with current devices and browsers, easy to use and customize to your liking.  Font Awesome is compatible with Bootstrap, various other frameworks, screen readers, retina displays and cuts down the time you spend doing "boilerplate" work in PhotoShop for every project!

Getting the most from Ember.js

Ember.js is a popular MVC framework for JavaScript. It can be a great way to build complex client-side applications. We'll cover some prerequisite topics (scope, context, closures) then we'll start covering some of the Ember basics – URLs and routing, naming conventions, models, controllers, views and actions