I’m available as a speaker (and Code.org volunteer in OKC, Oklahoma) and have given the following talks in the past. For any inquiries, shoot me an email.


Running a Rails App with Docker – 40-45 min

In this talk, we’ll take a simple Rails app and live-code it to work with Docker – and then use Docker Compose to manage some neat services (such as background jobs and email sending) that will all communicate together.

Building a JSON API with Rails – 40-45 min

In this talk, I live-code an entire MVC RESTful API using the Rails framework, all the way from scaffolding some models to handling serialization, authentication, and more. Prior knowledge of Ruby on Rails is helpful, but not necessary.

JSON API Best Practices with Rails – 40-45 min

In this talk, we’ll review and live-demo 3 deeper concepts of JSON API architecture: The JSON API spec, Pagination, and Versioning

Metaprogramming in Ruby – 40-45 min

Metaprogramming is a concept that stretches across languages, but Ruby allows you as the developer to take it to the max and write really powerful (and dangerous) code. In this talk, I review modifying existing classes, ruby’s object model and the ancestors chain, defining methods dynamically, modifying scope, ruby’s various closures, the various eval methods, and much more. There are plenty of interactive code examples I go through with each new topic.

Getting Started with Sinatra – 10-12 min

This short talk has no slides and is strictly live-coding a small Sinatra app – explaining along the way how to handle various HTTP requests, render templates, return JSON, handle errors, and deploy to Heroku.

What is Ruby? – 15 min

This short talk digs into some core concepts behind what makes up Ruby MRI as a language implementation, such as memory management, interpreted nature, type systems, and concurrency.

Type Introspection and Reflection in Ruby – 15-20 min

In this talk, we interactively learn the programming concepts of type introspection and reflection, how other programming languages apply these concepts, and finally, how Ruby applies them. This talk ends with a session over eval statements (as a form of reflection) – and how they can be used for both good and evil.


Python vs Ruby – 40-45 min

Python and Ruby share a lot of similarities both syntactically and by design – probably moreso than most other common languages you hear about today – but they’re clearly different languages with different ways of doing things.

In this talk, I’ll talk about how Ruby works compared to Python. Most of the presentation will be live-coding driven, and if you have specific questions about how Ruby works, I’ll be more than happy to interactively answer them and code them out. This talk will be completely unbiased – which means you should come with that mentality in mind as well! Neither Ruby nor Python are “better” than the other – they’re just different, and that’s what we’ll be focusing on!


How WebSockets Work – with Socket.io Demo – 40-45 min

In this talk, we’re going to cover how WebSockets work. About 80% of this talk will be a live coding demo where we’re going to build a simple chat app using WebSockets with the help of the Socket.io node library – all live coding, explaining everything on the way. The rest of the time will be dedicated to explaining the WebSocket protocol, how it differs from standard HTTP, and why you should (and maybe shouldn’t) use WebSockets in some of your projects today. In the end, we’ll have an application similar to websockets.thesocietea.org.

Prototypal Programming in Javascript – 40-45 min

Javascript is a prototypal OO language – not a class-based OO language like many developers are used to. In this talk, I’ll review what it means to be prototypal, how it differs from class-based languages, and how you can structure your Javascript today to take advantage of this paradigm. This talk covers the core topics of how Javascript works – there won’t be any plugins, libraries, or frameworks discussed, just pure Javascript. We’ll cover what prototypes are, the prototype chain, how “inheritance” (or more correctly, behavior delegation) works, what the new ES6 “class” keyword is actually doing behind the scenes, and more. Be prepared to learn!

What is “this”? – 10 min

A short talk where we live-code examples over the 4 different ways that you can set the context of the this object in Javascript, and comparing how each binding method is prioritized with the others.

Web Development

Building an Accessible Website – 40-45 min

In this talk, I’ll teach you how to build a website that is fully accessible to users with disabilities – whether they have vision impairments, auditory impairments, fine motor impairments, and even non-disabled users who are just in “crisis” moments. We’ll go over the traditional accessibility concerns such as image alt attributes – but we’ll cover some more in depth accessibility topics such as how to develop with skip menus, keyboard navigation, ARIA roles, semantic HTML, focus states on elements, how the accessibility tree works, color schemes, section 508 guidelines, and more!

What Meta Tags Your Site Should be Using – 15 min

This talk focuses on explaining the core meta tags that your HTML should include to help with accessibility and social media sharing.


Prolog: A Prologue – 40-45 min

This is a very beginner-friendly talk about Prolog – no prior experience necessary. Together, we’ll learn about facts, rules, and queries in Prolog – the fundamental constructs that make up a Prolog script, and how you can use them to solve some real-world problems.

Getting Started with F# – 40-45 min

F# is a functional programming language that runs within the .NET framework. In this talk, we’ll review what it means to be a functional language (because who doesn’t need a good recap) and how F# ties this together with the rest of the .NET framework. Everything will be live-coded, so you’ll get to see exactly how things work as they’re coded out. This talk will be very beginner friendly to both functional and .NET development alike.

What to Know as You’re Becoming a Developer – 40-45 min

This talk is specifically geared towards young adults with a serious interest in programming (and already have a little background knowledge). This includes students in AP high school programming classes, vocational classes, college classes, and local development groups.

My Interviews with Amazon – 15 min

A short talk over my full experience interviewing with Amazon Web Services as a senior software engineer – where I was eventually offered a position (and turned it down!).

The 3 Rules of Dev Blogging – 10-12 min

This is a short talk over the core things I’ve learned over the many years that I’ve maintained a development blog – broken down into 3 actionable rules. Completely language and skill-level agnostic, this talk is for aspiring and expert developers alike.