Presentations
Below are links to my conference presentations. Please feel free to download and use any of the material below.
A Swift Introduction to Swift (pun intended)
Presented at: Columbus Code Camp (2016) , M3 Conference (2016)
Swift is Appleâs innovative programming language for Cocoa and Cocoa Touch. Coupled with Xcode, it is now the ideal way to develop your iOS mobile app. Instead of pouring through a bunch of slides with code samples sprinkled in, this pre-compiler session will be hands on. Bring your Mac laptop with Xcode 7 installed and weâll walk through developing an iOS app using Swift. Along the way, weâll work through all the necessary language syntax including types, operators, control flow, functions, closures, collections, classes, properties and methods. Weâll use auto layout inside Xcode to lay out the user interface for our app. Weâll also attempt to demystify the world of optionals. The material and checkpoints for this session will be posted on GitHub prior to the start of this session. This pre-compiler is for developers experienced with an object oriented language like Java or C#. Previous experience with Xcode is helpful too but not required.
AWS Java Lambda Functions with Kotlin
Presented at: Beer City Code (2018) , Ohio DevFest (2018)
Kotlin is a statically typed programming language that enables concise and understandable code without sacrificing performance, safety or 100% Java compatibility. That last bit is key. Developing an AWS Java Lambda function using Kotlin is possible because Kotlin is 100% compatible with Java. In this talk, attendees will learn how to implement the necessary AWS interfaces and classes to accept an incoming JSON request, return a JSON response and implement logging that integrates with AWS CloudWatch. Attendees will also learn how to package and deploy the lambda function to AWS. Comparisons will be made to Java to demonstrate how Kotlin makes developing an AWS Lambda function simpler and more concise. Attendees will leave this session with the knowledge necessary to develop their own AWS Lambda functions using Kotlin.
Boost Your Teamâs Bus Factor: Creating Docs That Work
Presented at: Cincy Deliver (2025) , Momentum (2025)
Is your team struggling with undocumented knowledge, repeating the same conversations, or relying on tribal memory? You might be in an invisible documentation crisisâwhere critical information is lost even without anyone leaving. If this sounds familiar, youâre not alone. Great documentation can be the difference between a thriving team and a knowledge black hole, but getting buy-in isnât always easy. In this session, youâll learn how to sell the value of good documentation and, more importantly, how to create living documentation that stays relevantâwithout becoming a maintenance burden. Weâll cover: ⢠What makes documentation effective (and what makes it fail) ⢠How to avoid âdead docsââjust like dead code ⢠Practical techniques to integrate documentation into your workflow ⢠How AI can help write effective docs ⢠Real-world examples of documentation that actually works By the end, youâll have actionable strategies to increase your projectâs bus factor and ensure your team never loses knowledge again. Donât let documentation be an afterthoughtâcome learn how to make it a game-changer.
Dogs and Cats, Living Together: Kotlin, Spring Boot and REST on Azure
Download Slidedeck
GitHub Repository
Presented at: DogFoodCon (2018) , Momentum (2018) , Music City Tech (2018)
Kotlin is a statically typed programming language by JetBrains that can enable more concise and understandable code than Java without sacrificing performance, safety or 100% Java compatibility. Spring Boot accelerates the creation of stand-alone Java/JVM based web apps with minimal coding. And Azure makes it straightforward to deploy and host Java/JVM based web apps. Come to this session and learn how to use all of this goodness together to develop and deploy REST APIs. Attendees will learn how to use Spring Initializr to create the project, how to use Kotlin and Spring Boot to develop a web app with concise, boilerplate free code that exposes REST APIs and how to deploy and host this web app in Azure. This session will wrap things up by using a HTML/JavaScript client to test the REST APIs. The GitHub repository for this session will be made available beforehand so feel free to bring along a laptop to walk through the sample code together.
How a senior engineer with 30+ years under his belt stayed and advanced on the technical track
Presented at: Beer City Code (2021) , Momentum (2021)
So, why should you listen to me? We will start by giving attendees my 30+ year career summary in (hopefully) 5 minutes. Then, we will move onto why and how someone can not only stay on the technical career track but also achieve real advancement and career fulfillment. This quote from Steve Jobs best sums up the motivation for this talk. "Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle." Let's get together and discover how to do this.
Hybrid or Native - What Should Be Your Mobile Strategy and Why
Presented at: M3 Conference (2015)
Your organization or business wants to provide a mobile solution to better serve your customers and/or your workforce. The goal is to reach the widest range of devices possible; but the solution must be developed quickly and cost effectively. Youâve heard about the hybrid/web approach, pseudo native approaches like Xamarin and their ability to target multiple platforms and youâre intrigued. Youâve also heard that native provides a better user experience and higher performance. This session will kick off by giving an overview of the popular available approaches, using my architecture and development experience at clients who have utilized these approaches to solve their mobile business needs. This will level set the knowledge of the attendees and allow everyone to have a good understanding of the available approaches. We will then have an open and collaborative discussion on the pros and cons of each approach. You will leave this session better informed and with information that will help you and your organization decide which approach is best for your mobile solution needs.
Implementing Push Notification Support in your Android Application
Presented at: CodeMash (2015) , M3 Conference (2014) , That Conference (2014)
Google Cloud Messaging (GCM) is a free service that allows you to send data from your server to your Android application. This can be lightweight messages telling your app there is new data to be fetched from your server or it could be a message containing up to 4kb of payload data. This demo intensive session will walk you through the steps necessary to implement push notification support using GCM inside your Android app. The GitHub repository for this session will be made available beforehand so feel free to bring along your laptop to walkthrough the demos during the session. The following topics will be discussed and demonstrated.
Living on borrowed time; or Dude, where are the docs?
Presented at: CodePaLOUsa (2016) , Columbus Code Camp (2017) , DogFoodCon (2016) , Path to Agility (2016)
In a recent Stack Overflow developer survey, poor documentation is the #2 challenge at work. How does this impact your project? Without documentation, development teams will likely have a poor bus factor. What does this mean? Critical project information gets siloed inside the minds of a select few key contributors. Those key contributors become indispensable. They spend valuable time responding to requests for that knowledge over and over again. And, when those contributors are unavailable, projects can grind to a halt. Itâs like they were hit by a bus. Come to this session and learn how documenting your development project will not only prevent âbeing hit by a busâ but will also save time and improve efficiency. This will help attendees sell the value of documentation to their managers and companies. Attendees will then learn practical real world advise on how to write and maintain the documentation with particular emphasis given to what to include. Example documentation will be shown and shared to help reinforce what is presented. The time to document is now and this session will help you get started.
Real World Mobile App Development Using Phonegap
Presented at: M3 Conference (2014) , StirTrek (2013)
You made the choice to use PhoneGap and web based technologies to develop your mobile app. You worked through the platform guides and now, you are ready to take the next step. This session will cover the essential web based technologies, the frameworks and the tips, tricks and techniques to develop and deliver a PhoneGap based mobile app that runs on Android and iOS. You will leave this session with the information necessary develop and deliver a real world mobile app using PhoneGap. The following topics will be discussed and demonstrated. Effective use of PhoneGapâs command line tools with IDEs to develop and build your app, Delivering iOS and Android apps using the same project and code base, Data management with JSON, HTML5 local storage and SQLite, Effective binding between your HTML and your data, Managing arrays, collections, functions and Ajax requests, Reusable HTML rendering templates, Globalization using jquery / globalize and i18n, Adding push notification support, Must have add ons and libraries including digital signature support, Debugging, testing, performance, lessons learned and gotchaâs.