Session Schedule

Session Schedule2019-01-07T06:25:51+00:00

Monday

4:00 PM

Registration Booth

Presented by: CodeMash Speakers

Registration Booth is Open

Room: Reg BoothLevel: Introductory and overview

Tuesday

6:30 AM

Shuttle

Presented by: CodeMash Speakers

Shuttle Running

Room: ShuttleLevel: Introductory and overview
6:45 AM

Coat Check

Presented by: CodeMash Speakers

Coat Check

Room: Coat CheckLevel: Introductory and overview
7:00 AM

Breakfast

Presented by: CodeMash Speakers

Breakfast

Room: Suite 1 / Suite 6Level: Introductory and overview

Registration Booth

Presented by: CodeMash Speakers

Registration Booth is Open

Room: Reg BoothLevel: Introductory and overview
8:00 AM

Best Practices for Robust API development in ASP.NET Core

Presented by: Kevin Grossnicklaus

This workshop will walk developers through the design and implementation of a robust API layer using Visual Studio 2017, C#, and the ASP.NET Core stack. Today's client-centric architectures frequently involve a mix of UI frameworks such as Angular, React, or even native mobile apps targeting iOS,...

Room: ZambeziTags: .NET, CloudLevel: Intermediate

Up & Running with Graph Databases

Presented by: Greg Jordan

This tutorial will include a mixture of theory, hands-on coding, and take home examples with a sample graph database. It will also build an understanding and provide use cases for graphs. While we will use Java in the tutorial, attendees will also be provided with PHP, Python and Ruby examples. ...

Room: Indigo BayTags: Big Data, CloudLevel: Intermediate

A Better, Faster Pipeline for Software Delivery

Presented by: Gene Gotimer

The software delivery pipeline is the process of taking features from developers and getting them delivered to customers. The earliest tests should be the quickest and easiest to run, giving developers the fastest feedback. Successive rounds of testing should increase confidence that the code is a...

Room: CypressLevel: Introductory and overview

Build your own A.I. powered robot - Part 1

Presented by: Henk Boelman

Morning Program ...

Room: NileTags: Cloud, .NET, HardwareLevel: Intermediate

Threat Modeling Workshop

Presented by: Robert Hurlbut

Threat modeling is a way of thinking about what could go wrong and how to prevent it. Instinctively, we all think this way in regards to our own personal security and safety. When it comes to building software, some software shops either skip the important step of threat modeling in secure software...

Room: Aloeswood / Leopard WoodTags: Security, Soft Skills/BusinessLevel: Intermediate

Building Your First React App (Part 1)

Presented by: Steven Hicks

In this full-day workshop, you’ll learn how to build a single-page app with React. We’ll discuss the fundamentals of React development, the “React” way of building apps, and suggestions for writing maintainable React code. You’ll get hands-on experience with JSX, React Router, several...

Room: Salon ATags: JavascriptLevel: Introductory and overview

Design Thinking for Developers

Presented by: Cory Gwin

Software is eating the world, but do engineers have the knowledge of the stakeholder's domain to bear the responsibility of transferring domain knowledge to software? The Rosetta Stone of software is to have a domain language that clearly communicates in the language of the field, but developers...

Room: Salon HTags: Other, Soft Skills/BusinessLevel: Intermediate

Introduction to Game Development with Unity Part 1

Presented by: Mike Geig

You want to make video games with the Unity game engine? Let’s make video games with the Unity game engine! In this session attendees will build a 2D Platformer game (full of traps) from start to finish. Covered is a hands on approach to the construction of game systems from assets. Audience...

Room: Salon DTags: .NET, OtherLevel: Introductory and overview
9:00 AM

[KidzMash] A Kid's World of 3D printing

This session is targeted for children. All ages are welcome with a responsible adult. We will tour the maker lab and talk about the exciting world of 3D printing. we will look at the printers as well as models made on them go over basics of how to make or get models, different types of CAD apps...

Room: Guava / TamarindTags: .NET, OtherLevel: Introductory and overview

[KidzMash] Learning to Fly with Paper Airplanes

Presented by: David Neal, Nathaniel Neal

In this session, we will learn about the basic forces that allow planes to fly, facts about paper airplanes, and demonstrate many different airplane designs. Most importantly, we will learn two airplane designs that are easy to make and fly very well. We will finish with a competition to see whose...

Room: AcaciaLevel: Introductory and overview
9:30 AM

[KidzMash] 3D Silhouette

Presented by: Christopher Judd

Have you ever been to an amusement park or to a grandparent’s house and seen the cheesy silhouettes of children? Those boring 2 dimensional black pieces of paper with the exaggerated eyelashes mounted in a wooden frame? Isn’t this the 21st century? Can’t we do better? Yes, we have the...

Room: IronwoodLevel: Introductory and overview
10:00 AM

[KidzMash] A Kid's introduction to 3D Modeling

This second session is targeted at children who have completed our Kid’s world of 3d printing session+. We will attempt to walk the attendees through the process of building a basic model on a professional CAD program (Rhino3d) from geometric shapes. We will explain the XYZ coordinate system, and...

Room: Guava / TamarindLevel: Introductory and overview
10:30 AM

[KidzMash] Systems Thinking for Kids

Presented by: Cat Swetel

What are the best feet in the world? The fast feet of a cheetah? The giant feet of an elephant? What about the best arms? Best legs? Best head? What would a creature made up of all the best parts look like? Probably more like Frankenstein's monster than any finely tuned machine. ...

Room: AcaciaTags: OtherLevel: Introductory and overview
12:00 PM

Lunch

Presented by: CodeMash Speakers

Lunch

Room: Suite 1 / Suite 6Level: Introductory and overview
1:00 PM

Best Practices for Robust API development in ASP.NET Core (Part 2)

Presented by: Kevin Grossnicklaus

This workshop will walk developers through the design and implementation of a robust API layer using Visual Studio 2017, C#, and the ASP.NET Core stack. Today's client-centric architectures frequently involve a mix of UI frameworks such as Angular, React, or even native mobile apps targeting iOS,...

Room: ZambeziTags: Cloud, .NETLevel: Intermediate

Talking Cars: From Can't to CAN

Presented by: Samuel Hollifield

Talking Cars: From Can't to CAN ...

Room: Indigo BayTags: Hardware, Python, SecurityLevel: Introductory and overview

Building a Production-Ready React Native App

Presented by: Tommy Graves

React Native makes starting a mobile app remarkably simple, but a lot of complex problems lie between generating an application and building something production-worthy. Things one might take for granted in other front-end environments, like navigation and unit testing, are surprisingly difficult in...

Room: CypressTags: Javascript, MobileLevel: Intermediate

Build your own A.I. powered robot - Part 2

Presented by: Henk Boelman

Afternoon Program ...

Room: NileTags: .NET, Cloud, HardwareLevel: Introductory and overview

Build Your First Design System

Presented by: Nathan Rambeck, Kasey Bonifacio

Are you considering a design system for your organization? Design systems have grown in popularity over the last several years because of their utility in helping organizations maintain good UI standards and consistency, but they require forethought and planning. In this pre-compiler, you’ll learn...

Room: Aloeswood / Leopard WoodTags: Design (UI/UX/CSS)Level: Intermediate

Building Your First React App (Part 2)

Presented by: Steven Hicks

In this full-day workshop, you’ll learn how to build a single-page app with React. We’ll discuss the fundamentals of React development, the “React” way of building apps, and suggestions for writing maintainable React code. You’ll get hands-on experience with JSX, React Router, several...

Room: Sagewood / ZebrawoodTags: JavascriptLevel: Introductory and overview

Successful Integration Testing in .Net

Presented by: Jeremy Miller

In the very early days of Agile development and Test Driven Development, we strove to structure our code such that we could write isolated unit tests with little or no coupling to infrastructure. Great, and it helped, but frequently that led to more complicated code internals and you still had...

Room: Salon HTags: Testing, .NETLevel: Advanced

Introduction to Game Development with Unity Part 2

Presented by: Mike Geig

You want to make video games with the Unity game engine? Let’s make video games with the Unity game engine! In this session attendees will build a 2D Platformer game (full of traps) from start to finish. Covered is a hands on approach to the construction of game systems from assets. Audience...

Room: Salon DTags: Other, .NETLevel: Introductory and overview

Printing your Ideas in 3D: A basic overview of the world of CAD and 3D printing

This session will tour the maker lab, and talk about the exciting world of 3D printing with a bit of the history of the technology. We will look at the lab’s printers as well as models made on them. We’ll then cover choosing a CAD app and will briefly cover using curated 3D printer object...

Room: Guava / TamarindTags: Other, .NETLevel: Introductory and overview

[KidzMash] Puppets are AWESOME

Presented by: Nathan Loding

Mahna-mahna, do do do-do-do! Puppets come in all shapes and sizes and styles, from shadows to socks to marionettes and more. Puppets can be found all over the world. And the best part is there is no limit to what they can do - just your imagination. Together, we will look at the unique history of...

Room: AcaciaTags: OtherLevel: Introductory and overview
1:30 PM

[KidzMash] Crafting Chainmail

Presented by: Kevin Devine

Have you ever wanted to learn the fundamentals of making chainmail? In this Divez lesson, we will learn to weave 4-in-1, Byzantine and Persian 6-in-1. You will learn why Aspect Ratio and wire gauge are important considerations in making your chainmail. We will also delve into the history of each...

Room: IronwoodTags: Design (UI/UX/CSS), HardwareLevel: Introductory and overview
2:00 PM

From idea to physical: A demo of how to make a CAD model, slice it and print

This lab is intended to be a fast-paced technology walk-through of the process of creating a 3D printed object. We will focus in on the process of using CAD to create our model with a NURBS modeler called Rhino3D and will walk through and create up to three basic models: a goblet, a challenge coin,...

Room: Guava / TamarindTags: Design (UI/UX/CSS), HardwareLevel: Introductory and overview
2:30 PM

[KidzMash] Building Your First Video Game with Bloxels

Presented by: Eric Potter

Do you want to build a fun game that you can play on your device? Do you want to create your own artwork to add to the game? Then you ought to try out Bloxels. ...

Room: AcaciaTags: OtherLevel: Introductory and overview
3:00 PM

[KidzMash] Laser Tag

Room: Salon C (Laser Tag)Tags: OtherLevel: Introductory and overview
4:00 PM

CAD and 3D printing open lab

This lab will allow you to use our equipment/software to build a model or prep one for printing. While our staff is available to assist, we are assuming your either are a self-starter who has run through our introductory labs and wants to get your hands dirty or have the basic background to use the...

Room: Guava / TamarindTags: OtherLevel: Introductory and overview
6:00 PM

Dinner

Presented by: CodeMash Speakers

Dinner

Room: Suite 1 / Suite 6Level: Introductory and overview
7:00 PM

Laser Tag

Room: Salon C (Laser Tag)Level: Introductory and overview

Artemis

Room: Salon C (Artemis)Level: Introductory and overview

Wednesday

6:30 AM

Shuttle

Presented by: CodeMash Speakers

Shuttle Running

Room: ShuttleLevel: Introductory and overview
6:45 AM

Coat Check

Presented by: CodeMash Speakers

Coat Check

Room: Coat CheckLevel: Introductory and overview
7:00 AM

Breakfast

Presented by: CodeMash Speakers

Breakfast

Room: Suite 1 / Suite 6Level: Introductory and overview

Registration Booth

Presented by: CodeMash Speakers

Registration Booth is Open

Room: Reg BoothLevel: Introductory and overview
8:00 AM

A Hands-on Intro to Containers

Presented by: Gene Gotimer

Containers are one of the hottest technologies in our industry today. They are like virtual machines but smaller and faster. They can provide on-demand, disposable test environments that start quickly, repeatably, locally or in the cloud. When you want, you can tear down the environment and recreate...

Room: ZambeziTags: CloudLevel: Introductory and overview

Data Science: Zero to Hero

Presented by: Gary Short, Galiya Warrier

As companies, like Microsoft democratize artificial intelligence, so AI and machine learning becomes more the domain of the software developer, but how much do you really know about this subject, a subject your boss is soon going to expect you to be proficient in? ...

Room: Indigo BayTags: Big Data, OtherLevel: Introductory and overview

Xamarin.Forms from Scratch to Store

Presented by: Jesse Liberty

In this half-day hands-on workshop, you will learn all you need to get started with producing professional native iOS and Android applications using Xamarin.Forms. No prior mobile programming is needed, though a working knowledge of C# is required; ...

Room: CypressLevel: Introductory and overview

7 Languages in 7 Hours Part 1

Presented by: Amber Conville

Hands­ on experience in seven different languages, ranging from object ­oriented to functional, from the cozy and familiar to the eye­ squintingly terse and foreign. You'll work through a familiar kata in each of them, showing you how to approach an entirely new language. You'll learn about the...

Room: NileLevel: Intermediate

CodeMash CryptoParty

Presented by: Dusty Burwell

Some people like to say that seeking encryption, security, and privacy only shows that you have something to hide. This is a snide remark, uttered only by folks who historically partake in great privilege. Those who have never once found themselves considered the “other”. To the contrary, we are...

Room: Aloeswood / Leopard WoodTags: SecurityLevel: Introductory and overview

Accessibility: A Walk in Someone Else’s Shoes

Presented by: Nathan Loding

Everyone talks about accessibility - or a11y - but how often is accessibility a primary thought during your development pipeline? How often is accessibility taken for granted? It’s easy to push it aside and say you’ll do it later or to forget entirely. It’s easy to drop a couple WIA-ARIA tags...

Room: Sagewood / ZebrawoodTags: Design (UI/UX/CSS), JavascriptLevel: Introductory and overview

Get Up and Running Quickly With Vue.js

Presented by: Burton Smith

Whether you are enhancing a legacy application or starting a greenfield project, Vue.js can help reduce your development time. Vue.js a very lightweight and fast JavaScript framework that makes it ideal for modern applications - from using it as a library to create some enhanced features in your...

Room: Salon ATags: Design (UI/UX/CSS)Level: Introductory and overview

Have Some Cake With Your Frosting: Testing Both the UI and API Layers

Presented by: Hilary Weaver-Robb

Web services and APIs make up a huge chunk of the code in the applications we test, but either we’re not aware of the APIs or we’re asked to focus on the user interface instead. But those APIs are where all of the business logic for the application is exposed, and can hide some pretty nasty...

Room: Salon HTags: TestingLevel: Introductory and overview

Charting a Course to Your Dream Job

Presented by: Cassandra Faris, Kim Preece

As a technology professional, your career path can and probably will take many directions. The challenge is determining which directions are right for you. Are you no longer learning or growing at work? Do you want to change jobs but don’t know where to start? Do you feel stuck on a...

Room: Salon DTags: Other, Soft Skills/BusinessLevel: Introductory and overview
9:00 AM

[KidzMash] A Kid's World of 3D printing

This session is targeted for children. All ages are welcome with a responsible adult. We will tour the maker lab and talk about the exciting world of 3D printing. we will look at the printers as well as models made on them go over basics of how to make or get models, different types of CAD apps...

Room: Guava / TamarindTags: Other, Soft Skills/BusinessLevel: Introductory and overview

[KidzMash] Great Ball Contraption Workshop

Presented by: Charles Yost

What do you get if you take LEGO soccer balls, a simple set of instructions, a provided LEGO model kit, and put it all together? A Rube Goldberg machine entirely from LEGO! Together we will build modules for a Great Ball Contraption and then line them all up to pass along the soccer balls. Let's set...

Room: AcaciaTags: Hardware, OtherLevel: Introductory and overview

[KidzMash] Itty Bitz Laser Tag

Room: Salon C (Laser Tag)Tags: Hardware, OtherLevel: Introductory and overview
9:30 AM

[KidzMash] Let’s Play a Game! Computer Hacking for Kidz

Presented by: Bill Sempf

Have you ever wanted to know how computer hackers are able to get into systems and find out things that they are not supposed to know? So do programmers and security pros! If you think you have what it takes to use your computer skills to attack a system then this is the session for you. Step up to...

Room: IronwoodTags: Javascript, SecurityLevel: Intermediate
10:00 AM

[KidzMash] A Kid's introduction to 3D Modeling

This second session is targeted at children who have completed our Kid’s world of 3d printing session+. We will attempt to walk the attendees through the process of building a basic model on a professional CAD program (Rhino3d) from geometric shapes. We will explain the XYZ coordinate system, and...

Room: Guava / TamarindTags: Javascript, SecurityLevel: Intermediate
10:30 AM

[KidzMash] Stargazing

Presented by: Steve Madsen

Shoot for the stars! Learn about astronomy and assemble your own portable mini domed planetarium with common, everyday item like cardstock. We will use a bright LED bulb to be able to project the stars from your planetarium onto the ceiling. We will also point out the major constellations found on...

Room: AcaciaLevel: Introductory and overview
12:00 PM

Lunch

Presented by: CodeMash Speakers

Lunch

Room: Suite 1 / Suite 6Level: Introductory and overview
1:00 PM

Kubernetes hands-on (Workshop)

Presented by: Rob Richardson

Kubernetes is how you run Docker in production. Bring your laptop with Docker for Windows or Docker for Mac edge version installed. We'll walk through getting a K8s cluster fired up on Docker-Desktop, minikube, and on Azure. You'll be hosting Docker containers in development and production in no...

Room: ZambeziLevel: Intermediate

Avoiding Landmines – A Tech Leader’s Guide for the Critical Decisions

Presented by: Jared Faris, Scott Drake

As leaders, we face a lot of decisions that can make or break our teams and projects. We usually approach these decisions without training, and with no decision making framework to guide us. This does not work particularly well. ...

Room: Indigo BayTags: Soft Skills/BusinessLevel: Intermediate

Building Your First Voice Experience with Alexa

Presented by: Jeff Blankenburg

This workshop will dive right in to getting you set up and started building a voice-based experience with Alexa. You will leave this session with a working Alexa skill that you can customize and publish as your own. ...

Room: CypressTags: Design (UI/UX/CSS), Cloud, Javascript, HardwareLevel: Intermediate

7 Languages in 7 Hours Part 2

Presented by: Amber Conville

Hands­ on experience in seven different languages, ranging from object ­oriented to functional, from the cozy and familiar to the eye­ squintingly terse and foreign. You'll work through a familiar kata in each of them, showing you how to approach an entirely new language. You'll learn about the...

Room: NileLevel: Intermediate

Corporate Single Sign-On: Building an OpenID Connect Provider in .NET with IdentityServer

Presented by: Jay Harris

Often, companies have dozens of internal applications, all tied to managing the business. Authenticating users, managing user access, and protecting data endpoints separately can be a complete mess, but external single sign-on systems like Facebook Connect or Google aren’t always an option and...

Room: Aloeswood / Leopard WoodTags: Security, .NETLevel: Intermediate

Microservice Resiliency with Eureka and Hystrix - Java/Spring Edition

Presented by: Jeff Butler

Large scale applications based around a microservices architecture must accept an unfortunate reality - things can and will go wrong. Additionally, today's cloud based deployments virtually guarantee that services will not have static addresses in the network. So building systems that rely on...

Room: Sagewood / ZebrawoodLevel: Intermediate

Experiencing A11y

Presented by: Jenna Charlton, Chelsey Bryant

Accessibility has become an increasingly common buzzword for tech companies, but what does it mean? And how does it affect the software we build? In this workshop we will deep dive into the world of accessibility. We will discuss and experience what it means to be users of varying levels of ability....

Room: Salon ATags: Testing, Other, Design (UI/UX/CSS)Level: Introductory and overview

Digging Into your APIs with Exploratory Testing

Presented by: Amber Race

Much of exploratory testing tends to concentrate on the client UI. But the same strategies that work well at the UI level can also be applied to the web services and APIs that power your application. By exploring your APIs you can find critical bugs earlier in the development cycle, gain a deeper...

Room: Salon HTags: Testing, SecurityLevel: Intermediate

Give Feedback Fearlessly: Workshop

Presented by: Aisha Blake

For many of us, it’s hard to speak up when we notice our teammates struggling. We don’t want to hurt anyone’s feelings or make things awkward. Sometimes it just feels like too much work to organize our thoughts into a coherent message that could help someone who’s falling behind move...

Room: Salon DTags: Soft Skills/BusinessLevel: Introductory and overview

Printing your Ideas in 3D: A basic overview of the world of CAD and 3D printing

This session will tour the maker lab, and talk about the exciting world of 3D printing with a bit of the history of the technology. We will look at the lab’s printers as well as models made on them. We’ll then cover choosing a CAD app and will briefly cover using curated 3D printer object...

Room: Guava / TamarindTags: Soft Skills/BusinessLevel: Introductory and overview

[KidzMash] Get Creative with Duct Tape!

Presented by: Keith Kurak

Duct tape is super-sticky, flexible, and waterproof, and can be used as a quick fix for just about anything that’s broken. It’s even been used to repair spaceships! But, it also can be used to make art. You’ll learn briefly about the science and history of duct tape before we turn you loose to...

Room: AcaciaTags: OtherLevel: Introductory and overview
1:30 PM

[KidzMash] Gotta Catch ‘Em All!  Raspberry Pi and Java Pokemon Training

Presented by: Stephen Chin

The Pokemon have escaped the laboratory and are running amuck!  Using a miniature Raspberry Pi computer, a 3D printed pokeball, and the Java programming language, you can catch all of the escaped Pokeman and return them to the professor.  For this workshop, hardware will be provided, but we...

Room: IronwoodLevel: Introductory and overview

[KidzMash] Laser Tag

Room: Salon C (Laser Tag)Level: Introductory and overview
2:00 PM

From idea to physical: A demo of how to make a CAD model, slice it and print

This lab is intended to be a fast-paced technology walk-through of the process of creating a 3D printed object. We will focus in on the process of using CAD to create our model with a NURBS modeler called Rhino3D and will walk through and create up to three basic models: a goblet, a challenge coin,...

Room: Guava / TamarindLevel: Introductory and overview
2:30 PM

[KidzMash] A Slimy Adventure

Presented by: Jason Robey

Adventure into the exciting world of slime. Have you ever wondered the difference between fluffy and crunch slime? Learn about the chemical reactions and ingredients that create these versions of slime. Leave with samples of each to share your slimy adventures with all your friends.

Room: AcaciaLevel: Introductory and overview
4:00 PM

CAD and 3D printing open lab

This lab will allow you to use our equipment/software to build a model or prep one for printing. While our staff is available to assist, we are assuming your either are a self-starter who has run through our introductory labs and wants to get your hands dirty or have the basic background to use the...

Room: Guava / TamarindLevel: Introductory and overview
7:00 PM

Lightning Talks

Presented by: CodeMash Speakers

Lightning Talks

Room: Suite 1 / Suite 6Level: Introductory and overview

Laser Tag

Room: Salon C (Laser Tag)Level: Introductory and overview

Artemis

Room: Salon C (Artemis)Level: Introductory and overview
8:00 PM

Welcome Reception

Presented by: CodeMash Speakers

Welcome Reception

Room: Grand Hall (Near Marrakesh)Level: Introductory and overview

Thursday

6:30 AM

Shuttle

Presented by: CodeMash Speakers

Shuttle Running

Room: ShuttleLevel: Introductory and overview
6:45 AM

Coat Check

Presented by: CodeMash Speakers

Coat Check

Room: Coat CheckLevel: Introductory and overview
7:00 AM

Breakfast

Presented by: CodeMash Speakers

Breakfast

Room: Suite 1 / Suite 6Level: Introductory and overview

Registration Booth

Presented by: CodeMash Speakers

Registration Booth is Open

Room: Reg BoothLevel: Introductory and overview
8:00 AM

Code Reviews: That's a Great Idea!

Presented by: Amy Gebhardt

We all know that code reviews are beneficial. We’ve been told time and time again that they should be part of our development process. But – like most best practices – a practical implementation is challenging (and time consuming). Your team is convinced they are a great idea. You’ll have an...

Room: ZambeziTags: Other, Soft Skills/BusinessLevel: Introductory and overview

What are Observables and why should I care?

Presented by: Randall Koutnik

Learn about the next generation of asynchronous abstraction: Observables. Born of a cross between the Observer & Iterator patterns, observables are being used from Angular to the data teams at Netflix & Microsoft. Start at a high level, learning why observables stand out among the many asynchronous...

Room: Indigo BayTags: JavascriptLevel: Intermediate

Practical Steps to Modernizing Legacy Applications

Presented by: Gregory Beamer

And then one day it happens. The code you trusted for years lives beyond its useful lifetime and you have to send it off to retirement. In some cases, your application becomes obsolete because the technologies it is built on are no longer supported (can anyone say Silverlight? Mainframe?) In others,...

Room: CypressTags: .NET, OtherLevel: Intermediate

How do you change the world? By developing future women leaders

Presented by: Sarala Pandey

Change begins at home. Many first generation disadvantaged immigrants to this country do not attend college, which means their children do not have adequate guidance on pursing higher-level education. The community can come together to provide help to these children with code camps. This past...

Room: NileTags: Other, Soft Skills/BusinessLevel: Introductory and overview

Collaborative Contract Driven Development

Presented by: Billy Korando

You are transition to microservices, you have remote teams, you are wanting to update existing services, you are doing all three. The consistent theme in all of these needs is that they require collaboration across teams and concerns. A common problem however with collaboration is that there is...

Room: OrangeLevel: Introductory and overview

Making and Baking an Application Security Department

Presented by: Bill Sempf

Houston, we have a problem: we need more application security professionals. There is a lack of talented folks that can test, document and train developers on how to fix web and mobile applications for security vulnerabilities. Verizon’s estimates of 86% of 2017 breaches are caused by an...

Room: Aloeswood / Leopard WoodTags: Soft Skills/Business, SecurityLevel: Intermediate

Getting the most out of your next generation JVM testing framework

Presented by: Benjamin Muschko

With the rise of newer JVM languages like Groovy and Kotlin, feature-rich test frameworks emerged. The test framework Spock became a welcome alternative for many projects fearless to adopt Groovy as part of their polyglot software stack. ...

Room: Sagewood / ZebrawoodTags: Java, TestingLevel: Introductory and overview

A Swift Intro to iOS

Presented by: Kim Arnett 

With the introduction of Swift, iOS has become a friendly platform to get started in. From configuring your new project, to creating and manipulating views in Swift, we’ll cover everything you need to get started in iOS. ...

Room: Salon HTags: MobileLevel: Introductory and overview

Connected Data & the Graph Database landscape

Presented by: Greg Jordan

In this talk, we'll review reasons why you should and should not use graphs, graphs in context of NOSQL as well as review the most popular graph database options. ...

Room: Salon DTags: Cloud, Big DataLevel: Intermediate

How a PoC at home can scale to Enterprise Level using Custom Vision APIs

Presented by: Bruno Capuano

It all started with a DIY project to use Computer Vision for security cameras at home. A custom Machine Learning model is the core component used to analyze pictures to detect people, animals and more in a house environment. The AI processing is performed at the edge, in dedicated hardware and the...

Room: Salon ETags: Hardware, .NET, CloudLevel: Introductory and overview

AngularJS to Angular 6 Migration

Presented by: Matt Weimer

This talk will walk you through the process of migrating your AngularJS app to Angular 6. Learn the preparation steps that are needed, what build and dev tools you might want to use, how to setup a hybrid app, and how to convert your ng1 components and services to ng6.

Room: MangroveTags: JavascriptLevel: Intermediate

Introducing Juvet: Building Bots in Elixir

Presented by: Jamie Wright

There is another massive shift happening with how we interact with companies through software. Users feel comfortable naturally talking with their applications through chat bots. Chat is the next generation of the user interface. ...

Room: Portia / WisteriaTags: Other, CloudLevel: Introductory and overview

[KidzMash] Human 3D Printer: a social STEM learning experiment

After a brief overview where we explain what the teams will do, we will be dividing into 3 teams. A CAD team, a SLICER team, and a 3D printer team. The teams will try to manually replicate with the team each piece of the 3D object development and replication process! The CAD team will model the...

Room: Guava / TamarindTags: Other, CloudLevel: Introductory and overview

The Alchemy of User Experience

Presented by: Benjamin Bykowski

al-che-my (noun) : any magical power or process of transmuting a common substance, usually of little value, into a substance of great value. The goal of the alchemist is to produce a Master Work by steadily improving the mind and the body. When seeking the best outcome in UX, there is hardly a...

Room: RosewoodTags: Design (UI/UX/CSS)Level: Intermediate
9:00 AM

[KidzMash] A Kid's World of 3D printing

This session is targeted for children. All ages are welcome with a responsible adult. We will tour the maker lab and talk about the exciting world of 3D printing. we will look at the printers as well as models made on them go over basics of how to make or get models, different types of CAD apps...

Room: Guava / TamarindTags: Design (UI/UX/CSS)Level: Intermediate

[KidzMash] Collaborate on your LEGO(R) vision

Presented by: Thomas Haver

LEGO(R) sets are amazingly fun to build, but who has attempted to build a complete set without looking at the instructions? In this session, the kidz & adults will form teams and try to build one of sixteen different Creator sets without the instructions. Only one person from each team will be able...

Room: AcaciaTags: OtherLevel: Introductory and overview

[KidzMash] Itty Bitz Laser Tag

Room: Salon C (Laser Tag)Tags: OtherLevel: Introductory and overview
9:15 AM

7 Reasons why your microservices should use Event Sourcing & CQRS

Presented by: Hugh McKee

Event Sourcing & CQRS offers a compelling and often controversial alternative for persisting data in microservice systems environments. This alternate approach is new for most of us, and it is justified to have a healthy level of skepticism towards any shiny new and often over-hyped solution....

Room: ZambeziTags: CloudLevel: Intermediate

Leadership Guide for the Reluctant Leader

Presented by: David Neal

Regardless of the technology you know, regardless of the job title you have, you have amazing potential to impact your workplace, community, and beyond. ...

Room: Indigo BayTags: Soft Skills/BusinessLevel: Introductory and overview

Generate data for 10,000 unit tests

Presented by: Jeremy Sellars

Unit tests validate one example at a time, but what if you didn't have to think up dozens of unique examples and write them by hand? ...

Room: CypressTags: Functional Programming, TestingLevel: Introductory and overview

TypeScript for C# Programmers

Presented by: Jesse Liberty

TypeScript is a powerful language but introductory courses are often targeted at JavaScript programmers. The truth, however, is that TypeScript is very close to C#, and with just an hour's overview you can be highly productive writing in this powerful programming language for the web.

Room: NileLevel: Introductory and overview

Information Architecture For The Soul

Presented by: Ryan Albertson

Do you find that it’s often harder to avoid building the wrong thing than to build the right one? You want to build the best software you can, but between deadlines, changing priorities and warring clients, it can be difficult to know which features to fight for; and which to let fall to the...

Room: OrangeTags: Design (UI/UX/CSS)Level: Introductory and overview

The Pragmatic Guide to Web Application Security

Presented by: Dustin Ewers

As a developer, your customers expect a constant stream of shiny new features. While it's important to deliver business value, there's more to building a web application. Keeping your apps secure is vital to the health of your company. It seems like there's a new story every week of a company that...

Room: Aloeswood / Leopard WoodTags: SecurityLevel: Introductory and overview

Handling Angular 2+ Forms Without Losing Your Sanity

Presented by: Jennifer Wadella

“Why’d you have to go and make things so complicated?” - Avril Lavigne, implementing Angular 2 forms in 2018 ...

Room: Sagewood / ZebrawoodTags: JavascriptLevel: Intermediate

Building Mobile Applications with the Ionic Framework

Presented by: Robert Lair

Have you wanted to start developing mobile applications, but have found that selecting the right technology, framework, and language is overwhelming? Ionic provides a framework that allows developers to build applications using familiar web technologies in order to produce a native application...

Room: Salon ATags: Javascript, MobileLevel: Introductory and overview

Asynchronicity: concurrency. A tale of

Presented by: Joel Lord

When starting to dabble with Javascript, the biggest challenge for most developers is understanding how to deal with asynchronous development. During this talk, we will cover some of the different ways to handle async programming like callbacks, promises, generators, async/away and events. As we...

Room: Salon HTags: JavascriptLevel: Introductory and overview

Is AI right for me?

Presented by: Amber McKenzie

Artificial intelligence (AI) has become a form of Swiss Army knife for the enterprise world. If you have a data problem, throw some AI at it! However, this mentality can lead to wasted time and money going down the path of implementing a heavy-handed solution that doesn’t fit your business...

Room: Salon DTags: OtherLevel: Introductory and overview

Scenario Testing for Teams

Presented by: Sydney Frandsen

Full regression as a release testing strategy might be useful for shaking out a lot issues in the product prior to release, but it is an extremely expensive exercise and does not guarantee that the highest priority issues are discovered. If the success of your release is reliant upon the experience...

Room: Salon ETags: Testing, Soft Skills/BusinessLevel: Introductory and overview

CircuitPython/MicroPython - How to get started

Presented by: Dan Kacenjar

CircuitPython/MicroPython is a complete reimplementation of Python that runs on small devices like microcontrollers. It enables the building of cool stuff - like Internet of Things devices - by combining existing Python knowledge with a little bit of hands-on hardware hacking. How it works, how you...

Room: MangroveTags: Python, HardwareLevel: Introductory and overview

Gradle with Ketchup

Presented by: David Lucas

Gradle is yet another build tool that leverages other frameworks like Ant and Maven. It expands the lifecycles and allows extensions. Join this session as we see how Ketchup was added to the the receipt (ok, Kotlin is a Polish Ketchup) to extend the script by adding things like static type...

Room: Portia / WisteriaTags: JavaLevel: Intermediate
9:30 AM

[KidzMash] So, You Want to Be a Game Designer? – A Board Game Jam

Presented by: Matt Perrin

Have you ever been curious about how to design a game? Or maybe you would like to make games when you grow up? If yes, then here's your chance to learn about how to take your ideas, discover what makes them "fun", and work in teams to create a board game prototype in just a couple of hours. ...

Room: IronwoodTags: Design (UI/UX/CSS), Soft Skills/BusinessLevel: Intermediate
10:00 AM

[KidzMash] A Kid's introduction to 3D Modeling

This second session is targeted at children who have completed our Kid’s world of 3d printing session+. We will attempt to walk the attendees through the process of building a basic model on a professional CAD program (Rhino3d) from geometric shapes. We will explain the XYZ coordinate system, and...

Room: Guava / TamarindTags: Design (UI/UX/CSS), Soft Skills/BusinessLevel: Intermediate
10:30 AM

"Did you get my message?" - A comparison of several modern messaging platforms

Presented by: Jack Bennett

A programmer looking for a flexible messaging solution is faced with many questions and tradeoffs: What tool will offer the best performance? What will give the best flexibility and extensibility? Do I need a persistence layer or a cache? ...

Room: ZambeziTags: Big Data, PythonLevel: Introductory and overview

Hold Up, Wait a Minute, Let Me Put Some Async In It

Presented by: Matthew Jones

The introduction of async/await to C# has irrevocably changed how .NET developers created their applications. But what about older applications? How can they get the async goodness? ...

Room: Indigo BayTags: .NETLevel: Intermediate

Wait, CSS Can Do That?!

Presented by: Josh Tucholski

For most programmers, CSS isn't the first language learned. Nevertheless, when you pick CSS up, it's easy to get the basics (selectors, layouts, positioning, etc.) and easier to loathe. In the end you'll probably reach for Bootstrap to make your site responsive (like everyone else's) and jQuery to...

Room: CypressTags: Design (UI/UX/CSS)Level: Intermediate

Enhance Your Career with a Mastermind Group

Presented by: Kevin Griffin

What do King Arthur, Franklin D. Roosevelt, Andrew Carnegie, and Napoleon all have in common? Each of them belonged to groups called Masterminds, or brain trusts. The term was originally coined back in 1937, but the concept has survived the test of time. By surrounding yourself with like-minded...

Room: NileTags: Soft Skills/Business, OtherLevel: Introductory and overview

12 skills every rookie programmer should have, but often don't

Presented by: Andy Lester

12 skills every rookie programmer should have, but often don't ...

Room: OrangeTags: Other, Soft Skills/BusinessLevel: Introductory and overview

Building a better audit log

Presented by: Craig Hills

Developers know that adding logs helps with debugging, but there’s more to logging than just dumping out data to find a bug. A good audit log can also help detect malicious activity, or provide evidence during an investigation. ...

Room: Aloeswood / Leopard WoodTags: Big Data, SecurityLevel: Introductory and overview

Don't Rewrite, React!

Presented by: Sara Gibbons

The gorgeous, beautiful, gynormous, living on outdated technologies legacy application. We've all worked on at least one. We love to hate it and dream of rewriting it. It doesn't take long until we are in a hard sell to our manager to ditch the legacy app and bring in the latest framework hotness. ...

Room: Sagewood / ZebrawoodTags: Ruby/Rails, JavascriptLevel: Introductory and overview

Database Continuous Delivery & Your Salvation!

Presented by: John Morehouse

Continuous Integration & Delivery isn’t a new concept. Application Developers have been doing it for quite a while and now it’s time for Database Professionals to catch up. Whether you are a database administrator, database developer, or even an application developer, database continuous...

Room: Salon ALevel: Introductory and overview

Embrace your Legacy… Code

Presented by: Nelida Velazquez

What is your reaction when you hear the words “legacy code”? If it’s to run away screaming, you are not alone. ...

Room: Salon HTags: Testing, Other, Soft Skills/BusinessLevel: Intermediate

Have Your Pi and Eat It Too: .NET Core on Raspberry Pi

Presented by: Cam Soper

Is .NET your jam? Are you berry interested in development on Linux? Think developing code for IoT devices is just Pi in the sky? In this (hopefully) pun-free (but not FUN-free!) session, you'll watch Pi-eyed as we demonstrate the possibilities of .NET Core, including ASP.NET Core and Web API, on a...

Room: Salon DLevel: Intermediate

Hey, You Got Your TDD in my SQL DB!

Presented by: Jeff McKenzie

When should we test our data? From an application development perspective, a unit test against a database isn't a unit test at all. Which makes sense -- connected systems introduce overhead and dependency, both of which reduce stability and decrease productivity during test-driven development (TDD)....

Room: Salon ETags: TestingLevel: Intermediate

Android Jetpack - Make Better Apps

Presented by: Michael Fazio

tl;dr - Make better apps faster with Android Jetpack. ...

Room: Portia / WisteriaTags: MobileLevel: Intermediate

[KidzMash] It's Only Rocket Science!

Presented by: Rachel and Nathan Coulter

3,2,1, Blastoff! Rockets have been used to make advancements in science for years, and have fascinated people of all ages. But if you aren't a scientist, it's pretty hard to understand how they work. Rachel (age 13) and Nathan (age 11) will lead you in exploration of Newton's Third Law with hands-on...

Room: AcaciaLevel: Introductory and overview
11:30 AM

Lunch

Presented by: CodeMash Speakers

Lunch

Room: Suite 1 / Suite 6Level: Introductory and overview
11:45 AM

git gone wild: how to recover from common git mistakes.

Presented by: Magnus Stahre

"Oh no! I just typed something into git and now my work is gone! Ahh!" ...

Room: ZambeziTags: OtherLevel: Intermediate

The Science of Testing

Presented by: Thomas Haver

In the past decade the software development paradigm has shifted to “deliver fast” -- with concomitant frameworks and methodologies to support that emphasis – but without proper consideration of quality. So most teams end up failing fast and hard when development continues beyond a shaky...

Room: Indigo BayLevel: Introductory and overview

Webpack Encore: Webpack your App and Love it!

Presented by: Ryan Weaver

Adding Webpack to your application will absolutely *change* the way you develop your frontend. But... getting a pro Webpack setup is a *lot* of work: handing CSS, minification, versioning, source maps, code splitting & a lot more! Wow! ...

Room: CypressTags: JavascriptLevel: Introductory and overview

The Actor Model and why you should be using it

Presented by: Joe Wirtley

You are probably familiar with the object-oriented and functional programming paradigms, but what about the actor model? The actor model is designed for concurrent programming and is an easy way to create systems that do many things at once. For example, the actor model is an excellent way to...

Room: NileTags: Other, .NETLevel: Introductory and overview

From Average to Awesome In a Few Short Years

Presented by: Brandon Bruno

I graduated college as a C-average student - I just wasn't very ambitious. My first few developer job interviews that following summer were hard lessons in rejection. I had no idea where my career was going. Times change. Today I am a lead engineer at a major consultancy, work with Fortune 500...

Room: OrangeTags: Soft Skills/BusinessLevel: Introductory and overview

Wait...My Mobile App Needs to Be PCI Compliant!??

Presented by: Jackie Michl

Many folks think mobile apps don’t need to be PCI (Payment Card Industry) compliant – but that’s true. So why do delivery teams think their apps are out of PCI scope, even when the app accepts card payments? Well, unless you dig through pages of documentation, understanding the relationship...

Room: Aloeswood / Leopard WoodTags: Mobile, SecurityLevel: Introductory and overview

DevOps - Philosophy vs Practice

Presented by: PJ Hagerty

Many of our conversations on DevOps revolve around tools and practices - but very few address the where the two meet. ...

Room: Sagewood / ZebrawoodTags: Soft Skills/Business, OtherLevel: Intermediate

React Native and Expo: Native Apps without the Native Pain

Presented by: Keith Kurak

Native iOS development requires cool languages, like Swift... that you’ll never use anywhere else. The development environment is painful: build tools straight out of the 80's, certificate hell, TestFlight weirdness. And Android development may be even worse! React Native uses tools and languages...

Room: Salon ATags: Javascript, MobileLevel: Introductory and overview

Team Happiness for Fun and Profit

Presented by: Clay Dowling

Employers woo developers with ping pong tables, free lunches, and beer taps. But it's still rare for employees to stay in a job for more than five years. So what can we do to make our work life better, and reduce employee turnover? In this session we will talk about: ...

Room: Salon HTags: Soft Skills/BusinessLevel: Introductory and overview

Spring-loaded GraphQL

Presented by: Տteve Russell

What if you could update the structure of the JSON payload you receive from you backend without having to update all the controllers, DTOs, services, and SQL queries? This is the promise of GraphQL--an alternative strategy to traditional REST APIs that allows client code to specify exactly what data...

Room: Salon DTags: JavaLevel: Intermediate

Debugging the Internet of Things with Traces

Presented by: Kirk Kaiser

Building IoT products is hard. ...

Room: Salon ETags: Python, Hardware, TestingLevel: Intermediate

Begin Your Machine Learning Journey in the Public Cloud

Presented by: John Dages

Machine learning is a transformative technology that empowers you to unlock predictive insights from complex data. As this technology continues to evolve, the major public cloud companies are investing in new and evolving machine learning platforms and tools that enable developers to surface and...

Room: MangroveLevel: Introductory and overview

[CANCELLED] Material Design won't rescue bad UX

Presented by: Angel Banks

Design languages, like Material Design, are a great way to ensure consistency and best practices in your UI. But adhering to a design language won’t result in a good experience if you violate the heuristics of good design, build an experience that doesn’t match the user’s mental model, or...

Room: Portia / WisteriaTags: Design (UI/UX/CSS)Level: Introductory and overview

The Perimeter Has Been Shattered: Attacking and Defending Mobility and IoT on the Enterprise Network

Presented by: Georgia Weidman

Mobility and the Internet of Things (IoT) have disrupted the corporate enterprise network on the scale that PCs disrupted mainframes in the 1980s. Yet most enterprises continue to approach security as if though there is still a hard perimeter with nothing but corporate-owned end points running...

Room: RosewoodTags: Testing, Security, MobileLevel: Intermediate
1:00 PM

Learning the Three Types of Microservices

Presented by: Mike Amundsen

Microservices is a popular, but vague term. And -- it turns out -- definitions of microservices can vary, depending on what you want them to accomplish and how you want them to communicate with each other. So, just what are the three types of Microservices, what makes them unique, and when do you...

Room: ZambeziTags: CloudLevel: Intermediate

A Primer on Functional Programming

Presented by: Sarah Withee

Functional programming languages are gaining in popularity. If you’ve worked in object-oriented languages, you might be baffled at how they work. Maybe hearing the word “recursion” makes you want to scream. Or maybe you’ve just heard the hype and want to know what the hype is about. ...

Room: Indigo BayTags: Functional ProgrammingLevel: Introductory and overview

Be an A11Y with React

Presented by: Nathan Loding

When discussing diversity and accessibility, frameworks are often used as scapegoats: “It’s too hard to do it with {{ framework_name_here }}”. It’s an excuse. Most modern frameworks are built with accessibility in mind, and implementing accessibility often takes no time at all. We will...

Room: CypressTags: Design (UI/UX/CSS), JavascriptLevel: Introductory and overview

Higher-Order Promises

Presented by: Neal Lindsay

A JavaScript promise is a handy container for a value you expect to get later. But a promise is also a value itself, and you can do some useful stuff just knowing you have a promise. ...

Room: NileTags: JavascriptLevel: Advanced

Expand Your Testing with Virtual Services

Presented by: Amber Race

Don’t let incomplete services or 3rd party dependencies slow down your test game – with virtual services, you can keep on testing! Learn about the many options available for service virtualization and how you can implement them in your own test routine. Whether you are writing automation or...

Room: OrangeTags: Java, TestingLevel: Intermediate

The OWASP Proactive Controls 2018

Presented by: Jim Manico

The OWASP Top Ten Proactive Controls 2018 is a list of security techniques that should be included in every software development project. They are ordered by order of importance, with control number 1 being the most important. This document was written by developers for developers to assist those...

Room: Aloeswood / Leopard WoodTags: SecurityLevel: Introductory and overview

Database DevOps with Containers

Presented by: Rob Richardson

Unlike CI/CD pipelines for applications, we can't just delete the database and pop up a new one with each new version. Let's start with the production database, and get SQL Server content to developers in containers, and then flow schema and lookup data back into production with migration tools. You...

Room: Sagewood / ZebrawoodLevel: Advanced

Kafka the hard parts.

Presented by: Chris Keathley

Kafka has become a go to tool for a number of operations. Whether its stream processing, log aggregation, micro service communication, or simple queuing operations Kafka can fit the bill. ...

Room: Salon ATags: Functional Programming, Big DataLevel: Intermediate

Kotlin, Going Native & Beyond

Presented by: Sam Corder

Cross platform mobile solutions have traditionally meant a good enough fit on one platform and a square peg in a round hole for all of the others. Yet the pressure to stop writing the same app twice on two platforms is constantly coming down from management. How can one code base be shared between...

Room: Salon DTags: MobileLevel: Introductory and overview

Debug Like It's Your Job

Presented by: Bob Crowley

Being a developer is not just about writing code - that code must actually work and figuring out why it doesn't is a different mindset than writing it. Debugging is not a prescribed recipe, it is a necessary skill for any developer. While this ability is inevitably gained through experience, there...

Room: Salon ETags: OtherLevel: Introductory and overview

Just because you can do something, doesn't mean you should!

Presented by: Angel Thomas

With all the advances of technology, sometimes our abilities to access data far exceeds guidelines that have been set for what we should or should not do as we develop applications. Where do the boundaries of what we can do cross the line of what we should do? What responsibility do we have towards...

Room: MangroveTags: Other, Soft Skills/BusinessLevel: Introductory and overview

The Well Architected Automation Framework

Presented by: Adam Goucher

Test automation talks tend to focus on dealing with flakey tests, reducing runtime, etc. even after most of those problems had credible solutions 5+ years ago. What doesn’t get discussed at automation events is where their automation is run and how that has just as much an impact on the success of...

Room: Portia / WisteriaTags: Testing, CloudLevel: Advanced

Printing your Ideas in 3D: A basic overview of the world of CAD and 3D printing

This session will tour the maker lab, and talk about the exciting world of 3D printing with a bit of the history of the technology. We will look at the lab’s printers as well as models made on them. We’ll then cover choosing a CAD app and will briefly cover using curated 3D printer object...

Room: Guava / TamarindTags: Testing, CloudLevel: Advanced

The Reality War

Presented by: Eric Downey

In the past, the power of augmenting reality has only been available to a few like Thanos, but no more! Since the release of ARKit on iOS, there have been thousands of apps developed providing augmented reality experiences. But what can you do with this technology? If you're not a native mobile...

Room: RosewoodTags: Mobile, Javascript, OtherLevel: Intermediate

[KidzMash] Using Javascript to draw an animated Poké Ball

Presented by: Tim LeMaster

In this hands-on session, the kids will create an animated Poké Ball using Javascript. We will explore basic drawing functions and put them together to form a Poké Ball. We will then animate the Poké Ball opening. Finally, we will add a surprise inside the Poké Ball! ...

Room: AcaciaTags: JavascriptLevel: Intermediate

Artemis

Room: Salon C (Artemis)Tags: JavascriptLevel: Intermediate
1:30 PM

[KidzMash] Laser Tag

Room: Salon C (Laser Tag)Tags: JavascriptLevel: Intermediate
2:00 PM

From idea to physical: A demo of how to make a CAD model, slice it and print

This lab is intended to be a fast-paced technology walk-through of the process of creating a 3D printed object. We will focus in on the process of using CAD to create our model with a NURBS modeler called Rhino3D and will walk through and create up to three basic models: a goblet, a challenge coin,...

Room: Guava / TamarindTags: JavascriptLevel: Intermediate
2:15 PM

Learn the Art and Science of Troubleshooting

Presented by: TMW Systems (Sponsor)

[Presented by Paul Bort] ...

Room: ZambeziLevel: Introductory and overview

So You Know How To Code? A Gameshow For Geeks...

Presented by: HMB (Sponsor)

[Presented by HMB Consultants] ...

Room: Indigo BayLevel: Introductory and overview

Robotic Process Automation: Building a Digital Workforce

Presented by: Nationwide (Sponsor)

[Presented by Mark Ramsey] ...

Room: CypressLevel: Introductory and overview

Bluetooth Prototyping with the Raspberry Pi

Presented by: InfernoRed Technology (Sponsor)

[Presented by Roberto Hernandez] ...

Room: NileLevel: Introductory and overview

Building an Industry Disruptive App with 20 Seconds Left

Presented by: Rocket Mortgage by Quicken Loans (Sponsor)

[Presented by Keith Elder] ...

Room: OrangeLevel: Introductory and overview

Decrypting the Tech Hype for the Busy Coder

Presented by: Oracle (Sponsor)

[Presented by Stephen Chin] (No Description)

Room: Aloeswood / Leopard WoodLevel: Introductory and overview

Application Security: Keeping up with the Jones and the Smiths

Presented by: PreEmptive Solutions (Sponsor)

[Presented by Sebastian Holst] ...

Room: Sagewood / ZebrawoodLevel: Introductory and overview

# Composition Is Key

Presented by: Assurant Labs (Sponsor)

[Presented by Anthony Coble] ...

Room: Salon ALevel: Introductory and overview

Beyond the Model: Operationalizing 4,586 Bigfoot Sightings

Presented by: DataRobot (Sponsor)

[Presented by Guy Royse] ...

Room: Salon DLevel: Introductory and overview

MongoDB in the Real World

Presented by: MongoDB (Sponsor)

[Presented by Austin Zellner] ...

Room: MangroveLevel: Introductory and overview

Does Agile Need Architects?

Presented by: ICC (Sponsor)

[Presented by Kevin Fox, Director of Enterprise Architecture, ICC] ...

Room: RosewoodLevel: Introductory and overview
2:30 PM

[KidzMash] It's Sedimentary, My Dear Watson: Finding Fossils Near You

Presented by: Matt Williams

We've seen fossils in museums, movies, and on tv. But did you know you can go hunting yourself for fossils? The Kalahari used to be part of a prehistoric sea and there are a lot of places to find fossils throughout Ohio and the surrounding states. ...

Room: AcaciaTags: OtherLevel: Introductory and overview
3:30 PM

React: The Big Picture

Presented by: Cory House

You've heard of React, but is it right for you? In this session, you'll learn why React has become so popular. Next, you will learn the tradeoffs inherent in React's design. Finally, we will explore some drawbacks to consider. After this session, you'll have a clear understanding of React's core use...

Room: Suite 1 / Suite 6Tags: JavascriptLevel: Introductory and overview

Becoming an Effective Mentor

Presented by: Olivia Liddell

Have you ever thought about becoming a mentor but didn’t know how to get started? Mentoring is a valuable tool for professional development that can result in positive outcomes for both the mentor and the mentee. ...

Room: ZambeziTags: Soft Skills/BusinessLevel: Introductory and overview

Extreme Performance Architecture

Presented by: Oren Eini

High performance can be achieved by micro-optimizations and a lot of minutiae, but to get to the extreme you need to architect your solution properly. In this talk, we'll discuss how the architecture of the solution impacts its performance, how to architect for extreme performance and the impact it...

Room: Indigo BayTags: .NET, Functional Programming, SecurityLevel: Intermediate

Continuous Delivery requires radical changes for testers

Presented by: Jeff Morgan

What does testing and quality look like in a Continuous Delivery world? Who does what and how? Is there still a need for testers or do developers do all of the testing? Is it really possible to achieve quality when you deploy to production many times each day? What should testers do when there is no...

Room: CypressLevel: Intermediate

Common Characteristics of the Greatest Developers

Presented by: Daniel Davis

This session takes a deep dive exploration into the common characteristics of the greatest developers of last century. As well as learning who the best of the best are, you can expect to cover a wide range of topics, from old school habits, to new school tricks, from wacky hacks, to vetted...

Room: NileTags: Soft Skills/Business, OtherLevel: Introductory and overview

Pivot: How to proceed when things don't work out

Presented by: Jay Harris

Have you ever failed? Have you ever given your all and it still didn't work out? Whether rooted in mistakes, malice, miscommunication, or mere randomness of the universe, sometimes you just need to pivot. In this soft skills session, we will discuss how to handle it, how to learn from it, and how to...

Room: OrangeTags: Soft Skills/BusinessLevel: Introductory and overview

Getting started in security with the OWASP ZAP HUD

Presented by: Simon Bennetts

The OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular and best maintained free and open source security tools. It has a powerful desktop UI, a highly functional API, and is used by everyone from people new to security, including developers and QA, right up to professional pentesters....

Room: Aloeswood / Leopard WoodTags: SecurityLevel: Introductory and overview

What's All The Fuss About Serverless?

Presented by: Taylor Krusen

Dude, where's my server?! The word 'Serverless' can be a bit misleading, but this architecture style has exploded in the tech industry and offers a myriad of unique benefits. Unfortunately, real comprehension of this concept has been abstracted away just as much as our server—turning the word...

Room: Sagewood / ZebrawoodTags: CloudLevel: Introductory and overview

Flutter for Android Developers

Presented by: Michael Yotive

Mobile users expect their applications to have beautiful designs, smooth animations, and exceptional performance. Accomplishing all three tasks at the same time using conventional Android development tools has traditionally been difficult. ...

Room: Salon ATags: MobileLevel: Introductory and overview

Collaborating on Infrastructure as Code with Terraform

Presented by: Seth Vargo

Capturing Infrastructure as Code is great, but the real power lies in collaboration and reusability. This talk shows how open source tools like Terraform allow us to apply existing technologies and techniques like CI/CD, code review, Pull Requests, and more to Infrastructure as Code. ...

Room: Salon HTags: CloudLevel: Intermediate

Deep Learning like a Viking - Building Convolutional Neural Networks with Keras

Presented by: Guy Royse

The Vikings came from the land of ice and snow, from the midnight sun, where the hot springs flow. In addition to longships and bad attitudes, they had a system of writing that we, in modern times, have dubbed the Younger Futhark (or ᚠᚢᚦᚬᚱᚴ if you're a Viking). These sigils are more...

Room: Salon DTags: Big Data, Other, PythonLevel: Introductory and overview

The Pi, Python, & Paintball? Innovating with Affordable Tech!

Presented by: Barry Tarlton

What do you get when you mix a handful of RaspberryPi's, Python, Paintball, and a little innovation? Come to this talk and find out! We'll take a look at a RaspberryPi project that was created to aid a nonprofit as a case study of the amazing opportunities that exist for anyone with the passion to...

Room: Salon ETags: Hardware, PythonLevel: Introductory and overview

Service Blueprints: How the (User Experience) Sausage is Made

Presented by: Cat Swetel

What constitutes user experience? It is not simply a collection of technology capabilities. The experiences of users and customers are created by an ecosystem of people, products, platforms, infrastructure, etc. When designing and creating experiences, the whole ecosystem must be considered...

Room: MangroveTags: Design (UI/UX/CSS)Level: Introductory and overview

Connect Data and Devices with Apache NiFi

Presented by: Ryan Hendrickson

Apache NiFi is an easy to use, powerful, and reliable system to process and distribute data. It comes with a wonderful management UI, a large marketplace of standard Processors, and a great Open Source Community behind it. This session will show you how to move data across servers & networks. It...

Room: Portia / WisteriaTags: Other, Big DataLevel: Introductory and overview

[KidzMash] Overview of NASA Plum Brook Station

Room: IronwoodTags: Other, Big DataLevel: Introductory and overview
4:00 PM

CAD and 3D printing open lab

This lab will allow you to use our equipment/software to build a model or prep one for printing. While our staff is available to assist, we are assuming your either are a self-starter who has run through our introductory labs and wants to get your hands dirty or have the basic background to use the...

Room: Guava / TamarindTags: Other, Big DataLevel: Introductory and overview
4:45 PM

AI Based Testing - The future of test automation

Presented by: Raj Subramanian

Artificial Intelligence and machine learning are advancing at a rapid pace. Companies like Apple, Tesla, Google, Amazon, Facebook and others have started investing more into AI to solve different technological problems in the areas of healthcare, autonomous cars, search engines, predictive modeling...

Room: ZambeziTags: Other, TestingLevel: Introductory and overview

Management 101 - The Hard Parts & Great Parts

Presented by: Ryan Riddell

Deciding on a career path is one of the most challenging and frequently delayed decisions facing engineers. This session will cover a three year management journey, starting on day one and ending today. A journey described as "a trial by fire", "thrown into the deep end" and "successful". ...

Room: CypressTags: Soft Skills/BusinessLevel: Introductory and overview

Jump Into JSON. Rush Into REST.

Presented by: Duane Collicott

Everybody needs a quick quick catch-up on technology at one time or another. Perhaps you’re new to modern development, or maybe you’ve been too focused on your projects that you haven’t been able to come up for air. During the conference you will see the terms REST, API, and JSON in many of...

Room: NileTags: Mobile, Cloud, Javascript, OtherLevel: Introductory and overview

Generating Fractals in the Browser With Rust and WebAssembly

Presented by: Ankur Sethi

WebAssembly is a low-level instruction format designed to be a compilation target for systems programming languages such as C, C++, and Rust. Code compiled to WebAssembly executes at near-native speeds, allowing developers to write performance-critical parts of their JavaScript application in a...

Room: OrangeTags: Other, JavascriptLevel: Advanced

ZAPping Security Vulnerabilities in Your Development Pipeline

Presented by: Matthew Smith

When your application has a security vulnerability, will you or an attacker find it first? Reviewing code and tracking down hidden flaws can be tedious and difficult. Let the free and open source OWASP Zed Attack Proxy (ZAP) help. This session walks through four ways to use ZAP: UI, command line,...

Room: Aloeswood / Leopard WoodTags: Testing, SecurityLevel: Introductory and overview

Unit Testing in Sass

Presented by: Lindsey Wild

Remember that time someone on your team removed some questionable Sass, only to result in a broken UI? If this scenario sounds familiar, then Sass unit testing is for you! In this session, you’ll learn how unit testing is applied to Sass, how it can benefit your large project, and how to set it up...

Room: Sagewood / ZebrawoodTags: Testing, Design (UI/UX/CSS)Level: Intermediate

Metaprogramming in .NET

Presented by: Jason Bock

Metaprogramming...it’s a term that may come across as abstract, nebulous, or just downright scary. In this session, we’ll break down what metaprogramming is and why it’s relevant to know. You’ll also see the tools and frameworks you can use as a .NET developer (such as Reflection and the...

Room: Salon ATags: .NETLevel: Advanced

Alternative Device Interfaces and Machine Learning

Presented by: Jared Rhodes

In this presentation, we will look at the how users interface with machines without the use of touch. These different types of interaction have their benefits and pitfalls. To showcase the power of these user interactions we will explore: Voice commands with mobile applications, Speech Recognition,...

Room: Salon HTags: .NET, Cloud, Design (UI/UX/CSS)Level: Intermediate

Xamarin! Build native iOS and Android apps with .NET

Presented by: Ed Snider

Xamarin makes it possible for .NET developers to build native mobile apps for iOS and Android with C# (and F#)! In this talk I will show how you can leverage your .NET skills and tools (like Visual Studio) to tap into the wonderful world of native mobile development. You will learn how Xamarin...

Room: Salon DTags: Mobile, .NETLevel: Intermediate

Building Products Sustainably with Resilient Teams

Presented by: Waldo G

Building teams is a fundamental requirement for building and running large applications. Employee retention is one of the most significant challenges that management experiences, often because of balancing engagement against burnout. Yet, our companies need to keep running their existing services,...

Room: Salon ETags: Other, Soft Skills/BusinessLevel: Introductory and overview

Notebooks are still cool...with Jupyter

Presented by: Ryan Bales

Whether you’re coding in Python, R or even JavaScript, Jupyter is a tool you should consider for your toolbelt. Jupyter notebooks provide a platform for data scientists and engineers to rapidly prototype, experiment, and share their findings with each other. Come and learn about how you and your...

Room: MangroveTags: Big Data, PythonLevel: Introductory and overview

User-Story Driven Threat Modeling

Presented by: Robert Hurlbut

Threat modeling is a way of thinking about what could go wrong and how to prevent it. When it comes to building software, some software shops either skip the important step of threat modeling in secure software design or, they have tried threat modeling before but haven't quite figured out how to...

Room: RosewoodTags: Testing, Security, PythonLevel: Advanced
6:05 PM

Dinner

Presented by: CodeMash Speakers

Dinner

Room: Suite 1 / Suite 6Level: Introductory and overview
7:00 PM

Laser Tag

Room: Salon C (Laser Tag)Level: Introductory and overview

Artemis

Room: Salon C (Artemis)Level: Introductory and overview
7:30 PM

Attendee Party: Jam Session

Room: Suite 1 / Suite 6Level: Introductory and overview

Attendee Party: Acoustic Jam Session

Room: MangroveLevel: Introductory and overview

Attendee Party

Presented by: CodeMash Speakers

Attendee Party

Room: Grand Hall (Near Marrakesh)Level: Introductory and overview
10:00 PM

Attendee Pool Party

Presented by: CodeMash Speakers

Attendee Pool Party

Room: WaterparkLevel: Introductory and overview

Friday

6:45 AM

Coat Check

Presented by: CodeMash Speakers

Coat Check

Room: Coat CheckLevel: Introductory and overview

Shuttle

Presented by: CodeMash Speakers

Shuttle Running

Room: ShuttleLevel: Introductory and overview
7:30 AM

Breakfast

Presented by: CodeMash Speakers

Breakfast

Room: Suite 1 / Suite 6Level: Introductory and overview
8:00 AM

Registration Booth

Presented by: CodeMash Speakers

Registration Booth is Open

Room: Reg BoothLevel: Introductory and overview
8:30 AM

Better Names for Better Code

Presented by: Michael Dowden

As developers we spend much more time reading code than we do writing it. It’s important that our code conveys its meaning clearly, not just to the computer but also to other developers. When our code is full of names like doStuff and temp1 it can be hard to figure out what’s going on. This can...

Room: ZambeziTags: OtherLevel: Intermediate

Hotness === Serverless - Learn how to harness the power of Lambda's in AWS

Presented by: Derik Whittaker

The Cloud is all the rage these days and Serverless is one of the driving forces behind the Cloud. ...

Room: Indigo BayTags: Cloud, JavascriptLevel: Intermediate

DISCovering your team: A Guide to Effective Communication

Presented by: Patrick Badley

Every team is made up of different personalities. Often times these differences make collaboration difficult, but they don't have to. Knowing your personality type and the personalities of your team and adjusting your behavior based on your audience can go a long way to make your team a cohesive...

Room: CypressTags: Soft Skills/Business, OtherLevel: Introductory and overview

Service Workers in the Wild

Presented by: Graham Conzett

Ever wanted to make the internet work offline? This will serve as a gentle introduction to Service Workers, the Cache API and how we leveraged both to save bandwidth and improve reliability when we deployed dozens of interactive outdoor kiosks with a web-based OS. We'll discuss some of the gotchas,...

Room: NileTags: Mobile, Javascript, OtherLevel: Introductory and overview

Desktop Applications in Electron

Presented by: Victor Pudelski

While most of the world has gone mobile, there is still a time and a place for desktop applications. This course will focus on utilizing those web skills with a foundation in HTML, CSS and Javascript to build cross-platform desktop applications ready for enterprise deployment. We will setup the...

Room: OrangeTags: JavascriptLevel: Introductory and overview

My users posted what?

Presented by: Harold Pulcher

Have you ever tried to build a system to categorize text, images, or video as “offensive”? What about combinations of those three? With “memes” today, they have both images and text. Video can have all three. Somehow you are expected to grab a text scanning engine, have a way to analyze...

Room: Aloeswood / Leopard WoodTags: CloudLevel: Introductory and overview

The Automation Firehose: Be Strategic and Tactical

Presented by: Thomas Haver

The widespread adoption of test automation has led to numerous challenges that range from development lifecycle integration to simple scripting strategy. Just because a scenario CAN be automated does not mean it SHOULD be automated. Teams that adopt automation often rush to automate everything they...

Room: Sagewood / ZebrawoodTags: Testing, Ruby/RailsLevel: Intermediate

Getting Unstuck

Presented by: Steven Hicks

You’ve followed along with the docs. Everything seems like it should be working. You’ve looked over this code 20 times, but you can’t figure out why it’s not working. You’re frustrated, and you’re ready to give up. ...

Room: Salon ATags: OtherLevel: Introductory and overview

The Agile DBA: A Guide To SQL Server DevOps With SSDT

Presented by: Ryan Booz

Whether you are the DBA for an Agile, Sprint-based team, or a Developer with DBA responsibilities, you may feel like the development bottleneck at every turn. You’ve stuck with the existing processes and tools because it’s what you know. After all, “If it ain’t broke, don’t fix it!” ...

Room: Salon HTags: .NET, OtherLevel: Introductory and overview

Unraveling Realities: Building HoloLens Apps With Unity & C#

Presented by: Jeff McKenzie

As the universe of immersive technologies expands, it's easy to get overwhelmed and sometimes confused not only by device choice and experience, but also by terminology. In this session, as we discuss virtual, augmented, and mixed realities -- what they mean, how they're used, and where they overlap...

Room: Salon DTags: Mobile, .NET, Design (UI/UX/CSS)Level: Introductory and overview

Seeking the holy Graal

Presented by: David Lucas

Have you wished your Java program would run faster? Maybe you were seeking a JVM based scripting language to perform as great as Java ? Wouldn't it be cool if you could transpile your polygot language to native binary? Then you might have just found the holy grail. Wait the spelling is...

Room: Salon ETags: Java, OtherLevel: Intermediate

Gathering Insights from Audio Data

Presented by: Ryan Bales

Data comes in many shapes and sizes. In this session, we’ll look into the process of converting audio files into valuable data. We’ll go over the different types of audio formats and how format and type of audio plays a role in the quality of the outcome. We’ll go over different...

Room: MangroveTags: Python, Big DataLevel: Intermediate

Building Letters for Livia: A Vue.js App in an Hour

Presented by: Jessica Mauerhan

When a friend texted me asking if I could build an app for him, I assumed he had a business opportunity in mind. Instead, he shared with me how a friend's daughter had just come out of a coma, and only had control of her eyes. They currently had no way to communicate beyond yes and no and were...

Room: Portia / WisteriaTags: Javascript, CloudLevel: Introductory and overview

Hotdog Not Hotdog: Xamarin Android Things Primer

Presented by: Ron Dagdag

We will cover the Android Things platform. Android Things lets you build Android apps that run on devices like a Raspberry Pi using all of the great tools already available and familiar to Android and C#. We’ll cover the basics of getting started with Android Things platform and how any developer...

Room: RosewoodTags: Mobile, Hardware, .NETLevel: Introductory and overview
9:00 AM

[KidzMash] A Kid's World of 3D printing

This session is targeted for children. All ages are welcome with a responsible adult. We will tour the maker lab and talk about the exciting world of 3D printing. we will look at the printers as well as models made on them go over basics of how to make or get models, different types of CAD apps...

Room: Guava / TamarindTags: Mobile, Hardware, .NETLevel: Introductory and overview

[KidzMash] Remove The Roadblox With Roblox Game Making 101

Presented by: Hunter Gibbons

Roblox is the super cool multi-player game. It’s like Minecraft and building Legos combined into one. You can create an account and play games other people have created, or you can build your own game using Roblox Studio. ...

Room: AcaciaLevel: Introductory and overview

[KidzMash] Itty Bitz Laser Tag

Room: Salon C (Laser Tag)Level: Introductory and overview
9:30 AM

[KidzMash] Build a Binary Clock with a Raspberry Pi Zero Workshop

Presented by: Christopher Judd

Have you ever wanted to be the geekiest kid around? This session will earn you the crown. In this session, you build a clock that likely only you can read because it will display the time in binary (1s and 0s or on and off). You will learn how to control LEDs using a Raspberry Pi Zero. Along the way...

Room: IronwoodTags: HardwareLevel: Advanced
9:45 AM

Versioning 1.0.1

Presented by: Jon Skeet

Versioning remains one of the trickiest and under-discussed aspects of software development. Shipping 1.0 of a library or framework can be easy compared with shipping 1.1 and worrying about your existing users. "But semantic versioning!" you respond... yeah, not so much. It's easy to say "No...

Room: Suite 1 / Suite 6Tags: Other, .NET, JavaLevel: Intermediate

APIs on the Scale of Decades

Presented by: Gary Fleming

"APIs are hard. They are pretty much ship now, regret later." -- Chet Haase. ...

Room: ZambeziTags: OtherLevel: Intermediate

Code Checkup: Tools to check the health of your code.

Presented by: Doug Mair

Over time even the simplest project can grow into an unwieldy beast. Features are added and removed. Developers come and go. Using static analysis tools we can get an idea about what challenges are in store for us. ...

Room: Indigo BayTags: Javascript, Java, .NETLevel: Intermediate

Understand your brain to build better visualizations.

Presented by: Walt Ritscher

No one questions that data is vital to application development, our teams spend untold hours obsessing about data structures. We build useful data layers and strive to eliminate processing roadblocks so that our data services are fast and fluid. ...

Room: NileTags: Other, Design (UI/UX/CSS)Level: Introductory and overview

Entity Framework debugging using SQL Server: A Detective Story

Presented by: Chris Woodruff

What happens when the code for your Entity Framework LINQ queries looks good, but your app is very slow? Are you looking in the right place? Don’t be afraid to start looking at your database. Knowing how to investigate and debug what your LINQ queries are doing in SQL Server is as important as the...

Room: OrangeTags: Testing, .NETLevel: Advanced

Modern Identity Management (in the Era of Microservices and Serverless)

Presented by: Mercedes Wyss

If you believe that Identity Management (IdM) is just related with the Authentication and Authorization processes, this is a talk for you. IdM is an umbrella term for all of the core logic around identity. That means manage provisioning (assigning identities to user), account management (maintaining...

Room: Aloeswood / Leopard WoodTags: SecurityLevel: Introductory and overview

Rekindle Your Love - Avoiding Burnout In A Fast Paced World

Presented by: Kalvin Tuel

Burnout is real. You may wish it wasn't or think it could never happen to you. But the truth is that burnout can happen to even the most dedicated, driven, and passionate people. The good news is that you can learn to control that dreaded beast before it has a chance to ruin your career. ...

Room: Sagewood / ZebrawoodTags: Soft Skills/Business, OtherLevel: Introductory and overview

I'd Hire more Women if they Would Apply!

Presented by: Ronda Bergman

Maybe you’re the one that’s not really trying? Are you sending signals that say “Dudes Only”? ...

Room: Salon ALevel: Introductory and overview

Mastering the Art of Mobile Testing

Presented by: Akshita Puram

According to the 2017 U.S. Mobile App Report by comScore, mobile web apps have 2.2 times the number of monthly visitors than native mobile apps. This number is expected to grow as consumers are more resistant to downloading apps, increasing the demand to also develop and test progressive web...

Room: Salon HTags: MobileLevel: Introductory and overview

Esoteric Programming Languages

Presented by: Jason Bock

Most of the time we program in modern languages like Ruby, Python or C#. However, there are a plethora of languages out there that are strange, odd, and/or just plain funny. In this talk, I'll go over a number of esoteric programming languages such as Whenever, Befunge, and LOLCODE. Come with a...

Room: Salon DTags: OtherLevel: Introductory and overview

Augmenting Retro Consoles with New Hardware

Presented by: Jeff Katz

In 1992, I got a Super Nintendo for my birthday. I still have it. In 1999, Nintendo stopped manufacturing of the SNES and accessories. My SNES still works, but the controllers are long dead. ...

Room: Salon ETags: HardwareLevel: Introductory and overview

Real Pirates Seek the C!

Presented by: Clay Dowling

I want you to experience the joys of the C! I'll help you get your C legs with simple tricks to make this venerable language work with the latest trends in programming. Simple project setup using Make and CMake. Functional programming. Test Driven Development & Automated Testing. Programming to...

Room: Portia / WisteriaTags: OtherLevel: Introductory and overview
10:00 AM

[KidzMash] A Kid's introduction to 3D Modeling

This second session is targeted at children who have completed our Kid’s world of 3d printing session+. We will attempt to walk the attendees through the process of building a basic model on a professional CAD program (Rhino3d) from geometric shapes. We will explain the XYZ coordinate system, and...

Room: Guava / TamarindTags: OtherLevel: Introductory and overview
10:30 AM

[KidzMash] Space Mission #251: Colonization

Presented by: Daniel Wood

Attention all registered kidz. Multiple habitable planets have been detected in the far reaches of space. Mission Control needs you and your teammates to design the spacecraft, pilot it to your destination, and create a safe and controlled environment for the colonists to live on. You will race...

Room: AcaciaLevel: Introductory and overview
11:00 AM

Lunch

Presented by: CodeMash Speakers

Lunch

Room: Suite 1 / Suite 6Level: Introductory and overview

Always Be Delivering

Presented by: James Balmert

What do Facebook, Google, Netflix, LinkedIn, WordPress and Etsy all have in common? They are all well known IT organizations that practice continuous delivery and deployment (CDD). This helps them reduce the risk associated with releasing code, improve system resiliency, and reduce overall software...

Room: ZambeziTags: OtherLevel: Introductory and overview

Data management in a Microservices world

Presented by: Gerald Venzl

Microservices with their decentralized nature strive for scalability, autonomy and flexibility for modern applications. But it always gets tricky when it comes to the data. "Code is easy, state is hard" is the motto often used. Naturally, a lot of Microservices architectures do not speak of the data...

Room: Indigo BayTags: Java, Javascript, Ruby/Rails, Python, .NET, Big Data, CloudLevel: Advanced

CSS !important

Presented by: Michael Dowden

A clean, functional User Interface can be a major competitive advantage. CSS is the core technology used to build UIs for the web. In this talk you will learn how to set up your web project with clean, concise, maintainable stylesheets. We will cover: ...

Room: CypressTags: Design (UI/UX/CSS)Level: Advanced

Time Management for the Distracted Developer

Presented by: Matthew Jones

I am a distracted developer. I've had Attention-Deficit Hyperactivity Disorder (ADHD) my entire life. I've also been a programmer professionally for 10+ years and I've always been... was that a butterfly? It sure was pretty. I wonder what species it is? I should go find out... but I also needed...

Room: NileTags: OtherLevel: Introductory and overview

THE STORIES OF THE MOST INFAMOUS BUGS

Presented by: Ian Zelikman

Whenever we write code we eventually make mistakes and have “bugs”. We employ many techniques including testing and reviews to avoid them but some mistakes still make it into production. ...

Room: OrangeTags: Other, TestingLevel: Introductory and overview

Securing Your API Endpoints - A Practical Authentication Guide

Presented by: Seth Petry-Johnson

It's never been easier to expose services over HTTP. It's also never been easier to inadvertently expose security holes via those same services. This session is designed for any developer or architect that wants a conceptual overview of API security without getting into the weeds of cryptography or...

Room: Aloeswood / Leopard WoodTags: SecurityLevel: Introductory and overview

Testing Like You've Never Tested Before (Because You Haven't)

Presented by: Steve Grunwell

Testing software in an automated fashion is one of the best ways to guarantee quality, reduce bugs, and prevent regressions in our code, and is a prerequisite to operating in a Continuous Integration environment. Unfortunately, the most difficult parts of testing come right at the beginning:...

Room: Sagewood / ZebrawoodTags: Testing, OtherLevel: Intermediate

12 Factor Apps Mobile Edition

Presented by: Sam Corder

Modern mobile apps have progressed beyond the basic set of a few screens calling into a REST service. They’re big and complicated and live long lives. If not done well they can become maintenance nightmares or worse yet, open up security risks to your backend infrastructure. Inspired by the 12...

Room: Salon ATags: Security, MobileLevel: Introductory and overview

Rock-Solid Components with Typescript and GraphQL

Presented by: Mat Warger

Most recent javascript frameworks bring a solid component model to modern web development, but how can you guarantee that your components work correctly? In this session, you learn how the features of Typescript can be leveraged to bring clarity and dependability when constructing components with...

Room: Salon HTags: JavascriptLevel: Intermediate

AI for Earth: Innovations in Data Collection for Machine Learning

Presented by: Jennifer Marsman

The AI for Earth program applies machine learning and data science to hard challenges in agriculture, water, climate, and biodiversity. The lifeblood that powers machine learning is data. Many AI for Earth grant recipients have developed innovative ways to collect data. I'll showcase the usage of...

Room: Salon DTags: Other, Python, Cloud, Big DataLevel: Introductory and overview

What is a Command Bus?

Presented by: Brian Korzynski

There has been a lot of buzz in recent years around the concept of a command bus, but if you've never used it before it can be intimidating. During this talk we will break down the basic concepts, build our own command bus, discuss pros and cons, and review different frameworks that make this work...

Room: Salon ETags: .NETLevel: Introductory and overview

Megahertz, Gigahertz, Registers and Instructions: How does a CPU actually work?

Presented by: Kendall Miller

For decades, we’ve been creating ever higher abstractions between ourselves and the computing hardware we’re programming, but in the end whether you’re writing JavaScript, Haskell, or Python it all comes down to 1’s and 0’s running through hardware patterns that were well understood twenty...

Room: Portia / WisteriaLevel: Intermediate

Insight from the Crowd

Presented by: Rebecca R. Carter

If you could ask the entire internet a question, what would it be? What if you could put it to work for you? Crowdsourcing breaks down task or problem with the added advantage of its capacity for scaling up. This talk will feature challenges and considerations for gaining new knowledge and...

Room: RosewoodTags: Other, Big DataLevel: Introductory and overview
12:15 PM

Patterns and Architectures Beyond Microservices

Presented by: Stephen Shary

Have you slayed the monolith and are ready for more? Learn patterns and architectures that move beyond simple microservices to solve problems of resiliency, security, scalability, responsiveness. Understand the new class of issues that come with distributed systems like microservices. We explore...

Room: ZambeziTags: Big Data, CloudLevel: Advanced

How to Keep up with Technology: a Systems Based Approach

Presented by: Eugene Meidinger

Keeping up with technology can be an overwhelming task. In this session, we break the problem down into the core components of any system: inflows, outflows and buffers. We look at the two ways that our knowledge atrophies and the 3 currencies we can spend to get new knowledge.

Room: Indigo BayTags: Soft Skills/BusinessLevel: Introductory and overview

Revisiting SOLID - Making the 5 principles easy enough to implement

Presented by: Tim Corey

Can you explain what all five principles in SOLID do? The purpose behind SOLID was to encourage writing loosely-coupled, extendable, predictable applications that were easier to test and easier to upgrade over time. Does that describe the applications you work on? If not, this session is for you....

Room: CypressTags: .NETLevel: Intermediate

Automating the Software Delivery Pipeline: DevOps in the Real World

Presented by: Gregory Beamer

DevOps has been a buzzword for quite a few years. But to truly implement DevOps, an organization must be willing to blend the development group with operations. This is very difficult, as development tends to think in terms of backlog, but operations tends to think in terms of tickets. From...

Room: NileTags: Cloud, .NET, TestingLevel: Intermediate

Post Mortem: Dealing with Failure in Development

Presented by: BJ Burns

The world of medicine has a process for reviewing failure and looking for ways to prevent it from happening again. Failure is all to common in development, whether you are building a traditional waterfall project or using the newest agile techniques. In this talk we'll discuss how to apply what the...

Room: OrangeTags: Soft Skills/BusinessLevel: Intermediate

Modern 2FA in ASP.NET Core

Presented by: Ondrej Balas

For many years SMS was the industry’s go-to method of implementing two-factor authentication. But in recent years several high profile attacks have occurred in which attackers have taken advantage of flaws in SMS. In this session I will show you why current 2FA implementations using SMS are...

Room: Aloeswood / Leopard WoodTags: Security, .NETLevel: Introductory and overview

Intro to Progressive Web Apps

Presented by: Chris Lorenzo

What’s a progressive web app (PWA)? Should you turn your site into a PWA? Does it replace the need for a Native Web App? Do PWAs work offline? ...

Room: Sagewood / ZebrawoodLevel: Intermediate

Design for inclusivity using Conversational Chatbots

Presented by: Suganthi Giridharan

Have you ever wondered what it would be like to be visually or hearing impaired and how that would affect your daily interactions? Why not build products that would provide a better user experience for wider range of customers? With the big Chatbot revolution, Bots are everywhere and are changing...

Room: Salon ATags: Cloud, Other, Design (UI/UX/CSS)Level: Intermediate

The Great Gatsby: Building Fast Static Sites in React

Presented by: Kevin Marsh

There are a lot of choices when building static sites. A new rising star is Gatsby: a static site generator built in React. You'll learn about the benefits of static sites in general and what makes Gatsby a compelling choice. Once we get over some hurdles with React we'll dive into topics such as...

Room: Salon HTags: JavascriptLevel: Introductory and overview

Your dreams don't work unless you do

Presented by: Raj Subramanian

Have you ever wondered what makes you tick? What are the different factors that elevates you to peak performance level and makes you an awesome developer/tester? I was curious about this and went through a journey of self exploration in the past several years. This journey consisted of me...

Room: Salon DTags: Soft Skills/BusinessLevel: Introductory and overview

Kotlin in Android: Learnings from 3 years in production

Presented by: Scott Weber

While Kotlin is quickly becoming the language of choice for native Android development, as with any new technology, it has a learning curve of its own. Having shipped Kotlin code into production since well before Kotlin 1.0, the team at Expedia has learned quite a bit about working with this...

Room: Salon ETags: MobileLevel: Introductory and overview

Towards a responsible Internet of Things

Presented by: Jeff Katz

More and more aspects of our lives are becoming connected to the internet. While today they tend to be large, expensive, or otherwise visible and consciously acquired, in the near future these devices will be ubiquitous, pervasive, and if we're not careful, invasive. ...

Room: MangroveTags: Other, Hardware, Big DataLevel: Introductory and overview

Finding your place in the Cosmos: When and why you should consider Azure Cosmos DB.

Presented by: Eric Potter

Azure Cosmos DB gives you exciting new ways to access your data. You have new storage paradigms. You can connect to it from your C#, JavaScript, Python, or Java application. You can write stored procedures in JavaScript. You can easily integrate with Azure Functions. You get all of this with...

Room: Portia / WisteriaTags: Cloud, Big DataLevel: Introductory and overview

The Admiral's Language of Choice

Presented by: Ken Patton

Most of us know about Admiral Grace Hopper. She is rightly recognized as a pioneer in computer science and innovator of the compiler many of us depend on today, yet deriding one of her most-lasting impacts, COBOL, is fashionable. Go on a journey starting with the landscape of computing that led to...

Room: RosewoodTags: Other, HardwareLevel: Introductory and overview
1:00 PM

[KidzMash] Fun Things To Do With Alexa

Presented by: Jeff Blankenburg

This session will introduce KidzMashers to Alexa, and show them some of the cool things they can do with just their voices. We will have devices to play with, tons of things to try, and an interactive game they can try.

Room: AcaciaTags: Other, HardwareLevel: Introductory and overview

Artemis

Room: Salon C (Artemis)Tags: Other, HardwareLevel: Introductory and overview
1:30 PM

Three Ways to Modernize Your Enterprise

Presented by: Aptera (Sponsor)

[Presented by Jon Fazzaro] ...

Room: ZambeziLevel: Introductory and overview

How to Improve Your Task Estimates by 0% to 1,000%

Presented by: Stout Systems (Sponsor)

[Presented by Dave Sweeton, Chief Technologist, Stout Systems] ...

Room: Indigo BayLevel: Introductory and overview

Arts & Crafts with AWS Glue

Presented by: Manifest Solutions (Sponsor)

[Presented by James Zhang & Lydia White] ...

Room: NileLevel: Introductory and overview

Disruption Junction: The Evolution of Innovation Enablement

Presented by: Rocket Mortgage by Quicken Loans (Sponsor)

[Presented by Jordan LaFramboise] ...

Room: OrangeLevel: Introductory and overview

Building small team culture across the big world

Presented by: JPMorgan Chase & Co. (Sponsor)

[Presented by Elizabeth Miracle and Jeff Hunsaker] ...

Room: Aloeswood / Leopard WoodLevel: Introductory and overview

How to build video streaming iOS and Android apps

Presented by: Wowza Media Systems (Sponsor)

[Presented by Russell Fustino] ...

Room: Salon DLevel: Introductory and overview

Autonomous Microservices

Presented by: Couchbase (Sponsor)

[Presented by Matthew Groves] ...

Room: Salon ELevel: Introductory and overview

Not your grandpa's training: Using HoloLens to create unique learning experiences

Presented by: Progressive Insurance (Sponsor)

[Presented by Jefferson Davis] ...

Room: Portia / WisteriaLevel: Introductory and overview

Visual Version Control with JetBrains IDEs

Presented by: JetBrains (Sponsor)

[Presented by Paul Everitt and Maria Khalusova] ...

Room: RosewoodLevel: Introductory and overview

[KidzMash] Laser Tag

Room: Salon C (Laser Tag)Level: Introductory and overview
2:30 PM

[KidzMash] FUN WITH STICKS!!!

Presented by: Steven Swenson

This will be a fun and creative session where you build things with popsicle sticks!! Build a bridge! Build a building! Build a Jellyfish! Build anything you like! And these projects don't require glue, so no drying time, and all the parts are reusable. Every child will receive a kit with sticks,...

Room: AcaciaLevel: Introductory and overview
2:45 PM

Comments are Useless and Other Controversial Opinions About Code

Presented by: Izzi Bikun

Almost all of us have at one point learned a Bad Coding Habit™ that is so ingrained into our processes that we don't even realize what we're doing. In this interactive session, a member of the audience will drive the speaker's laptop as we examine a piece of Poorly Written Code and challenge the...

Room: ZambeziTags: Soft Skills/Business, Java, TestingLevel: Introductory and overview

Building A Highly Scalable Service that Survived A Super Bowl

Presented by: Keith Elder

Would you bet your career and your company's reputation on a technology you've never used in front of 110 million people tuned into a Super Bowl commercial? Well, I did. And I was a nervous wreck! We were launching a new product during a commercial at the Super Bowl 302 days away, and I was betting...

Room: Indigo BayTags: Functional Programming, CloudLevel: Intermediate

The Two Question Code Quiz: How to Interview Programmers Effectively

Presented by: Scott Connerly

First thing I do when walking into an interview is to see if there’s a whiteboard hanging on the wall. If there is, there’s a good chance somebody’s going to ask me to write code on there, and nobody’s gonna get any useful information out of the experience. There's also a good chance...

Room: CypressTags: Soft Skills/BusinessLevel: Introductory and overview

Climbing To The Top Of The Mobile Testing Pyramid

Presented by: Rick Clymer

Planning to test a mobile application can be quite a confusing time. Real devices? Shrunk down browser? Device hardware? Using the mobile testing pyramid to guide our testing efforts allows us to be more efficient about our testing (and maybe development) efforts. In the end, all of our focus on...

Room: NileTags: Mobile, TestingLevel: Intermediate

Why are we talking about XSS in 2019?

Presented by: Jim Manico

Why are we talking about XSS in 2019? ...

Room: Aloeswood / Leopard WoodTags: Security, JavascriptLevel: Intermediate

Can DevOps and Security be Friends?

Presented by: Zach Steindler

Security for DevOps is only getting more complicated. 2018 saw a whole new class of CPU vulnerabilities, not to mention an explosion of hosted cloud infrastructure options. How should DevOps folks address security concerns while also, y'know, doing all the other things their job requires? ...

Room: Sagewood / ZebrawoodTags: Cloud, SecurityLevel: Intermediate

From Zero to Serverless

Presented by: Chad Green

So many times our customers need a simple routine that can be executed on a routine basis but the solution doesn’t need to be an elaborate solution without going the trouble of setting servers and other infrastructure. Serverless computer is the abstraction of servers, infrastructure, and...

Room: Salon ATags: CloudLevel: Introductory and overview

Building Blocks for Beautiful Cross-Platform Applications!

Presented by: Jeremiah Bryant

Tired of writing two separate codebases for your mobile application? Flutter is a framework for building mobile applications that can run on Android and iOS with one codebase. It offers an excellent developer experience with a speedy subsecond hot reload to iterate quickly in development and...

Room: Salon HTags: MobileLevel: Introductory and overview

How not to be the best app no one uses: Effective Onboarding for fun & profit

Presented by: Kendall Miller

You've made a brilliant application - perhaps a new startup or a new major initiative within your enterprise. For it to be successful you need to get people from interested to effective before they lose interest. ...

Room: Salon DLevel: Intermediate

Building Reusable, High Performance ETL Systems

Presented by: Brendan Mulcahy

Batch systems for processing Extract-Transform-Load (ETL) jobs are common at most business-to-business companies. In this talk, we will cover our approach for handling these processes using a variety of open-source .NET libraries (including a demo). We will cover common pitfalls we have run into...

Room: Salon ETags: .NETLevel: Intermediate

Hardware is from Mars, Software is from Venus

Presented by: Kimberly Clavin

MARS (hardware device): Don’t offer unsolicited signals to Martians because hardware would go crazy and might even keel over and die. Don’t try to change hardware’s behaviour without proper invitation. ...

Room: MangroveTags: Testing, Functional Programming, HardwareLevel: Introductory and overview

Premise: Promises

Presented by: Anne Cahalan

The promise construct has been around since the late 70‘s, and iOS has had libraries for promises since at least 2015. Still, it seems like Swift has been slower to adopt promises than other languages. Promises can make tangled networking code more readable and can simplify complicated API...

Room: Portia / WisteriaTags: MobileLevel: Intermediate
4:00 PM

KidzMash Closing Ceremony and Mario the Maker Magician!

The KidzMash closing, always a bittersweet affair, will start at 400pm in the ballroom. Please have the kidz sit right up in front of the stage so they have the best view of the magic! ...

Room: Suite 1 / Suite 6Tags: MobileLevel: Intermediate

Building Your Team to Last

Presented by: Sarah Withee

Hiring and onboarding new team members is an expensive and risky process. It's crucial to hire people who mesh well with the existing team and get them up to speed in a timely manner. Balancing this while minimizing the initial impact on productivity is often a challenge for even the most...

Room: ZambeziLevel: Introductory and overview

Sustainable Styles: Fundamental Principles of CSS Architecture

Presented by: Nathan Rambeck

CSS is easy, right? Yet why is it that every project’s CSS styles seem to get out-of-control and frustrating so quickly? The global nature of CSS allows tremendous flexibility, but without a plan and enforced structure, styles get out of hand. In this session, learn how to reign in the global...

Room: Indigo BayTags: Design (UI/UX/CSS)Level: Introductory and overview

UI Tests Are Fun to Write (If You Write Them Right)

Presented by: Seth Petry-Johnson

Automated browser tests can be a nightmare to write and maintain. Unlike unit tests they’re tough to set up, slow to run, make permanent changes to data, and they’re incredibly brittle. Even a tiny CSS change can result in cascading failures! ...

Room: CypressTags: Testing, .NETLevel: Intermediate

Get More Miles Out of Your Legacy App!

Presented by: Brett Whittington

Reinvigorate your legacy applications without costing a fortune with Vue.JS.  Many front-end frameworks require some heavy lifting to get started and that is especially true in a legacy application.  Using this low barrier to entry framework allows developers pick and choose when to use it on a...

Room: NileTags: .NET, JavascriptLevel: Intermediate

Building An AppSec Program From The Ground Up: An Honest Retrospective

Presented by: John Melton

This talk will cover the lessons learned from a 2-year journey starting an appsec program at a small-medium sized DevOps driven company that previously had no security program. This will be an honest look at what worked, what didn't work, as well as a follow-up analysis. There will be plenty of...

Room: Aloeswood / Leopard WoodTags: SecurityLevel: Intermediate

If Your Tests Could Talk

Presented by: James Balmert

Test Driven Development (TDD) has failed!  Tests are hard to write, run slowly, break easily, are hard to understand, take a long time to write and are a pain to modify!  If any of this sounds familiar, your tests are trying to tell you something.  But what are they trying to say?  Sometimes...

Room: Sagewood / ZebrawoodTags: Java, TestingLevel: Intermediate

Convergence of Front-end Technologies

Presented by: Jonathan Pinlac

Helping determine best practices as a suckling apprentice was a daunting task. Thankfully, somewhat recent developments in the mobile and web space has made this task not only manageable but exciting! In the last couple years iOS, Android, and some parts of web ecosystem look to be converging to a...

Room: Salon ATags: Other, Javascript, MobileLevel: Introductory and overview

Mommy, where do new programming languages come from?

Presented by: Jenny Manning

A medley of programming languages can found in use today: Python, Javascript, Go, C++, even Haskell, but where did they come from? Time to go digging through the history books! ...

Room: Salon HTags: Java, Javascript, Ruby/Rails, Other, PythonLevel: Introductory and overview

Domain specific languages: Don't be scared

Presented by: Andrew Roden

Domain specific languages make hard to express, complex, and always changing business problems disappear! Done correctly you can turn ever-changing-requirements directly into the program. A quick intro on parsing, lexing, and abstract-syntax-trees. Then practitioner tips on execution from at home...

Room: Salon DTags: Python, Cloud, Big DataLevel: Advanced

Everyday Animations in Android

Presented by: David Truxall

Animation is often seen as a nice-to-have or gratuitous in software projects. In truth, animations actually exist to improve an app's user experience. Animations help users understand state changes, guide them to notice meaningful information, gather focus to a required action, or express...

Room: Salon ETags: Design (UI/UX/CSS), MobileLevel: Intermediate

Power BI Custom Data Connectors - Your Data, Delivered!

Presented by: Ryan Booz

Your company uses Power BI for many projects and reporting needs, and often you're the one who finds, gets and cleans the data in order to make it useful. Wouldn't it be better if you could create a plugin for Power BI that would enable them to import the data, pre-cleaned and ready to use? ...

Room: Portia / WisteriaTags: Other, Functional ProgrammingLevel: Intermediate
5:00 PM

CodeMash Closing Ceremony

Room: Suite 1 / Suite 6Tags: Other, Functional ProgrammingLevel: Intermediate