Session Schedule

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

Tuesday

6:30 AM

CodeMash Shuttle

Time: Tuesday 6:30 AM - 12:00 AM

Room: Shuttle
7:00 AM

Breakfast

Time: Tuesday 7:00 AM - 8:00 AM

Room: Suite 1 / Suite 6

Coat Check

Time: Tuesday 7:00 AM - 9:00 PM

Room: Coat Check
8:00 AM

Build your first full-stack Blazor app

Presented by: Ed Charbeneau
Time: Tuesday 8:00 AM - 12:00 PM

The arrival of WebAssembly begins a new era for .NET web developers, allowing client-side applications written in C# to run directly in the browser. Blazor is a newly emerging client-side UI platform from the ASP.NET Core team, offering a productive and powerful way to construct large-scale...

Room: ZambeziTrack: Web/Front-EndTags: .NETFormat: PreCompilerLevel: Introductory and overview

Functional F# Programming in .NET – A success story

Presented by: Riccardo Terrell
Time: Tuesday 8:00 AM - 12:00 PM

Do you want to learn F# and Functional Programming? Well, you better start coding! Learning a new programming language is not easy, on top of reading a lot you need to practice even more. This workshop is designed to teach you some of the basics of F# and Functional Programming by combining theory...

Room: Indigo BayTrack: Programming PrinciplesTags: .NET, Functional ProgrammingFormat: PreCompilerLevel: Introductory and overview

Hacking Your Emotional API: Emotional Intelligence in Practice

Presented by: John Sawers, Aaron Aldrich
Time: Tuesday 8:00 AM - 12:00 PM

Being a good developer isn’t just about slinging code; we’re part of a community. Interacting with others in a community means feelings are involved. But feelings are messy and uncomfortable, so why can’t you just ignore them? Because emotional skills are critical for working well on a team....

Room: CypressTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: PreCompilerLevel: Introductory and overview

Bringing ML to Mobile Apps - Let's build an app to perform Face Recognition using Flutter

Presented by: Don Ward
Time: Tuesday 8:00 AM - 12:00 PM

The Background Flutter is Google’s cross-platform development framework for quickly crafting high-quality native apps on Web, iOS, Android, and ChromeOS in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source....

Room: NileTrack: MobileTags: MobileFormat: PreCompilerLevel: Introductory and overview

Introduction to Kubernetes

Presented by: James Strong
Time: Tuesday 8:00 AM - 12:00 PM

Introduction to Kubernetes is a hands-on, interactive workshop giving attendees a thorough understanding of the fundamentals of Kubernetes. As part of this workshop, you will learn how Kubernetes works, deploy microservices to that cluster & also hear about some war stories.

Room: OrangeTrack: ArchitectureTags: Cloud, OtherFormat: PreCompilerLevel: Introductory and overview

Hands On Threat Modeling Workshop

Presented by: Robert Hurlbut
Time: Tuesday 8:00 AM - 12:00 PM

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 / LeopardwoodTrack: SecurityTags: Security, Soft Skills/BusinessFormat: PreCompilerLevel: Intermediate

Putting the D&D in TDD

Presented by: George Walters II, Guy Royse
Time: Tuesday 8:00 AM - 12:00 PM

Are you tired of TDD workshops that make you do boring things like calculating bowling scores and prime factors or demonstrate how to win the game of life? If so, this is the session for you! In this TDD workshop, we will be building the domain model for EverCraft -- a new MMORPG from Blizzards of...

Room: Sagewood / ZebrawoodTrack: Software QualityTags: .NET, Java, Javascript, Ruby/Rails, Python, TestingFormat: PreCompilerLevel: Introductory and overview

Arts & Crafts with AWS Glue Workshop

Presented by: Lydia White, James Zhang
Time: Tuesday 8:00 AM - 12:00 PM

Constructing and administering a big data scale Extract, Transform & Load (ETL) and Business Intelligence (BI) pipeline can be expensive and complicated. Fortunately, Amazon Web Services (AWS) simplifies this with Glue and QuickSight services. Glue, a fully managed, serverless and cloud-optimized...

Room: Salon HTrack: DataTags: Cloud, Big Data, PythonFormat: PreCompilerLevel: Introductory and overview

Design & Research Fundamentals for Developers

Presented by: Alex White
Time: Tuesday 8:00 AM - 12:00 PM

How do you know what you’re building is important to your customers? As a developer, it’s easy for you to jump right into the code when given a problem to solve, but what if you build something that nobody wants? Taking the time to design and research your product can help you better meet the...

Room: Salon ETrack: UI/DesignTags: Design (UI/UX/CSS)Format: PreCompilerLevel: Introductory and overview

Badge My IoT Life, Part 1

Presented by: Paul Pagel
Time: Tuesday 8:00 AM - 12:00 PM

What can play games on the go, show your best face to the world, establish your geek creds way better than any iPhone, and potentially do some useful work too? Why, the "official" CodeMash 2020 IoT Badge of course! In this workshop, you will construct your very own battery-powered WiFi-enabled...

Room: MangroveTrack: HardwareTags: HardwareFormat: PreCompilerLevel: Introductory and overview
12:00 PM

Lunch

Time: Tuesday 12:00 PM - 1:00 PM

Room: Suite 1 / Suite 6
1:00 PM

Get Up and Running Quickly With Vue.js

Presented by: Burton Smith
Time: Tuesday 1:00 PM - 5:00 PM

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: ZambeziTrack: Web/Front-EndTags: Design (UI/UX/CSS), JavascriptFormat: PreCompilerLevel: Introductory and overview

GIT: From beginner to Fearless

Presented by: Brian Gorman
Time: Tuesday 1:00 PM - 5:00 PM

This training is an introduction to GIT for source control. We'll take a look at getting started with GIT on our own machines, as well as working with GIT at public/private repositories on GitHub and/or BitBucket. Tools we'll use include BASH and VSCode GIT can scare people. It shouldn't. GIT is...

Room: Indigo BayTrack: Programming PrinciplesFormat: PreCompilerLevel: Intermediate

Let's play!

Presented by: Jean Lange, Remy Porter
Time: Tuesday 1:00 PM - 5:00 PM

Improv games ~ZIP!~ build skills like paying attention ~ZAP!~, switching roles ~ZOP!~, negotiating uncertainty ~...zzZIP?~, and celebrating failure ~ZOP! HURRAH!~ … and these skills build up to real world benefits like understanding the people around you better, working well in a group, and not...

Room: CypressTrack: Project Leadership/Soft SkillsFormat: PreCompilerLevel: Introductory and overview

Xamarin Forms Workshop

Presented by: Jason Awbrey
Time: Tuesday 1:00 PM - 5:00 PM

Interested in learning more about Xamarin, but not sure where to start? This workshop will give you a guerrilla introduction to the Xamarin platform, including live coding exercises in building a cross platform app with Xamarin Forms. We'll discuss the overall Xamarin ecosystem and the sometimes...

Room: NileTrack: MobileTags: .NET, MobileFormat: PreCompilerLevel: Introductory and overview

Reactive Extensions Without Marbles

Presented by: Eric Smith
Time: Tuesday 1:00 PM - 5:00 PM

ReactiveX is an exciting technology that's rapidly becoming pervasive, with implementations in Java, Swift, JavaScript and more. It has use cases from asynchronous calls to UI development, but unfortunately most tutorials and explanations are filled with theory and marble diagrams. Trying to get...

Room: OrangeTrack: ArchitectureFormat: PreCompilerLevel: Intermediate

iOS Application Security Testing

Presented by: Hans Weisheimer
Time: Tuesday 1:00 PM - 5:00 PM

This hands-on session is aimed at mobile app developers, QA testers, aspiring security testers, and other suspicious persons. Modern mobile app development abstracts away most low-level interaction with the operating system. It is common to rely on third-party modules to handle sensitive data or...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Mobile, Security, TestingFormat: PreCompilerLevel: Intermediate

Tech Debt Be Gone! Time to Refactor JavaScript

Presented by: Joe Morgan, Laurie Barth
Time: Tuesday 1:00 PM - 5:00 PM

It’s been a battle, but the code is finally working. It’s time to clean it up, but not so fast, something else is on fire and the code has to be pushed as it is. Whenever there is time to refactor something else comes up. Of course, this doesn’t just happen once. A quick change here. A little...

Room: Sagewood / ZebrawoodTrack: Software QualityTags: JavascriptFormat: PreCompilerLevel: Intermediate

Codemash VoiceHack 2020

Presented by: Jeff Blankenburg
Time: Tuesday 1:00 PM - 5:00 PM

This is a pre-compiler for learning how to build voice applications using Alexa. We will cover things like intents, sample utterances, handlers, and voice design principles. You'll learn how to use AWS Lambda functions, talk to APIs, and even how to make some money. But this is also a kickoff to...

Room: Salon ATrack: HardwareFormat: PreCompilerLevel: Intermediate

Hadoop Essentials

Presented by: Eric Richardson
Time: Tuesday 1:00 PM - 5:00 PM

Big Data and Cloud platforms have their origins in Hadoop. Learn the fundamentals of HDFS, Map Reduce and Yarn the three core components of Apache Hadoop. You will start a sandbox cluster, interact with HDFS, learn how HDFS saves data and why it does it that way. MapReduce is an important...

Room: Salon HTrack: DataTags: Big DataFormat: PreCompilerLevel: Intermediate

Kubernetes hands-on (Workshop)

Presented by: Rob Richardson
Time: Tuesday 1:00 PM - 5:00 PM

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: Salon DTrack: DevOpsTags: CloudFormat: PreCompilerLevel: Introductory and overview

Building a Full CRUD Application in Excel with VBA and SQL Integration

Presented by: Derek Mulhausen
Time: Tuesday 1:00 PM - 5:00 PM

In this talk, we will build a full application from scratch in Excel to store customer discounts in Excel. We will start with recording a macro to quickly prototype some of our actions and then dig into the underlying code to polish the formatting and produce a product that can be put into...

Room: Salon ETrack: UI/DesignTags: Design (UI/UX/CSS), Functional ProgrammingFormat: PreCompilerLevel: Intermediate

Badge My IoT Life, Part 2

Presented by: Paul Pagel
Time: Tuesday 1:00 PM - 5:00 PM

What can play games on the go, show your best face to the world, establish your geek creds way better than any iPhone, and potentially do some useful work too? Why, the "official" CodeMash 2020 IoT Badge of course! This session will use the badge created in Part 1 and take a closer look at...

Room: MangroveTrack: HardwareTags: HardwareFormat: PreCompilerLevel: Introductory and overview

From idea to physical series: A basic overview of the world of CAD and 3D printing

Time: Tuesday 1:00 PM - 2:00 PM

This session will 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 libraries and different CAD...

Room: Guava / Tamarind
2:00 PM

From idea to physical: A demo of how to make CAD models in Rhino3d

Time: Tuesday 2:00 PM - 4:00 PM

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 the UI and how Rhino uses basic curves and shapes to create more...

Room: Guava / Tamarind

Maker Space Projects

Time: Tuesday 2:00 PM - 5:00 PM

Room: Empress
4:00 PM

From idea to physical series: Additional Castle project walk-through Rhino project

Time: Tuesday 4:00 PM - 5:00 PM

Can’t get enough model building? Want to make something more advanced than your basic cups/keychains/challenge coins? We’ve noticed we have some repeat students each year on our kids track that just love to build models, and we’ve also run several years of our introductory track for adults. We...

Room: Guava / Tamarind
6:00 PM

Dinner

Time: Tuesday 6:00 PM - 7:30 PM

Room: Suite 1 / Suite 6
7:00 PM

Maker Space Chit Chat

Time: Tuesday 7:00 PM - 9:00 PM

Room: Empress

Lazer tag (ages 16 and up)

Time: Tuesday 7:00 PM - 8:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Tuesday 7:00 PM - 8:00 PM

Room: Salon C Meetup
8:00 PM

Lazer tag (ages 16 and up)

Time: Tuesday 8:00 PM - 9:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Tuesday 8:00 PM - 9:00 PM

Room: Salon C Meetup
9:00 PM

Lazer tag (ages 16 and up)

Time: Tuesday 9:00 PM - 10:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Tuesday 9:00 PM - 10:00 PM

Room: Salon C Meetup

Wednesday

6:30 AM

CodeMash Shuttle

Time: Wednesday 6:30 AM - 12:00 AM

Room: Shuttle
7:00 AM

Breakfast

Time: Wednesday 7:00 AM - 8:00 AM

Room: Suite 1 / Suite 6

Coat Check

Time: Wednesday 7:00 AM - 9:00 PM

Room: Coat Check
8:00 AM

Building an educational game with .NET Core and Unity3D (Workshop)

Presented by: Johnny Hooyberghs
Time: Wednesday 8:00 AM - 12:00 PM

If you are waiting for a deep dive into .NET Core, the Microsoft Compiler Platform and Unity3D this workshop is for you! No high-level tech demos, but a real-life application that is used in schools. Building an educational game, with robots fighting to the death, from scratch, will be a blast. This...

Room: ZambeziTrack: ArchitectureTags: .NET, Design (UI/UX/CSS)Format: PreCompilerLevel: Intermediate

The Demystifying Docker and Kubernetes DOJO

Presented by: Barry Tarlton, Michael Frayer
Time: Wednesday 8:00 AM - 12:00 PM

Want to be able to able to go from code to containers and then to a fully resilient, cluster managed environment like Kubernetes? Then this session is for you! This session will start with your code (or ours if you don't want to bring your own) and take you through the steps of packaging it as a...

Room: Indigo BayTrack: Programming PrinciplesTags: CloudFormat: PreCompilerLevel: Intermediate

Decision Making in the Face of Uncertainty

Presented by: Gary Short
Time: Wednesday 8:00 AM - 12:00 PM

Decision making in the face of uncertainty is one of the hardest things to do. In this pre-compiler session, we'll borrow methods from machine learning, statistics, trading and computer science to compose a methodology which will allow you to make the best decision possible given the evidence you...

Room: CypressTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: PreCompilerLevel: Intermediate

Building Declarative UI with SwiftUI

Presented by: Jeff Kelley
Time: Wednesday 8:00 AM - 12:00 PM

At WWDC 2019, Apple shocked its developer community with the announcement of SwiftUI—a brand-new, declarative UI framework for all of their platforms. In this workshop, we’ll build a brand new app from scratch with SwiftUI that can run on all of Apple’s platforms: iOS, macOS, watchOS, and...

Room: NileTrack: MobileTags: Mobile, OtherFormat: PreCompilerLevel: Introductory and overview

Get Progressive with it

Presented by: Matthew LaForest
Time: Wednesday 8:00 AM - 12:00 PM

Responsive web design! Mobile first! Hybrid apps! We are continuously bombarded with new ideas about the best way to develop a new application. For a small team, effectively delivering across many platforms can be a problem, but delivering a hybrid app frequently falls into an uncanny valley...

Room: OrangeTrack: Web/Front-EndTags: Design (UI/UX/CSS), Javascript, Mobile, OtherFormat: PreCompilerLevel: Intermediate

Application Security, Basic, Intermediate, Advanced

Presented by: Bill Sempf
Time: Wednesday 8:00 AM - 12:00 PM

Bill will be joining us to teach a dynamic course to help us think like an attacker and give us all the coding tips we need to stop them cold in their tracks. Even the most experienced developers are sure to pick up some new tips and tricks. This hands-on half-day workshop will have something for...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Security, TestingFormat: PreCompilerLevel: Intermediate

Building Quality JavaScript With Test-Driven Development

Presented by: Steven Hicks
Time: Wednesday 8:00 AM - 12:00 PM

Learning Test-Driven Development (TDD) is frustrating. The first couple tests feel strange - you wonder why you're writing tests that fail on purpose. Before long, you find yourself behind schedule from spending so much time on tests. You abandon unit testing completely. You'll write them...

Room: Sagewood / ZebrawoodTrack: Software QualityTags: Javascript, TestingFormat: PreCompilerLevel: Introductory and overview

From Particle to Alexa

Presented by: Brandon Satrom, Jeff Blankenburg
Time: Wednesday 8:00 AM - 12:00 PM

In this 4-hour workshop, you will get to work with the two teams behind Particle IoT hardware and Amazon Alexa to build and code your own IoT device, which you can then command with your own Alexa skill. Come learn about how to command IoT devices, add and measure sensors, and use Particle’s rich...

Room: Salon ATrack: HardwareFormat: PreCompilerLevel: Introductory and overview

Kafka: Build, Deploy, and Monitor Your First Real-World Application

Presented by: Justin Pihony
Time: Wednesday 8:00 AM - 12:00 PM

Companies nowadays are finding it critical to be able to gather and analyze massive amounts of disparately-sourced data, quickly and reliably. By diving into the fundamentals of Apache Kafka, you will learn how it can be more than a superior, distributed messaging system, but also a platform to...

Room: Salon HTrack: DataTags: Big Data, Functional ProgrammingFormat: PreCompilerLevel: Intermediate

Workshop: JVM Application Monitoring with Micrometer, Prometheus, and Grafana

Presented by: Andrew Fitzgerald, Nathan Zender
Time: Wednesday 8:00 AM - 12:00 PM

Tired of waiting for reports from users to let you know your application is having performance issues? If you’re looking for a way to increase visibility into your application beyond plain text logs, this is the pre-compiler for you! In this half-day, hands-on workshop you will receive an in...

Room: Salon DTrack: DevOpsTags: Cloud, JavaFormat: PreCompilerLevel: Advanced

Making Reality Virtual: Simulating Experiences with VR Prototyping

Presented by: Scott Showalter
Time: Wednesday 8:00 AM - 12:00 PM

Take the Red Pill, and let's dive into the mind-bending Matrix that is Virtual Reality prototyping. Not just for gaming (though that's cool too), a new dimension of experience simulation is now open to designers of software as well as physical products, to observe customer interaction and gather...

Room: Salon ETrack: UI/DesignFormat: PreCompilerLevel: Intermediate
9:00 AM

Maker Space Projects

Time: Wednesday 9:00 AM - 5:00 PM

Room: Empress
12:00 PM

Lunch

Time: Wednesday 12:00 PM - 1:00 PM

Room: Suite 1 / Suite 6
1:00 PM

Practical Microservices: Get Hands-on with Event Sourcing and CQRS

Presented by: Ethan Garofolo
Time: Wednesday 1:00 PM - 5:00 PM

Have you attempted a microservices architecture and struggled? Have you read about event sourcing and CQRS, but are disappointed to only find high-level descriptions? Want to get hands-on and actually learn these concepts in the context of a functioning system? This workshop does just that. This...

Room: ZambeziTrack: ArchitectureFormat: PreCompilerLevel: Advanced

Java 9, 10 & 11 Workshop

Presented by: Christopher Judd
Time: Wednesday 1:00 PM - 5:00 PM

With the quick moving 6-month Java train releases, you like many Java developers and organizations may have remained on Java 8 waiting for the next Long-Term-Support (LTS) release. Well, Java 11 is here so it is time to begin the adoption and upgrading. Java 9 was a HUGE release with many impactful...

Room: Indigo BayTrack: Programming PrinciplesTags: JavaFormat: PreCompilerLevel: Intermediate

Coaching Katas - In Search of The Answer to the Agile Kobayashi Maru

Presented by: Faye Thompson, Charles Husemann
Time: Wednesday 1:00 PM - 5:00 PM

These virtues are formed in man by his doing the actions. -- Aristotle A code kata is an exercise in which developers hone their programming skills through practice and repetition. This workshop is intended to do the same thing for agilists by providing them with difficult real-world scenarios to...

Room: CypressTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: PreCompilerLevel: Intermediate

Server Side Swift Saves CodeMash: Breaking free of the phone

Presented by: Anne Cahalan
Time: Wednesday 1:00 PM - 5:00 PM

CodeMash is a whirlwind of great workshops, talks, and experiences. If only you could capture these insights and save them forever... Swift can help -- but we're NOT going to build an iOS app! Server Side Swift has gone from a fun idea to a robust, mature platform for moving data from the backend...

Room: NileTrack: MobileTags: Mobile, OtherFormat: PreCompilerLevel: Intermediate

Creating a Cohesive Collection of Components with React

Presented by: Russell Skaggs
Time: Wednesday 1:00 PM - 5:00 PM

Component libraries enable teams to do more work quicker. It frees up our designers and developers to work on big issues, while allowing them to make updates with surgical precision. Building components within React has never been easier. During this presentation we will: create a set of React...

Room: OrangeTrack: Web/Front-EndTags: Design (UI/UX/CSS), JavascriptFormat: PreCompilerLevel: Advanced

Building a DevSecOps Pipeline

Presented by: Gene Gotimer
Time: Wednesday 1:00 PM - 5:00 PM

The release date is a week away. Development is complete. The code works, and everything looks good. Marketing is ready with the media blitz. Our customers are waiting to get their hands on the new features and are sure to give us good feedback. The only step left is to get the security group to...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Other, SecurityFormat: PreCompilerLevel: Intermediate

Ensure Your Users Experience - A Trip Around User Validation Tools

Presented by: Rick Clymer, Aaron Glass
Time: Wednesday 1:00 PM - 5:00 PM

In today’s fast feedback world, getting our product in front of users often is incredibly important. But how do we know our product is ready to go in front of our users. Sure, we have 1,000’s of unit and integration tests on each of our microservices, but what happens when we put them all...

Room: Sagewood / ZebrawoodTrack: Software QualityTags: Javascript, Python, TestingFormat: PreCompilerLevel: Intermediate

Hands-on Infrastructure as Code

Presented by: Andrew May
Time: Wednesday 1:00 PM - 5:00 PM

Learn the benefits of Infrastructure as Code (IaC) in this workshop where you'll provision resources in AWS using both CloudFormation and Terraform. Learn the joy of creating Infrastructure in a repeatable manner with a single command line replacing a hundred clicks in the web console.

Room: Salon ATrack: DevOpsTags: Cloud, OtherFormat: PreCompilerLevel: Intermediate

Help Cure the #1 Leading Cause of Death in America

Presented by: Luther Hill
Time: Wednesday 1:00 PM - 5:00 PM

The number one leading cause of death in America is Cardiovascular Disease. Doctors often spend years researching cures for this disease without any results. In this highly interactive 4-hour tutorial attendees will build an image recognition model and then use it to build and deploy a web app to...

Room: Salon HTrack: DataTags: Cloud, Big Data, Javascript, PythonFormat: PreCompilerLevel: Advanced

Micro Frontends: Breaking up the Frontend Monolith

Presented by: Kito Mann
Time: Wednesday 1:00 PM - 5:00 PM

Over the past several years we have embraced microservices as a way to “break up the monolith” and reduce complexity, allowing teams to focus on specific areas of functionality, while providing more flexible scaling and better fault isolation. However, for most of us, the front-end has remained...

Room: Salon DTrack: Web/Front-EndTags: Java, JavascriptFormat: PreCompilerLevel: Intermediate

What to expect when you’re concepting - Product Learning Lab

Presented by: Saad Kamal
Time: Wednesday 1:00 PM - 5:00 PM

You have a great idea for a digital product and have committed to making your vision a reality. What now? Product Learning Lab will walk you through the basics of how to communicate that great idea to the rest of the world - and more importantly - the rest of your eventual product team. Learn to...

Room: Salon ETrack: UI/DesignTags: Design (UI/UX/CSS), Soft Skills/BusinessFormat: PreCompilerLevel: Advanced

Analysis and Defense of Automotive Networks

Presented by: Samuel Hollifield
Time: Wednesday 1:00 PM - 5:00 PM

Note: This precompiler will require an additional ticket purchase in order to retain the Arduino hardware featured in the presentation. Modern vehicles are critically vulnerable. They rely on many electronic computers and sensors which communicate by broadcasting critical information over many...

Room: MangroveTrack: HardwareTags: Hardware, Python, SecurityFormat: PreCompilerLevel: Introductory and overview

From idea to physical series: A basic overview of the world of CAD and 3D printing

Time: Wednesday 1:00 PM - 2:00 PM

This session will 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 libraries and different CAD...

Room: Guava / Tamarind
2:00 PM

From idea to physical: A demo of how to make CAD models in Rhino3d

Time: Wednesday 2:00 PM - 4:00 PM

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 the UI and how Rhino uses basic curves and shapes to create more...

Room: Guava / Tamarind
4:00 PM

From idea to physical series: Additional Castle project walk-through Rhino project

Time: Wednesday 4:00 PM - 5:00 PM

Can’t get enough model building? Want to make something more advanced than your basic cups/keychains/challenge coins? We’ve noticed we have some repeat students each year on our kids track that just love to build models, and we’ve also run several years of our introductory track for adults. We...

Room: Guava / Tamarind
5:00 PM

“How would you print that?” interactive panel

Time: Wednesday 5:00 PM - 6:00 PM

We have a wealth of different perspectives reflected with our 3D printing room staff- including tinkering hobbyists, hardcore makers, and even that of using multiple printer types repeatably in a small business setting. We thought it would be fun to share these various perspectives on how we...

Room: Guava / Tamarind
7:00 PM

Lightning Talks

Time: Wednesday 7:00 PM - 9:00 PM

These are a series of (usually) really interesting talks, all of which are only 6 minutes each!

Room: Suite 1 / Suite 6

Maker Space Chit Chat

Time: Wednesday 7:00 PM - 9:00 PM

Room: Empress

Lazer tag (ages 16 and up)

Time: Wednesday 7:00 PM - 8:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Wednesday 7:00 PM - 8:00 PM

Room: Salon C Meetup
8:00 PM

Welcome Reception

Time: Wednesday 8:00 PM - 10:30 PM

The Welcome Reception is in and around Marrakesh (the bar/restaurant area in the Convention Center). It will sprawl into the hallway as well

Room: Grand Hall

Lazer tag (ages 16 and up)

Time: Wednesday 8:00 PM - 9:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Wednesday 8:00 PM - 9:00 PM

Room: Salon C Meetup
9:00 PM

Lazer tag (ages 16 and up)

Time: Wednesday 9:00 PM - 10:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Wednesday 9:00 PM - 10:00 PM

Room: Salon C Meetup

Thursday

6:30 AM

CodeMash Shuttle

Time: Thursday 6:30 AM - 2:00 AM

Room: Shuttle
7:00 AM

Breakfast

Time: Thursday 7:00 AM - 8:00 AM

Room: Suite 1 / Suite 6

Coat Check

Time: Thursday 7:00 AM - 9:00 PM

Room: Coat Check
8:00 AM

Technical debt must die - Communicating code to business stakeholders

Presented by: Matt Eland
Time: Thursday 8:00 AM - 9:00 AM

Our software sucks. We're up to our necks in bugs and technical debt, yet we often seem to hit roadblocks explaining things in ways that bring about meaningful change. In this session you'll learn to gather, analyze, and interpret data in order to create effective presentations to communicate...

Room: ZambeziTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Python, the world beyond scripting

Presented by: Charles Yost
Time: Thursday 8:00 AM - 9:00 AM

Python is a wonderful language for writing simple scripts. But have you ever wondered how to go to the next level? What does it take to create a library, a desktop application, or a web application in Python? How does documentation, testing, packaging, and deployment work? What are all these crazy...

Room: Indigo BayTrack: Programming PrinciplesTags: PythonFormat: General SessionLevel: Introductory and overview

Building Mobile Applications with the Ionic Framework

Presented by: Robert Lair
Time: Thursday 8:00 AM - 9:00 AM

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: CypressTrack: MobileTags: Javascript, MobileFormat: General SessionLevel: Introductory and overview

Open Source XAML Takes You Places!

Presented by: Sam Basu
Time: Thursday 8:00 AM - 9:00 AM

XAML started life as a simple thin UI markup layer, but has had a surprisingly eventful history over years – from phenomenal rise to teetering on life support. Today, XAML powers a lot of app platforms and seems poised for success going forward. And almost all of XAML application stacks are now...

Room: NileTrack: MobileFormat: General SessionLevel: Intermediate

End to End Testing with Cypress

Presented by: Avindra Fernando
Time: Thursday 8:00 AM - 9:00 AM

Lots of companies are investing in end to end testing to release high quality software and remain competitive in today’s market. But, end to end testing also come with a set of challenges that we have to overcome. Setting up, writing, running, and debugging these tests could be challenging and...

Room: OrangeTrack: Software QualityTags: JavascriptFormat: General SessionLevel: Introductory and overview

Threat Modeling on the Family Road Trip and Other Strategies for Delivering Secure Applications

Presented by: Angela Pinney
Time: Thursday 8:00 AM - 9:00 AM

Gene Spafford said: “The only truly secure system is one that is powered off...” Everyone wants secure applications, but creating them is hard, and we don't all have security certifications. How do you know where to start when "security" is not your full-time job? And how do you get the rest of...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Security, Soft Skills/Business, TestingFormat: General SessionLevel: Introductory and overview

The UX of Configuration Files

Presented by: Eemeli Aro
Time: Thursday 8:00 AM - 9:00 AM

Developers are people too, and should be your primary concern when designing an interface for them to configure your tools and libraries. In other words, there are better options than JSON available, but they each come with associated costs and limitations. How well do JSON5, YAML and TOML play with...

Room: Sagewood / ZebrawoodTrack: UI/DesignTags: Design (UI/UX/CSS), JavascriptFormat: General SessionLevel: Intermediate

What Architecture (The Building Kind) Can Teach Us About Architecture (The Software Kind)

Presented by: Wes Delp
Time: Thursday 8:00 AM - 9:00 AM

Architecture has existed for the better part of human history. Over 2000 years ago, the Roman architect Vitruvius claimed that a good building must be durable, functional, and bring delight. Sounds familiar, right? This session will explore how architectural design concepts such as 'less is more',...

Room: Salon ATrack: ArchitectureTags: OtherFormat: General SessionLevel: Introductory and overview

How I overcame my fear of JavaScript

Presented by: Kim DelSenno
Time: Thursday 8:00 AM - 9:00 AM

As a front- end developer, my current job has me using HTML, CSS, and a little bit of JavaScript. In this talk, I am going to walk you through exactly how I got over a major career slump and overcame my fear of going deeper into the world of JavaScript. I will walk you through how I learned to use...

Room: Salon HTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Introductory and overview

Making Faces: Image Reduction and Recognition

Presented by: Steve Crow
Time: Thursday 8:00 AM - 9:00 AM

A 350px by 300px image contains 105,000 individual pixels. Comparing each pixel to tell whether or not two images are the same is not efficient. What if we could reduce the number of features, while still maintaining patterns and trends? What if we could perform this recognition by only comparing 25...

Room: Salon DTrack: DataTags: Big Data, Other, PythonFormat: General SessionLevel: Introductory and overview

TDD Designer Style: Styleguide Driven Development

Presented by: Matthew LaForest
Time: Thursday 8:00 AM - 9:00 AM

Developers have adopted a number of techniques to help speed development of their products. Leveraging tests to help them design the interfaces to their underlying pieces (classes, functions, components, etc.). For a long time the interface between designers and developers has been a continual rough...

Room: Salon ETrack: Web/Front-EndTags: Design (UI/UX/CSS), Javascript, Other, TestingFormat: General SessionLevel: Introductory and overview

Quantity vs. Quality: Is less (code) really more?

Presented by: Anne Cahalan
Time: Thursday 8:00 AM - 9:00 AM

We all strive to write clean, concise, reusable code. Everyone's had a moment of looking at a 500-line file or a 50-line method and thinking, "This is just too much code!" There can be real joy in breaking a giant mess into small, tidy bits. But when does the quest for brevity lead us into a swamp...

Room: MangroveTrack: Programming PrinciplesFormat: General SessionLevel: Intermediate

Full Total World Global Domination: Creating a Geographically Redundant Website.

Presented by: Ryan Miller
Time: Thursday 8:00 AM - 9:00 AM

Who doesn't want to dominate the world with a geo-redundant website that is actively served from multiple regions simultaneously and can seamlessly fail over when problems occur? Haven't we been hearing about this for years? The cloud is everywhere now. It's just button clicks, 5 minutes, easy...

Room: Portia/WisteriaTrack: ArchitectureTags: .NET, CloudFormat: General SessionLevel: Introductory and overview
9:00 AM

Maker Space Projects

Time: Thursday 9:00 AM - 5:00 PM

Room: Empress

KM: Alexa Scavenger Hunt

Time: Thursday 9:00 AM - 12:00 AM

Ready for a digital adventure? There is an Alexa Scavenger Hunt throughout the Kalahari that you can play using your phone or tablet, and your voice! The hunt starts at the giant bronze gorilla (at the entrance to the convention center). You can do it entirely at your own pace or schedule, and there...

Room: Giant Bronze Gorilla
9:15 AM

A .NET Data Access Layer You're Proud of (Without Entity Framework)

Presented by: Jonathan "J." Tower
Time: Thursday 9:15 AM - 10:15 AM

If you're a .NET developer, it almost goes without saying that you use Entity Framework as part of the data access code on your software projects. Sometimes, EF is just right for the job, but other times you want something more simple, with better control of the generated SQL queries, and more...

Room: ZambeziTrack: DataTags: .NETFormat: General SessionLevel: Intermediate

Kotlin for C# Developers

Presented by: Alex Dunn
Time: Thursday 9:15 AM - 10:15 AM

Dive into the latest craze in languages and platforms - Kotlin. This time we will be looking at it from the perspective of a .NET C# developer, draw comparisons between the languages, and bridge the gap between these 2 amazing languages. We'll look at: - Kotlin as a language - Platforms Kotlin is...

Room: Indigo BayTrack: MobileTags: .NET, Java, Mobile, OtherFormat: General SessionLevel: Introductory and overview

Intro to Machine Learning on the cheap and without a PhD in math: Overview

Presented by: Jim Wilson
Time: Thursday 9:15 AM - 10:15 AM

Machine learning has traditionally required a command of advanced mathematics, years of university training, and expensive hardware to implement. Now with better open source tools and online resources it’s easier than ever to create your own robust neural networks. Be it image recognition,...

Room: CypressTrack: Programming PrinciplesTags: Cloud, Big Data, Other, PythonFormat: General SessionLevel: Introductory and overview

Document Yourself: A framework for career advancement

Presented by: Michelle Brenner
Time: Thursday 9:15 AM - 10:15 AM

The goal of this workshop is to document yourself the way you would document code. You wouldn’t expect someone who wants to use the program you built to read every line of code. Instead, they’re relying on the design documents and doc strings to know how it works. The same is true with your...

Room: NileTrack: Project Leadership/Soft SkillsFormat: General SessionLevel: Introductory and overview

Angular and The Case for RxJS

Presented by: Sandi Barr
Time: Thursday 9:15 AM - 10:15 AM

When choosing Angular to build a front end app, it can seem like RxJS is just one more thing to learn, and there’s no easy transition coming from another framework. But RxJS is efficient and expressive! We declare relationships between entities, describing the what not the how. The basic sequence...

Room: OrangeTrack: Web/Front-EndTags: Functional Programming, JavascriptFormat: General SessionLevel: Intermediate

Capture That Flag : How CTF Competitions Make You a Better Developer

Presented by: John Koerner
Time: Thursday 9:15 AM - 10:15 AM

Have you ever been asked to "think like a hacker?" Do your eyes glaze over when you have to sit through a security audit of your application? Do you want to avoid having an incident like Target, Capital One, or Equifax? If any of these apply to you, consider participating in a Capture the Flag (CTF)...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: SecurityFormat: General SessionLevel: Introductory and overview

Going crazy with CQRS

Presented by: Seth Kraut
Time: Thursday 9:15 AM - 10:15 AM

CQRS stands for Command Query Responsibility Segregation, which doesn’t clarify that much. CQRS is a high performance, event oriented flavor of Domain Driven Design. CQRS challenges our normal conception of design. By separating read and write logic, this architecture unlocks unique possibilities....

Room: Sagewood / ZebrawoodTrack: ArchitectureTags: .NET, JavaFormat: General SessionLevel: Intermediate

Super Sleuth Testers: Unlocking the Power of Browser Developer Tools

Presented by: Hilary Weaver-Robb
Time: Thursday 9:15 AM - 10:15 AM

There’s a tool to aid our testing that we all have access to all the time. It’s hidden in plain sight, you just have to know the secret code to get to it. This secret tool? The browser’s developer tools, of course! Learn how the developer tools in your browser can give you insight into what...

Room: Salon ATrack: Software QualityTags: TestingFormat: General SessionLevel: Introductory and overview

Usability Starts With Accessibility

Presented by: Patrick McSweeny
Time: Thursday 9:15 AM - 10:15 AM

For many web developers, accessibility is an afterthought, if they even think about it at all. What they fail to realize is that planning for accessibility from the beginning can actually enhance the design process rather than hindering it, with the end result being more usable by everyone. This...

Room: Salon HTrack: UI/DesignTags: Design (UI/UX/CSS)Format: General SessionLevel: Intermediate

Project Zero or Removing barriers for creating OSS libraries

Presented by: Jimmy Byrd
Time: Thursday 9:15 AM - 10:15 AM

You have a brilliant idea for an open source library. You start this new repository thinking of how bright the future is with your code being use by others. Then reality then sets in. You realize to make all this possible you have to do a lot of non-feature work. You need a project structure, a test...

Room: Salon DTrack: Software QualityTags: .NET, Functional Programming, OtherFormat: General SessionLevel: Introductory and overview

Beware of dark clouds on the horizon

Presented by: Andrew May
Time: Thursday 9:15 AM - 10:15 AM

There are many benefits to be gained in moving your infrastructure to the cloud, but many more ways in which it can go horribly wrong. Will yours be the next company to expose confidential information in a public S3 bucket? Will your cloud account become unmanageable and expensive because all the...

Room: Salon ETrack: DevOpsTags: CloudFormat: General SessionLevel: Intermediate

Going Loonie: Rebuilding the tape deck experience with Elixir, Nerves and RFID

Presented by: Ole Michaelis
Time: Thursday 9:15 AM - 10:15 AM

My wife and I built an Open Source, RFID based, WIFI enabled cassette-style recorder, powered by Elixir and the Nerves Framework. We call it the Looniebox, and it’s a wonderful way to share the old “fumble with scissors in the cassette to fix it” experience with our kids. In this talk,...

Room: MangroveTrack: HardwareFormat: General SessionLevel: Introductory and overview

Taking a byte of Java Bytecode

Presented by: Magnus Stahre
Time: Thursday 9:15 AM - 10:15 AM

Java, Scala, Groovy, Kotlin, JRuby, Jython, Clojure. What do all these languages have in common? They are all powered by Java Bytecode. With the current ecosystem of languages running on the JVM, it is becoming important to learn more about the least common denominator. This talk gives an...

Room: Portia/WisteriaTrack: Programming PrinciplesTags: JavaFormat: General SessionLevel: Introductory and overview

Support Emoji ๐Ÿ’‍โ™€๏ธ and Go Worldwide ๐ŸŒ with Unicode

Presented by: Joe Sewell
Time: Thursday 9:15 AM - 10:15 AM

As the world becomes more and more connected, the way people communicate becomes more and more important. A prominent example is emoji: those little icons that are popular in text messages ๐Ÿ“ฑ and on social media ๐Ÿค. Proposals for new emoji will often make the news. But did you know that emoji...

Room: RosewoodTrack: DataTags: Big DataFormat: General SessionLevel: Introductory and overview
10:00 AM

KM: Sponsor Scavenger Hunt

Time: Thursday 10:00 AM - 2:00 PM

Pick up a Scavenger Hunt Sheet In Hangoutz / Crown Palm and walk through the sponsor booths to find the answers. Remember this is not a race! Once completed return to check your answers. All of the answers are names of Sponsors. All of the Answer Sponsors who participated volunteered to be a part of...

Room: Hangoutz
10:30 AM

API Design - The Right Way

Presented by: Jit Krishnamurthy
Time: Thursday 10:30 AM - 11:30 AM

APIs are at the core of how applications interact with each other. The first step in developing an API is to design it and ever since Eric Evans introduced Domain Driven Design (DDD) in his book ‘Domain Driven Design: Tackling Complexity in the Heart of Software’, it has been the go-to tool for...

Room: ZambeziTrack: Programming PrinciplesTags: Cloud, OtherFormat: General SessionLevel: Introductory and overview

Cosmic Full-Stack a Blazor, ML.NET, and CosmosDB Mashup

Presented by: Ed Charbeneau
Time: Thursday 10:30 AM - 11:30 AM

Are you ready to count down to liftoff? In this session, we test the limits of the .NET stack in an incredible mission to build BlazePort, a futuristic ride share app for space travel. We'll use a mashup of the latest in .NET technologies: leveraging CosmosDB for data persistence, model travel...

Room: Indigo BayTrack: ArchitectureTags: .NETFormat: General SessionLevel: Introductory and overview

Vue 3.0 Smaller, Faster & Stronger

Presented by: Dan Vega
Time: Thursday 10:30 AM - 11:30 AM

Vue.JS has quickly become one of the most popular JavaScript frameworks around. The Vue Core Team is getting ready to release the third major version of the framework and it's packed with new features and performance updates. In this presentation, I will show off some of those new features such...

Room: CypressTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Intermediate

Building a Custom CSS Framework Was Easier Than I Thought

Presented by: Nate Taylor
Time: Thursday 10:30 AM - 11:30 AM

If you're like me, you've used several different front end frameworks such as Bootstrap, SemanticUI and others. You've enjoyed that they give you consistent components and layout. But perhaps you've been frustrated by those same tools. It could be that every site you have created with them looks...

Room: NileTrack: UI/DesignTags: Design (UI/UX/CSS), JavascriptFormat: General SessionLevel: Introductory and overview

Antifragile Teams

Presented by: Charlie Sweet
Time: Thursday 10:30 AM - 11:30 AM

Software development is an activity that’s fraught with complexity, ambiguity, and therefore risk. Many organizations attempt to mitigate that risk through stringent processes, but there is a better way. In nature, there are three types of systems. 1. Fragile systems that break under stress,...

Room: OrangeTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Practical Cryptography for Developers

Presented by: Anthony Eden
Time: Thursday 10:30 AM - 11:30 AM

Understanding the building blocks for cryptography is important for every software developer, especially as the quantity and value of data stored and sent over networks continues to grow. In this talk I will introduce you to the fundamentals of cryptography, demonstrating concepts such as symmetric...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: SecurityFormat: General SessionLevel: Introductory and overview

[CANCELLED] Adding Search Capabilities to your Applications with Elastic Search

Presented by: Rod Paddock
Time: Thursday 10:30 AM - 11:30 AM

This session has been cancelled. We apologize for any trouble this causes.

Room: Sagewood / ZebrawoodTrack: DataTags: .NET, Cloud, Big DataFormat: General SessionLevel: Intermediate

Intro to Hacking with the Raspberry Pi

Presented by: Sarah Withee
Time: Thursday 10:30 AM - 11:30 AM

You've heard lots of hype about the Raspberry Pi, the credit-card sized computer available for under $40. This (updated) talk will introduce some of the Pi's features, explore some sample projects you can create, and show you how to write code to control hardware through it's IO pins. After this...

Room: Salon ATrack: HardwareTags: Hardware, PythonFormat: General SessionLevel: Introductory and overview

+5, Insightful: Azure Application Insights to improve your code

Presented by: Tim Jarzombek
Time: Thursday 10:30 AM - 11:30 AM

You've worked hard on your app and are excited to finally release it. However, you start seeing reports of slowness, and it seems to crash once every 7 hours. Learn how to use Azure Application Insights to identify application issues like slow performance and crashes down to the line of code running...

Room: Salon HTrack: Software QualityTags: .NET, CloudFormat: General SessionLevel: Introductory and overview

What can Structured Logging do for you?

Presented by: Charles Yost
Time: Thursday 10:30 AM - 11:30 AM

Structured logging is a way to bring order and value to your logging. Gone are the days where print debugging was the only option. Now as logs become more complex, developers struggle to pack more information into a single line. The modern solution has emerged: Structured Logging. But this is not...

Room: Salon DTrack: DevOpsTags: OtherFormat: General SessionLevel: Introductory and overview

The Integration Game: How to Pick a Winning Integration Pattern

Presented by: Branden Bellanca
Time: Thursday 10:30 AM - 11:30 AM

Point-to-Point, Hub-and-Spoke, ESB, Remote Process Invocation, batching... so many terms fly around when talking about enterprise integration. How can we best decide which of these is the "right tool for the job"? How can we develop an integration architecture that supports the business's needs,...

Room: Salon ETrack: ArchitectureTags: CloudFormat: General SessionLevel: Introductory and overview

Make More ๐Ÿ’ฐ Money with Less ๐Ÿ›  Effort: ๐Ÿงช Experimentation Before Implementation

Presented by: Scott Showalter
Time: Thursday 10:30 AM - 11:30 AM

Developing apps is time consuming, with little guarantee of success. The Web, App Store, Google Play and beyond are littered with apps making low or no revenue because they don't solve problems people actually care about. Before you build your “killer” ap, how can you truly know beyond the...

Room: Portia/WisteriaTrack: MobileTags: Design (UI/UX/CSS), Mobile, Other, Soft Skills/Business, TestingFormat: General SessionLevel: Intermediate
11:30 AM

Lunch

Time: Thursday 11:30 AM - 2:30 PM

Room: Suite 1 / Suite 6
11:45 AM

An Introduction to WebAssembly

Presented by: Guy Royse
Time: Thursday 11:45 AM - 12:45 PM

Want to write a web application? Better get familiar with JavaScript JavaScript has long been the king of front-end. While there have been various attempts to dethrone it, they have typically involved treating JavaScript as an assembly-language analog that you transpile your code to. This has lead...

Room: ZambeziTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Introductory and overview

A Mobile App Success Starter Pack

Presented by: Jeff Kelley
Time: Thursday 11:45 AM - 12:45 PM

When you’re pitching a mobile app to a prospective client, it’s easy to focus on the app’s raison d’être. A pizza-ordering app should order pizza, a messaging app should send messages, and a game should be fun. For an app to succeed, there are countless other hidden tasks to consider: does...

Room: Indigo BayTrack: MobileTags: Mobile, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Conducting Humane Code Reviews

Presented by: Adrienne Tacke
Time: Thursday 11:45 AM - 12:45 PM

Code reviews are a must in a proper development workflow, but what happens when performing or receiving one becomes as fun as getting a root canal? Instead of contributing meaningful suggestions, developers often use these reviews as an opportunity to rehash old arguments or show their...

Room: CypressTrack: Project Leadership/Soft SkillsFormat: General SessionLevel: Intermediate

Bringing Order to Chaos

Presented by: Scott Connerly
Time: Thursday 11:45 AM - 12:45 PM

So, you find yourself coding in a code base that has some warts. OK, let's be honest, its a steaming pile of gum and toothpicks you're afraid to touch lest it might fall apart. How do you get from there to ... anywhere, let alone viable, architecturally useful, and stable? In this talk, we'll...

Room: NileTrack: ArchitectureTags: Other, Soft Skills/Business, TestingFormat: General SessionLevel: Intermediate

Hobby Projects Are Awesome!

Presented by: Joel Byler
Time: Thursday 11:45 AM - 12:45 PM

There you are, enjoying a hobby that you love. One that gets you away from your screens and keyboard. Then out of nowhere an idea comes to mind, maybe its spurred by a problem that you encountered or a way that you could improve on a technique, you pull from your experiences and decide to start a...

Room: OrangeTrack: Programming PrinciplesTags: Design (UI/UX/CSS), Other, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Securing Your API Endpoints - A Practical Authentication Guide

Presented by: Seth Petry-Johnson
Time: Thursday 11:45 AM - 12:45 PM

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 the average developer/architect that wants a brief overview of API security without getting into the weeds of cryptography...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: .NET, Javascript, SecurityFormat: General SessionLevel: Intermediate

Let's talk about documentation (but more fun than that sounds)

Presented by: Mike Hand
Time: Thursday 11:45 AM - 12:45 PM

Street signs. Clothing tags. LEGO instructions. Furniture assembly... "instructions." Every field requires documentation, but some are far better at it than others. We'll take a tour through the highlights and lowlights, hits and misses -- and then see what we can apply back to the field of software...

Room: Sagewood / ZebrawoodTrack: Software QualityTags: OtherFormat: General SessionLevel: Introductory and overview

Graphing Your Way Through the Cosmos: Common Data Problems Solved with Graphs

Presented by: Chad Green
Time: Thursday 11:45 AM - 12:45 PM

Data as it appears in the real world is naturally connected, but traditional data modeling focuses on entities which can cause for complicated joins of these naturally connected data. That is where graph databases come in as they store data more like what happens naturally in the real world. Sure,...

Room: Salon ATrack: DataTags: Cloud, OtherFormat: General SessionLevel: Introductory and overview

Automating Your Automation: The Care and Feeding of Jenkins

Presented by: Jeff McKenzie
Time: Thursday 11:45 AM - 12:45 PM

If you're like 70% of continuous integration and delivery users out there, you're using Jenkins, the powerful and popular automation server. But how do you know you're doing it right? Are you getting the most out of the strategies you've chosen? In this session you'll learn how best to manage your...

Room: Salon HTrack: DevOpsTags: OtherFormat: General SessionLevel: Intermediate

Impress Your Boss with Interactive Visualizations

Presented by: Tim Garvin
Time: Thursday 11:45 AM - 12:45 PM

We all have little troves of data lying around, begging to be analyzed. In this session, we’ll talk about how to visualize your data to tell the story you want. Whether you’re trying to decide what support ticket to work on next, convincing your team it’s safe to let you rewrite a module, or...

Room: Salon DTrack: UI/DesignTags: Design (UI/UX/CSS), Javascript, PythonFormat: General SessionLevel: Introductory and overview

Why You Fail to Make Good Predictions and What You Can Do About it.

Presented by: Sho Fola
Time: Thursday 11:45 AM - 12:45 PM

What sets good predictors apart from others? Is good judgment innate or something you can nurture? As a knowledge worker, your ability to make good decisions will set you apart from your peers. Whether you’re planning out a work project or playing fantasy football good predictions are essential...

Room: Salon ETrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Tests Your Pipeline Might Be Missing

Presented by: Gene Gotimer
Time: Thursday 11:45 AM - 12:45 PM

Developing a delivery pipeline means more than just adding automated deploys to the development cycle. It’s about gaining confidence that your builds are viable candidates for release or production. For development to be successful, tests of all types must be incorporated throughout the process to...

Room: MangroveTrack: Software QualityTags: Security, TestingFormat: General SessionLevel: Introductory and overview

Modular Monolith: the Best of Both Worlds

Presented by: Seth Kraut
Time: Thursday 11:45 AM - 12:45 PM

First, everyone wrote monoliths, but monoliths invariably become a big ball of mud. Now, microservices are all the rage, but they come with significant complexity. Modular monoliths combine the simple development and deployment of monoliths with much of the decoupling of microservices. This session...

Room: Portia/WisteriaTrack: Programming PrinciplesTags: .NET, JavaFormat: General SessionLevel: Introductory and overview

Help! My Client Needs a VPAT and other Accessibility Questions

Presented by: Courtney Heitman
Time: Thursday 11:45 AM - 12:45 PM

What is a VPAT? Why do my clients keep asking about them? These questions are becoming more and more common with the rise of accessibility lawsuits. VPATs (Voluntary Product Accessibility Template) are the common ask for companies to make sure they are buying software that is accessible. This talk...

Room: RosewoodTrack: Web/Front-EndTags: Design (UI/UX/CSS), Other, TestingFormat: General SessionLevel: Advanced
1:00 PM

API Gateways and Microservices: 2 peas in a pod

Presented by: Santosh Hari
Time: Thursday 1:00 PM - 2:00 PM

Chances are you’ve already gone through the tedious process of decomposing your monolith into microservices, or at the very least, want to use microservices in the near future. Nowadays, microservices connect to various APIs. These APIs could differ in protocols (REST/SOAP), where they’re hosted...

Room: ZambeziTrack: ArchitectureTags: Cloud, Other, SecurityFormat: General SessionLevel: Introductory and overview

Going Fast: The Art of Delivering Quality Software Quickly

Presented by: Josh Carroll
Time: Thursday 1:00 PM - 2:00 PM

Building software is tricky business and the demands are higher than ever. Agile was meant to free us from the confines of red-tape driven software, but most of us can't help but feel something is off in our software process. Do you wonder why startups can launch an entire product in a few months,...

Room: Indigo BayTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

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

Presented by: Matthew Jones
Time: Thursday 1:00 PM - 2:00 PM

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? In this code-heavy session, we'll take a "older" .NET web app which has no asynchronous code and slowly refactor it...

Room: CypressTrack: Programming PrinciplesTags: .NETFormat: General SessionLevel: Intermediate

HOW TO HACK AN ELECTION

Presented by: Gary Short
Time: Thursday 1:00 PM - 2:00 PM

Think your democracy is safe? Better think again. In this session I'll demonstrate the techniques that the 'black hat data scientists' use to get the result they want from any election or referenda. In this entertaining talk, I'll demonstrate techniques, both at the macro level - how to attack an...

Room: NileTrack: DataTags: Big DataFormat: General SessionLevel: Introductory and overview

Postman Delivers! A Deep Dive into API Testing.

Presented by: Bob Crowley
Time: Thursday 1:00 PM - 2:00 PM

Whether you are a tester or a developer of HTTP API’s, chances are you are already using Postman to some degree. Chances are also that you are missing out on some of the advanced goodness. Using only features of the free version, this session introduces you to effective use of these features to...

Room: OrangeTrack: Software QualityTags: TestingFormat: General SessionLevel: Intermediate

What's in Your Docker? Open Source Security Vulnerabilities in Containers

Presented by: Matt Williams
Time: Thursday 1:00 PM - 2:00 PM

So you stay on top of operating system vulnerabilities and patch regularly, but did you ever consider that there may be vulnerabilities in your containers? In March of 2015, a report that over 30% of the "official" images in the Docker Hub contained high priority security vulnerabilities was issued...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Other, SecurityFormat: General SessionLevel: Introductory and overview

How to Get Started with Swift in 2020

Presented by: Leo Dion
Time: Thursday 1:00 PM - 2:00 PM

Swift is now a half decade old since its introduction at WWDC 2014. With Swift 5 and ABI stability, Swift has matured into a language ready for new adopters. In this talk, Leo gives an introduction to Swift development as well as Swift’s journey from the iPhone to the Watch to servers. Leo also...

Room: Sagewood / ZebrawoodTrack: MobileFormat: General SessionLevel: Introductory and overview

The Agile Designer: Aligning Dual-track UX and Development to Balance the Tactical and Strategic, Mi

Presented by: Jenna Chamra
Time: Thursday 1:00 PM - 2:00 PM

Product teams everywhere are embracing Agile. It’s no wonder why: Agile creates better transparency, alignment and speed to market. The problem is, Agile was originally created for software developers. Design teams which try to adopt Agile often find themselves falling into “Faux-gile” or...

Room: Salon HTrack: UI/DesignTags: Design (UI/UX/CSS)Format: General SessionLevel: Intermediate

Unclogging Your Code: Linting 101

Presented by: Hannah Stannard
Time: Thursday 1:00 PM - 2:00 PM

Consider your code base to be the dryer and the lint to be the stuff you really shouldn't be doing. Without a linter, all that fuzz is going to be trapped in your code! If you don't take care of this lint, your dryer will catch fire, much like your code base (also known as a dumpster fire). Join me...

Room: Salon DTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Introductory and overview

Sell Yourself With a Software Quality Portfolio

Presented by: Aaron Glass
Time: Thursday 1:00 PM - 2:00 PM

Finding new job opportunities can be stressful and intimidating. Talking about yourself might not be in your domain. Questions of uncertainty may arise. How do I make myself more marketable? How do I separate myself from the rest of the pack? How do I keep myself fresh? The goal of this talk is...

Room: Salon ETrack: Software QualityTags: TestingFormat: General SessionLevel: Intermediate

Hacking Radiowaves for fun (but not profit)

Presented by: Craig Hills
Time: Thursday 1:00 PM - 2:00 PM

As a child, did you ever play with walkie talkies? Do you remember how fun it was to talk with friends and family from the other end of the house, or across the neighborhood? Capture that feeling again, except this time learn some science behind it and how to use the same technology to contact...

Room: MangroveTrack: HardwareTags: Hardware, Other, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

By Our Powers Combined: Observability for Developers

Presented by: Aaron Aldrich
Time: Thursday 1:00 PM - 2:00 PM

The world of maintaining applications is shifting. Our Systems Administrators aren't monitoring our application servers, it's the SREs determining SLIs and SLOs for our Micro-Services and making sure our Cloud-Distributed systems are Observable in near-real time. It's enough for buzzword burnout....

Room: Portia/WisteriaTrack: DevOpsTags: Cloud, Other, TestingFormat: General SessionLevel: Intermediate

From idea to physical series: A basic overview of the world of CAD and 3D printing

Time: Thursday 1:00 PM - 2:00 PM

This session will 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 libraries and different CAD...

Room: Guava / Tamarind

Reserved

Time: Thursday 1:00 PM - 2:00 PM

Room: Rosewood

Artemis (ages 12 and up)

Time: Thursday 1:00 PM - 2:00 PM

Room: Salon C Meetup
2:00 PM

From idea to physical: A demo of how to make CAD models in Rhino3d

Time: Thursday 2:00 PM - 4:00 PM

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 the UI and how Rhino uses basic curves and shapes to create more...

Room: Guava / Tamarind
2:15 PM

Own Your Career (an owner’s guide for techies)

Presented by: Nexient (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Dan Broekhuizen) So it’s 2020 and you’re working in the #1 ranked job in the country, software development. Sweet, right? Truth is, having a great job is not the same thing as having a great career. How do you climb into the driver’s seat? Dan Broekhuizen — organizational...

Room: ZambeziTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Throw Away Your Resume

Presented by: Rocket Mortgage by Quicken Loans (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Keith Elder) I threw away my resume 13 years ago, and haven't looked back. Why? I'm all-in on my workplace culture. What would it take for you to plant your roots and be all-in? Research shows, for most technologists, the key is an outstanding workplace environment and a culture that...

Room: Indigo BayTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

How Couchbase added ACID transactions to NoSQL

Presented by: Couchbase (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Justin Simpson) Couchbase has always supported single-document ACID transactions. Why are multi-document transactions important? This is a question to which we already know the answer. The real question is how Couchbase was able to make multi-document transactions both scalable and...

Room: CypressTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Tech Startups | Do's, Don'ts and Things to Consider

Presented by: Bold Penguin (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Ilya Bodner & Frank Lamantia) This duo has influenced the success of 5 tech-enabled startups, participated in 14 venture rounds, and experienced dozens of failed products. They've seen everything. Ideation, investment, launch, growth, selling... everything. Their current venture is...

Room: NileTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Update Strategies for IoT

Presented by: JFrog (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Kat Cosgrove) Devices on the edge are hard to update. The process is often clunky, slow, and inconvenient. So what’s making them harder to deal with than other machines, and how do we design a system that mitigates the problem when we’re dealing with such a wide range of hardware...

Room: OrangeTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Practical Data Modeling with MongoDB

Presented by: MongoDB (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Austin Zellner, Principal Solutions Architect) Developers who are new to NoSQL often wonder, "how do we approach data modeling in a non-relational world". In this talk, we will dive into the fundamental elements of models supported by MongoDB, and how to combine the powerful...

Room: Aloeswood / LeopardwoodTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

TMW Systems Sponsor Session

Presented by: TMW Systems (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

No information submitted yet. Stay tuned!

Room: Sagewood / ZebrawoodTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Elastic Application Performance Monitoring, Observing the Mystical Unicorn

Presented by: Elastic (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by George Kobar) No matter what you call it, Observability or Monitoring, there is a fair share of buzzwords around this topic. The role for monitoring these applications on container or micro-services infrastructure both on-premises and in cloud is equally not clear and buzzword bloated....

Room: Salon ATrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

So, You Think Consulting Might Be For You?

Presented by: Leading EDJE (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Larry Rickard, Chad Young, TBA) Being an IT consultant either independently or with a reputable firm can be very rewarding. It offers exposure to diverse and often leading-edge technology, the opportunity to work with a wide variety of clients, really smart people and a career path...

Room: Salon HTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

UX Journey from a Developer

Presented by: Progress Software (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Sam Basu) Many of us have strived to bridge the designer-developer mindset gap – this is easier said than done. Turns out, shiny UI does not always mean good UX. We need to have user personas in mind, as well as a few core UX principles, throughout the software development lifecycle....

Room: Salon DTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

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

Presented by: HMB (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Presented by HMB Consultants) Now in its fifth year at CodeMash, come to play, come for the prizes! Join the HMB team in a fast-paced pub-style team trivia that will test your programming know-how or at least provide you with bizarre and hilarious fun facts. Prizes are up for grabs and...

Room: Salon ETrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Inclusion at the Workplace: You are more than an Awesome Coder

Presented by: Beam Dental (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Alejandro Vélez-Calderón) Ever wonder what inclusion really means? If you are an average American worker you will spend about ninety thousand hours of your life at work. If you can't be yourself while at work, that means you are spending about one third of your life repressing your...

Room: MangroveTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Automate those APIs: Integrate Services Faster with DreamFactory

Presented by: Dream Factory (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Jason Gilmore, CTO, DreamFactory) DreamFactory is an iPaaS that can dramatically reduce the amount of time and effort required to build and integrate APIs for a wide variety of data sources, including Microsoft SQL Server, MySQL, Oracle, Salesforce, AWS S3, and IoT devices. In this...

Room: Portia/WisteriaTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Think Like an Attacker to Protect Your App

Presented by: PreEmptive (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Peter Tefft) Applications running in untrusted environments are especially susceptible to attack. Threats include reverse engineering, probing, and tampering. These attacks can result in your intellectual property being stolen, or in compromised versions of your app being distributed,...

Room: RosewoodTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Artemis (ages 12 and up)

Time: Thursday 2:15 PM - 3:15 PM

Room: Salon C Meetup
3:30 PM

The Immutable Laws of Software and Life: Code Accordingly

Presented by: Cory House
Time: Thursday 3:30 PM - 4:30 PM

The first Law of Ecology: you can never merely do one thing. Actions have side-effects. In this session, we'll explore how changes in software design can have unexpected, profound impacts. In this story-based session, I'll reference both popular and little-known "laws" of computing and life. I'll...

Room: ZambeziTrack: Programming PrinciplesTags: Design (UI/UX/CSS), Other, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

JavaScript the Grumpy Parts

Presented by: Rob Richardson
Time: Thursday 3:30 PM - 4:30 PM

We love JavaScript, but we must admit: it's weird. Why does `this` behave as it does? How does variable scope work? Why do we have such comical behavior when comparing mixed types? Let's pull back the covers of these scenarios, and learn how it truely works. You may find a new reason to fall in...

Room: Indigo BayTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Advanced

What's New in Xamarin Forms 4.0

Presented by: Jason Awbrey
Time: Thursday 3:30 PM - 4:30 PM

Xamarin Forms has evolved significantly since it's debug almost 5 years ago. The recently released v4 includes many awesome new features. In this session we'll look at the latest and greatest, including Shell, Visual Design, CollectionView and CarosuelView. We'll demonstrate hands-on examples of...

Room: CypressTrack: MobileTags: .NET, MobileFormat: General SessionLevel: Intermediate

Digging In: Getting Familiar With The Code To Be A Better Tester

Presented by: Hilary Weaver-Robb
Time: Thursday 3:30 PM - 4:30 PM

Maybe you’ve been testing the same application for a while, and your rate of finding new bugs has slowed. Or you’re trying to find more ways to figure out what your devs are doing day to day. You have the tools at your disposal, you just need to dig in! In this talk, Hilary Weaver-Robb shares...

Room: NileTrack: Software QualityTags: TestingFormat: General SessionLevel: Introductory and overview

User Interviews: More than Just a Conversation

Presented by: Ash Banaszek
Time: Thursday 3:30 PM - 4:30 PM

Anyone who can carry a conversation can interview users, right? Not so. Gaining insight into user requirements, needs, and frustrations is a nuanced process. Without the proper training, even well-meaning researchers can lead, bias, and manipulate users into getting the answers researchers...

Room: OrangeTrack: UI/DesignFormat: General SessionLevel: Intermediate

A Series of Unfortunate Events - What Happens When Your App is Hacked.

Presented by: Joe Kuemerle
Time: Thursday 3:30 PM - 4:30 PM

Many of us know about the various security checklists and how we should write more secure code. In this session we will move beyond top 10 lists and dive into the world of how attackers compromise systems and how they use those compromises to exploit both individuals and companies. You will see...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: SecurityFormat: General SessionLevel: Intermediate

Public Speaking For Engineers

Presented by: Robby Millsap
Time: Thursday 3:30 PM - 4:30 PM

Have you ever wanted to deliver a session or keynote at your favorite conference? Have you ever attended a really boring session and thought, "I could do better than that!" Are you terrified of getting in front of your peers? Have you ever wondered how to effectively use humor to get your point...

Room: Sagewood / ZebrawoodTrack: Project Leadership/Soft SkillsFormat: General SessionLevel: Introductory and overview

Coaching & Communicating with Diverse Teams

Presented by: Kiera Prioleau
Time: Thursday 3:30 PM - 4:30 PM

Don’t worry; this isn’t the standard lecture on what diversity means and why it matters. Research shows that diverse teams are more innovative, productive, and just darn interesting. Diversity encompasses more than gender and race, which creates challenges for development team members and...

Room: Salon ATrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Learning R through sports, or learning sports through R

Presented by: Mike Roznik
Time: Thursday 3:30 PM - 4:30 PM

Big data has been a buzzword for years, but it’s only recently been hitting the world of professional sports. How do sports teams use this big data? Why with R! Together we’ll learn what kind of data they look for and how they present it. Along the way we’ll look at real world examples of R...

Room: Salon HTrack: DataTags: Big Data, Functional Programming, OtherFormat: General SessionLevel: Introductory and overview

Microservice Patterns - Implemented by Eclipse MicroProfile

Presented by: Ivar Grimstad
Time: Thursday 3:30 PM - 4:30 PM

Architectures based on microservices introduce new challenges for architects and developers. New patterns emerge and existing are updated to be aligned to this relatively new architectural style. This session presents a group of patterns commonly used in microservice-based architectures. Each...

Room: Salon DTrack: ArchitectureFormat: General SessionLevel: Advanced

Fun, Friendly Computer Science

Presented by: Mercedes Bernard
Time: Thursday 3:30 PM - 4:30 PM

Computer science concepts like Big O Notation, set theory, data structures, and principles of object-oriented programming sound intimidating, but they don’t have to be! This talk will dive into some fundamental computer science topics and debunk the myth that only ‘real’ programmers know...

Room: Salon ETrack: Programming PrinciplesTags: JavascriptFormat: General SessionLevel: Introductory and overview

Fast, Reliable, Powerful IoT Projects Built on Elixir With Nerves

Presented by: Joel Byler
Time: Thursday 3:30 PM - 4:30 PM

Elixir was built to deliver low-latency, distributed and fault-tolerant systems, this is great for large enterprise applications but can also be leveraged to build impressive IoT applications on small single board linux machines like (but not limited to) a Raspberry Pi. Nerves was built to give...

Room: MangroveTrack: HardwareTags: Functional Programming, HardwareFormat: General SessionLevel: Intermediate

Say No To Accidental Architecture! Code Your Design Systems Instead

Presented by: Burton Smith
Time: Thursday 3:30 PM - 4:30 PM

Are you still rockin' a single "styles.css" file in or project or have styles scattered throughout your project? Do you find yourself fighting to override styles or throw the "!important" property around a lot? Does your project have 20 different kinds of buttons and you don't know why or even where...

Room: Portia/WisteriaTrack: ArchitectureTags: Design (UI/UX/CSS)Format: General SessionLevel: Intermediate

TerseScript: JavaScript with 6 characters or less

Presented by: Mike Hand
Time: Thursday 3:30 PM - 4:30 PM

Let's explore the unique properties of JavaScript and learn how to write ANYTHING using only brackets, parentheses, plus, and bang. When you go back to using your full keyboard, you'll do it with a better understanding of JavaScript and some of it's, um, "features." Some of these hacks should NOT be...

Room: RosewoodTrack: Programming PrinciplesTags: JavascriptFormat: General SessionLevel: Intermediate

Artemis (ages 12 and up)

Time: Thursday 3:30 PM - 4:30 PM

Room: Salon C Meetup
4:00 PM

From idea to physical series: Additional Castle project walk-through Rhino project.

Time: Thursday 4:00 PM - 5:00 PM

Can’t get enough model building? Want to make something more advanced than your basic cups/keychains/challenge coins? We’ve noticed we have some repeat students each year on our kids track that just love to build models, and we’ve also run several years of our introductory track for adults. We...

Room: Guava / Tamarind
4:45 PM

Vertical Slice Architecture

Presented by: Jimmy Bogard
Time: Thursday 4:45 PM - 5:45 PM

Moving from a layered architecture to a vertical slice architecture can be a bit daunting. We remove abstractions, complex structures, and focus building on the axis of change, then what's next? What new structures, patterns, and policies will need to be introduced in this style of architecture? How...

Room: ZambeziTrack: ArchitectureFormat: General SessionLevel: Intermediate

Building Scalable, Cloud-Ready Aplications with RESTier

Presented by: Chris Woodruff
Time: Thursday 4:45 PM - 5:45 PM

In this advanced session, RESTier project leader Chris Woodruff will show you how to use RESTier to build high-quality cloud-ready applications. We'll use different code generation techniques to build out the infrastructure to maximize code reuse across tiers. We'll spin up Angular and Xamarin...

Room: Indigo BayTrack: MobileTags: .NETFormat: General SessionLevel: Advanced

Twelve Spins on User Experience

Presented by: Keith Instone
Time: Thursday 4:45 PM - 5:45 PM

What is “user experience,” really? Sure, it’s that feeling people get when they interact with your software, but the term UX is being used for more than that, in confusing ways. “We need some UX magic before we launch” “The UX team just gave us the designs, so let’s start...

Room: CypressTrack: UI/DesignTags: Design (UI/UX/CSS), Soft Skills/BusinessFormat: General SessionLevel: Intermediate

DevOps as a Force Multiplier for Agile

Presented by: Nate Berent-Spillson
Time: Thursday 4:45 PM - 5:45 PM

So your development team uses Agile, but you keep running into process constraints because the rest of the organization is wedded to the status quo? In retros, you’re constantly coming up against inefficient, manual operations? Every step of building a software product eats away at your...

Room: NileTrack: DevOpsTags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Mutation Testing to the rescue of your Tests

Presented by: Nicolas Fränkel
Time: Thursday 4:45 PM - 5:45 PM

Unit testing ensures your production code is relevant. But what does ensure your testing code is relevant? Come discover mutation testing and make sure your never forget another assert again. In the realm of testing, the code coverage metrics is the most often talked about. However, it doesn’t...

Room: OrangeTrack: Software QualityTags: Java, TestingFormat: General SessionLevel: Introductory and overview

App Deco - Applied Design Thinking for Secure Development

Presented by: Wolfgang Goerlich
Time: Thursday 4:45 PM - 5:45 PM

Usability versus security is stupid. It forces us to choose one or the other. It excuses security breaches under the guise of usability. It automatically pits us against them, builders against breakers, developers against defenders. A better approach is to view security like usability: they happen...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Design (UI/UX/CSS), SecurityFormat: General SessionLevel: Intermediate

Human Readable JavaScript: Using ES2015+ to Craft Better Code

Presented by: Laurie Barth
Time: Thursday 4:45 PM - 5:45 PM

Love JavaScript? Awesome! Hate JavaScript? That's ok! In the past, JavaScript hasn’t always been easy to read; lots of dollar signs and slick one-liners do not a sustainable, high-longevity language make. The good news is that things have gotten better! Lots of ECMAScript 2015 (and beyond)...

Room: Sagewood / ZebrawoodTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Intermediate

Everything I Needed to Know About Debugging I Learned in Elementary Physics

Presented by: Nate Taylor
Time: Thursday 4:45 PM - 5:45 PM

Has there ever been a time where you got a bug report and you didn’t even know where to start? Have you ever felt overwhelmed with how code is behaving? You’re expecting one thing and it does the exact opposite? Situations like these can be some of the more frustrating aspects of software...

Room: Salon ATrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview

The Definitive Guide to Organizing Community Events

Presented by: Jennifer Wadella
Time: Thursday 4:45 PM - 5:45 PM

Community organizing is no small feat and is VITAL to sustaining a technical workforce of learning, growth, and diversity. Since its foundation in 2013, Kansas City Women in Technology has grown to a volunteer team of more than 60 leaders running 6 technical/coding programs and several events per...

Room: Salon HTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Deep Learning on the Edge

Presented by: Dan Kacenjar
Time: Thursday 4:45 PM - 5:45 PM

Machine learning on microcontrollers? You bet! With the introduction of TensorFlow Lite, machine learning inferencing has moved to the edge... as in edge computing! Cloud-based servers or internet connections are no longer required. Machine learning can occur on the microcontroller, directly on the...

Room: Salon DTrack: HardwareTags: HardwareFormat: General SessionLevel: Introductory and overview

Horizontal Scaling of Graph Databases

Presented by: Ryan Hendrickson
Time: Thursday 4:45 PM - 5:45 PM

A very real problem is choosing what data to prioritize when storing it in a graph database. Most graph databases, including Neo4J, the number 1 graph database according to db-engines.com, do not scale horizontally. This leaves the size of the database constrained to how much disk space and ram is...

Room: Salon ETrack: DataTags: Cloud, Big DataFormat: General SessionLevel: Intermediate

Blockchain from the Firehose

Presented by: Jacob Coulter
Time: Thursday 4:45 PM - 5:45 PM

Take an in-depth look at Bitcoin, the blockchain that started it all. This session will cover all the pieces required to build a trustless distributed ledger. Learn from the most fundamental building blocks like hashing algorithms, transactions, and blocks, to the more advanced concepts such as...

Room: MangroveTrack: ArchitectureTags: SecurityFormat: General SessionLevel: Introductory and overview

[CANCELLED] Usability Testing and User Acceptance Testing: Do You Really Need Both?

Presented by: Trent Nguyen
Time: Thursday 4:45 PM - 5:45 PM

This session has been cancelled. We apologize for any trouble this causes.

Room: Portia/WisteriaTrack: Software QualityTags: Design (UI/UX/CSS), TestingFormat: General SessionLevel: Introductory and overview

Testing your UI Components

Presented by: Avindra Fernando
Time: Thursday 4:45 PM - 5:45 PM

When our clients give us kudos for releasing high quality applications, it makes us happy. To achieve great levels of quality, we need to thoroughly test our applications. But we know that some forms of testing can be expensive and tedious at times. Unit and integration tests help overcome some of...

Room: RosewoodTrack: Web/Front-EndTags: Design (UI/UX/CSS), Javascript, TestingFormat: General SessionLevel: Intermediate

Artemis (ages 12 and up)

Time: Thursday 4:45 PM - 5:45 PM

Room: Salon C Meetup
5:00 PM

“How would you print that?” interactive panel

Time: Thursday 5:00 PM - 6:00 PM

We have a wealth of different perspectives reflected with our 3D printing room staff- including tinkering hobbyists, hardcore makers, and even that of using multiple printer types repeatably in a small business setting. We thought it would be fun to share these various perspectives on how we...

Room: Guava / Tamarind
6:00 PM

Dinner

Time: Thursday 6:00 PM - 7:30 PM

Room: Suite 1 / Suite 6
7:00 PM

Super Smash Bros Ultimate Tournament

Time: Thursday 7:00 PM - 11:00 PM

A tournament... where folks play Super Smash Bros

Room: Ironwood

Maker Space Chit Chat

Time: Thursday 7:00 PM - 9:00 PM

Room: Empress

Lazer tag (ages 16 and up)

Time: Thursday 7:00 PM - 8:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Thursday 7:00 PM - 8:00 PM

Room: Salon C Meetup
8:00 PM

Electric Jam Session

Time: Thursday 8:00 PM - 1:00 AM

Room: Suite 1 / Suite 6

Casino & Carnival Games

Time: Thursday 8:00 PM - 11:00 PM

Room: Indigo Bay

Acoustic Jam Session

Time: Thursday 8:00 PM - 1:00 AM

Room: Mangrove

Dessert Bar, Karaoke, and Photo Booth

Time: Thursday 8:00 PM - 11:00 PM

Dessert Bar is only until 9PM

Room: Grand Hall

Lazer tag (ages 16 and up)

Time: Thursday 8:00 PM - 9:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Thursday 8:00 PM - 9:00 PM

Room: Salon C Meetup
9:00 PM

Lazer tag (ages 16 and up)

Time: Thursday 9:00 PM - 10:00 PM

Room: Salon C

Artemis (ages 12 and up)

Time: Thursday 9:00 PM - 10:00 PM

Room: Salon C Meetup
10:00 PM

Waterpark Party

Time: Thursday 10:00 PM - 1:00 AM

If you still have energy, come on down to the Waterpark Party! Swimming is optional. Having fun is mandatory. Sherwin-Williams is hosting a Waterpark Cabana, located near the wave pool! Late night snacks and drinks will be available while they last. Come by and grab a slice or two and meet some new...

Room: Waterpark

Friday

7:00 AM

KM: Alexa Scavenger Hunt

Time: Friday 7:00 AM - 1:00 PM

Ready for a digital adventure? There is an Alexa Scavenger Hunt throughout the Kalahari that you can play using your phone or tablet, and your voice! The hunt starts at the giant bronze gorilla (at the entrance to the convention center). You can do it entirely at your own pace or schedule, and there...

Room: Giant Bronze Gorilla

CodeMash Shuttle

Time: Friday 7:00 AM - 6:40 PM

Room: Shuttle

Coat Check

Time: Friday 7:00 AM - 6:00 PM

Room: Coat Check
7:30 AM

Breakfast

Time: Friday 7:30 AM - 8:30 AM

Room: Suite 1 / Suite 6
8:30 AM

Technical Leadership 101

Presented by: John Rouda
Time: Friday 8:30 AM - 9:30 AM

We all have potential to be technical leaders. What is a leader? My daughter says it’s the person in front of you in line. She’s right… in a way. A leader is just someone we follow. This talk will explore how we can lead those to our right and to our left. How to lead from any level, not...

Room: ZambeziTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Solving the Boolean Identity Crisis

Presented by: Jeremy Fairbank
Time: Friday 8:30 AM - 9:30 AM

While powerful in its simplicity and important to computation, the boolean can be limiting in applications. In this talk, briefly explore the history of boolean logic in computation and look at how booleans can become misused in programming languages. Explore examples where booleans obscure the...

Room: CypressTrack: Programming PrinciplesTags: Functional Programming, Javascript, OtherFormat: General SessionLevel: Introductory and overview

From Manual Testing to Automation Suite: A Guide For Everyone

Presented by: Mike Roznik
Time: Friday 8:30 AM - 9:30 AM

Do you start with automation? Manual tests? Should you always consider both? What about working with developers, can they help? Learn some easy stepping stones to go from manual testing to getting your feet wet with automation to writing full automation suites. In this talk you can expect lots of...

Room: NileTrack: Software QualityTags: TestingFormat: General SessionLevel: Introductory and overview

Event processing without breaking production

Presented by: Nathan Zender
Time: Friday 8:30 AM - 9:30 AM

Transactional systems are built with the primary focus of processing many concurrent events, only keeping the current state of data. What if I told you there was a way to capture all the events that led to that current state? Capturing all events would allow for deeper analytics/machine learning,...

Room: OrangeTrack: ArchitectureTags: Big Data, OtherFormat: General SessionLevel: Introductory and overview

Hack Your App - Intro to Mobile Security Testing

Presented by: Hans Weisheimer
Time: Friday 8:30 AM - 9:30 AM

Your phone really doesn’t want you to see what’s going on under the hood - it’s a feature. Many of the introspection capabilities that exist for web development are absent by default on mobile platforms. This is particularly frustrating when you need to validate assumptions or security...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Mobile, Security, TestingFormat: General SessionLevel: Introductory and overview

StencilJS and Universal Components

Presented by: Mike Hartington
Time: Friday 8:30 AM - 9:30 AM

Have you ever found an awesome component online, but couldn’t use it because it’s written for a different framework? For too long now, frameworks have gotten in the way of developers sharing code that they’ve written. With different APIs to work with, developers would have to rewrite a...

Room: Sagewood / ZebrawoodTrack: Web/Front-EndFormat: General SessionLevel: Introductory and overview

The best code, is the code never written.

Presented by: Daniel Davis
Time: Friday 8:30 AM - 9:30 AM

In the modern realms of software where getting to market fast and with minimal issues is a must in order to stay competitive, we need all the advantages we can get. One such advantage is to limit the amount of actual code produced and shipped. During this session we'll explore some of the practices,...

Room: Salon ATrack: Programming PrinciplesFormat: General SessionLevel: Introductory and overview

Speed, security and simplicity: Creating Container Images with Cloud Native Buildpacks

Presented by: Daniel Mikusa
Time: Friday 8:30 AM - 9:30 AM

Buildpacks are a pluggable, modular, language-agnostic tool that takes application source code and in turn give you an OCI (Open Container Initiative) image which you can run using Docker, Kubernetes or your OCI Runtime of choice. Developers: You no longer need to worry about tedious tasks like...

Room: Salon HTrack: DevOpsTags: .NET, Cloud, Java, Javascript, Ruby/Rails, Python, SecurityFormat: General SessionLevel: Introductory and overview

People Networking 1100101

Presented by: Debbie Ryan
Time: Friday 8:30 AM - 9:30 AM

While Networking can be scary, it is a SKILL which can be learned and honed and has a wide array of positive impacts. Job postings are incapable of giving the full picture of the job, but through networking with an existing team member it can provide great insights. Finding a new colleague that...

Room: Salon ETrack: Project Leadership/Soft SkillsFormat: General SessionLevel: Introductory and overview

Azure Kinect DK: Artificial Intelligence + Computer Vision = Your Next Generation Development Today!

Presented by: Lance Larsen
Time: Friday 8:30 AM - 9:30 AM

Azure Kinect DK is most advanced Computer Vision device available for developers today! Combining advanced depth sensor, spatial microphone array, video cameras with sophisticated computer vision and speech AI models, the Kinect is gives us an unparalleled tool for building cutting edge computer...

Room: MangroveTrack: HardwareTags: .NET, Design (UI/UX/CSS), HardwareFormat: General SessionLevel: Introductory and overview

The Creative Process of Coding

Presented by: Charlie Sweet
Time: Friday 8:30 AM - 9:30 AM

The process of writing software is often misunderstood. When you write business software you are not doing science, but rather art. Your job is not to build, but rather to design. Designing good software is about more than writing code. Knowing what code to write requires empathy and good...

Room: Portia/WisteriaTrack: Programming PrinciplesTags: Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Well.. that's ONNX-pected

Presented by: Ron Dagdag
Time: Friday 8:30 AM - 9:30 AM

The world of machine learning frameworks is complex. What if we can use the lightest framework for inferencing on edge devices? That’s the idea behind ONNX format. Attend this session and find out how to train models using the framework of your choice, save or convert models into ONNX, and deploy...

Room: RosewoodTrack: DataTags: .NET, Cloud, Big Data, Javascript, Other, PythonFormat: General SessionLevel: Intermediate
9:00 AM

Maker Space Projects

Time: Friday 9:00 AM - 5:00 PM

Room: Empress
9:45 AM

Burn It Down and Start Again: Principles of Modern JavaScript

Presented by: Joe Morgan
Time: Friday 9:45 AM - 10:45 AM

Heard about the latest JavaScript syntax? Seems like a day doesn’t pass without a language update. And with all the focus on syntax changes, it’s easy to miss the subtle principles driving JavaScript. Modern JavaScript doesn’t just have new tools, it’s composed differently. Don’t use a...

Room: ZambeziTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Intermediate

Dealing with Disagreement

Presented by: Tommy Graves
Time: Friday 9:45 AM - 10:45 AM

Virtually everyone extols the virtues of getting multiple and diverse perspectives on almost anything. In practice, however, multiple perspectives often just lead to heated disagreements that leave technology teams feeling divided and defeated. Creating mechanisms to resolve disagreements in a...

Room: Indigo BayTrack: Project Leadership/Soft SkillsFormat: General SessionLevel: Introductory and overview

Unit Testing Strategies & Patterns in C#

Presented by: Bill Dinger
Time: Friday 9:45 AM - 10:45 AM

Learn common patterns and strategies to effectively unit test your code in C#. We’ll go over design principles and ways to effectively ensure your code can be easily tested as well as how to use common testing tools such as Moq, Autofixture, & MsTest to help remove some of the drudgery of testing....

Room: CypressTrack: Programming PrinciplesTags: .NETFormat: General SessionLevel: Advanced

Context is King: Finding Service Boundaries

Presented by: Derek Comartin
Time: Friday 9:45 AM - 10:45 AM

Are you having trouble defining service boundaries? We know there are benefits in splitting up a complex system, such as more focused models and modular deployments. Defining the correct service boundaries is incredibly important but can be pretty tricky. When defined correctly, the model feels...

Room: NileTrack: ArchitectureTags: CloudFormat: General SessionLevel: Intermediate

Beyond Alt-Text: Trends in Online Accessibility

Presented by: Ian Forrest
Time: Friday 9:45 AM - 10:45 AM

If you're like the 2016 version of me, then you think you have a decent handle on web accessibility. You put alt attributes on all your images (though you don't give much thought to the actual text) and you make sure your sites can be used with a keyboard (except for overlays sometimes). Then the...

Room: OrangeTrack: UI/DesignTags: Design (UI/UX/CSS), OtherFormat: General SessionLevel: Introductory and overview

Continuous Security

Presented by: Craig Hills
Time: Friday 9:45 AM - 10:45 AM

A presentation on how to build security testing into your CI/CD pipeline. The primary goal is to think about what the appropriate level of testing is for your project, and determine how to make the most significant improvements to your security, while being cost effective.

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Ruby/Rails, Security, TestingFormat: General SessionLevel: Introductory and overview

API Design for ETL - Lessons from Nearly 100 Data Integrations in the Wild

Presented by: Dan Mosora
Time: Friday 9:45 AM - 10:45 AM

In the API Economy, users increasingly want to analyze and connect more of their business data, from small startup shops to multinational corporations. Thinking about making data available through an API? There are innumerable ways to slice the problem. How do you implement pagination? What data...

Room: Sagewood / ZebrawoodTrack: DataTags: Cloud, Big DataFormat: General SessionLevel: Intermediate

From Punchcards to Git: A Brief History of Version Control

Presented by: Brian Meeker
Time: Friday 9:45 AM - 10:45 AM

Believe it or not, there was a time before Git! And even longer ago there was a time before version control itself! Come learn all about the version control systems of yesteryear, such as SCSS and RCS. Stick around to learn the horrors of file locking and versioning. Gaze into the madness that is...

Room: Salon ATrack: Software QualityTags: OtherFormat: General SessionLevel: Introductory and overview

Building a super performant GossipGirl.com in Gatsby in under 50 Minutes

Presented by: Jennifer Wadella
Time: Friday 9:45 AM - 10:45 AM

Hey, Upper East Siders, Gossip Girl here bringing you the scoop on rapidly building static websites in React. I don’t know about you, but my site is in a major need of an overhaul, so we’re going to rebuild it in under 50 minutes using GatsbyJS. We’ll make SEO look hot and blow some minds with...

Room: Salon HTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Intermediate

Owning Your Experience: Talking about Mental Health In the Workplace

Presented by: Arthur Doler
Time: Friday 9:45 AM - 10:45 AM

Your thoughts and your emotions affect your work, no matter how much you pretend that you can leave them at the door of your workplace. It's easy to deny your own experience the importance it deserves, especially if it's only inside your own head. But boxing it all away because you have "work to do"...

Room: Salon DTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Serialization for the new micro service landscape

Presented by: Leonardo de Moura Rocha Lima
Time: Friday 9:45 AM - 10:45 AM

Serialization is often overlooked when developing backend systems, and this wasn’t (and still isn’t) a problem inside a monolith. But with the developing scene moving towards micro services, serialization becomes really important - how to serialize your data? What aspects do you need to...

Room: Salon ETrack: ArchitectureTags: Cloud, JavaFormat: General SessionLevel: Introductory and overview

How Exploding Birthday Cakes and Other CRAZY Projects Come to Life

Presented by: Barry Tarlton
Time: Friday 9:45 AM - 10:45 AM

Have an amazingly crazy idea for an Arduino or RaspberryPi project, but can't find a tutorial to help bring it to life? Do even the Googles seem unable to help you get started on the road less traveled? This session will prepare you to go beyond the average maker tutorials found online and help...

Room: MangroveTrack: HardwareTags: HardwareFormat: General SessionLevel: Intermediate

Environment Configuration for JavaScript Apps

Presented by: David Truxall
Time: Friday 9:45 AM - 10:45 AM

For traditional server-side web apps, environment-specific configuration is handled in a variety of ways, including environment variables, configuration files or password stores. But a front-end web app running in a framework like React or Vue can’t really use these same techniques since they...

Room: RosewoodTrack: DevOpsFormat: General SessionLevel: Intermediate
11:00 AM

Lunch

Time: Friday 11:00 AM - 2:00 PM

Room: Suite 1 / Suite 6

An Introduction to Quantum Programming

Presented by: Matt Norby
Time: Friday 11:00 AM - 12:00 PM

Quantum computers can solve some classes of problems much faster than conventional computers. But the terminology can be confusing. What are qubits, superposition, and entanglement? And how can you harness them to write programs? In this session, you will learn the language and concepts of...

Room: ZambeziTrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview

REST in Peace: Killing REST and adopting RPC.

Presented by: Steven Swenson
Time: Friday 11:00 AM - 12:00 PM

REST has been the de facto architecture for web APIs for 15 years, and its deficiencies are starting to become quite apparent. It is difficult to document, poor standardization, and lacks common tooling. For developers, this results in extra work when creating or consuming an API. The time has come...

Room: CypressTrack: ArchitectureFormat: General SessionLevel: Intermediate

Hiring and Inspiring an Exceptional Team

Presented by: Seth Petry-Johnson
Time: Friday 11:00 AM - 12:00 PM

Management gets a bad rap in technical circles, and for good reason: many managers are terrible, and it shows! Rising above the pointy-haired-boss stereotypes is easier than you might think. By grounding your leadership style in management science, and adding a touch of emotional intelligence, you...

Room: NileTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

You Version Your Code, Why Not Your Database?

Presented by: Derek Binkley
Time: Friday 11:00 AM - 12:00 PM

Code versioning is an integral part of any developers daily workflow. However, database changes are often handled manually making automatic code deploys a challenge. If something goes wrong, rolling back a deployment requires either complex and possibly untested scripts or a database...

Room: OrangeTrack: DataTags: JavaFormat: General SessionLevel: Introductory and overview

Explain it to me like I'm 5: Oauth2 & OpenID

Presented by: Daniel Mikusa
Time: Friday 11:00 AM - 12:00 PM

Oauth2 and OpenID are quickly becoming mainstays for application developers. Companies want integrated authentication to reduce security footprints and users expect the convenience of single sign-on. As an application developer, it's up to you to facilitate this in your applications. In this talk,...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: .NET, Cloud, Java, Javascript, SecurityFormat: General SessionLevel: Introductory and overview

Android: A peek under the hood

Presented by: Brad Hollander
Time: Friday 11:00 AM - 12:00 PM

Over the years, Android has become one of the most widely used operating systems in the world. Boasting 2.5 billion active devices, it can be found running on practically any hardware, from high-end flagship phones to smartwatches and IOT devices. Despite this massive popularity, the inner workings...

Room: Sagewood / ZebrawoodTrack: MobileTags: MobileFormat: General SessionLevel: Intermediate

Assembly Language: The (Sega) Genesis of Programming

Presented by: Joe Sewell
Time: Friday 11:00 AM - 12:00 PM

Have you ever wondered how many popular video games of the 70s, 80s, and 90s managed to look, sound, and play so well, despite running on very limited hardware? One reason is that many of these games were written in assembly languages. Unlike compiled or interpreted languages, in assembly the...

Room: Salon ATrack: HardwareTags: HardwareFormat: General SessionLevel: Intermediate

The Dark Side of UX

Presented by: Courtney Heitman
Time: Friday 11:00 AM - 12:00 PM

User experience design brings clarity, removes obstacles. It rewards - makes us feel accomplished, successful, happy. Users are confident when using a well-designed application - as easy as turning on a light switch: [Buy] Don't make me think: did I opt in? Don't make me think: was that a hidden...

Room: Salon HTrack: UI/DesignTags: Design (UI/UX/CSS)Format: General SessionLevel: Introductory and overview

A Lifecycle Of Code Under Test

Presented by: Bob Fornal
Time: Friday 11:00 AM - 12:00 PM

When thinking about tests against code, have you "done enough?" How do you know that the code is covered appropriately, that odd bugs aren't going to crop up? Did you cover all the use cases and what if someone changes the code down-the-road? This session is about the unit and integration tests...

Room: Salon DTrack: Software QualityTags: TestingFormat: General SessionLevel: Introductory and overview

Development magic: Producing more development time out of thin air.

Presented by: Jonathan Batteas
Time: Friday 11:00 AM - 12:00 PM

It's easy to get stuck in the, “if it ain’t broke, don’t fix it,” mindset with your software development process when real money is on the line, and deadlines loom. But taking the time to implement small changes to your pipeline, and foster a team attitude that's always looking for a...

Room: Salon ETrack: DevOpsFormat: General SessionLevel: Intermediate

Azure Spatial Anchors: Building a Shared Mixed Reality across Devices (Hololens, iOS & Android)

Presented by: Lance Larsen
Time: Friday 11:00 AM - 12:00 PM

Augmented, Virtual and Mixed Reality Markets are projected to exceed $35 Billion By 2025. One of the missing puzzle pieces in this emerging market was how to simultaneously engage multiple users across varied devices in a shared mixed reality. Azure Spatial Anchors IS that missing piece! Azure...

Room: MangroveTrack: MobileFormat: General SessionLevel: Introductory and overview

[CANCELLED] Watch This Talk Before You Go Go

Presented by: John Reese
Time: Friday 11:00 AM - 12:00 PM

Session is cancelled. We apologize for the inconvenience.

Room: Portia/WisteriaTrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview

Finding Patterns in the Clouds

Presented by: Steve Smith
Time: Friday 11:00 AM - 12:00 PM

Cloud computing is quickly becoming the new normal for enterprise software developers. Whether it's more traditional Infrastructure-as-a-Service, container-based deployments, or fully serverless deployments, moving to the cloud offers something for almost every organization. But with it come new...

Room: RosewoodTrack: ArchitectureTags: CloudFormat: General SessionLevel: Introductory and overview
12:15 PM

A Developer's Introduction to Electronics

Presented by: Guy Royse
Time: Friday 12:15 PM - 1:15 PM

Are you a programmer? Odds are you have a love of Raspberry Pis, Arduinos, and other devices of their ilk. These devices are easy to program, especially for a developer like you, but when it comes to building circuits for them to control, you're pretty much just following recipes online without a...

Room: ZambeziTrack: HardwareTags: HardwareFormat: General SessionLevel: Introductory and overview

Quantum Computing deep dive

Presented by: Johnny Hooyberghs
Time: Friday 12:15 PM - 1:15 PM

You've probably heard of Quantum Computing, but it still remains a mistery? This deep dive session explains important concepts like qbits, superposition and entanglement. Theoretical knowledge about quantum physics, quantum gates and quantum algorithms will be associated with practical examples...

Room: Indigo BayTrack: ArchitectureTags: Hardware, OtherFormat: General SessionLevel: Advanced

React State: Redux & Context & Hooks, Oh My!

Presented by: Michael Moran
Time: Friday 12:15 PM - 1:15 PM

In the age of ephemeral javascript frameworks, ReactJS has lasted 5 years and only grown in popularity as its evolved. Despite its popularity, there is one burning question for anyone working with React: "How should I handle state?". We have many options at our disposal including React component...

Room: CypressTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Intermediate

Practical Functional Programming

Presented by: Jeremy Fairbank
Time: Friday 12:15 PM - 1:15 PM

Functional programming is more than just math and monads. Functional programming empowers developers to solve real problems with safe, predictable, and maintainable code. In this talk, discover the basics of functional programming and how to apply functional concepts in a practical manner. Learn how...

Room: NileTrack: Programming PrinciplesTags: Functional Programming, Javascript, OtherFormat: General SessionLevel: Introductory and overview

Will the real "Women in Tech" Please Stand up ??

Presented by: Taranjeet Kaur
Time: Friday 12:15 PM - 1:15 PM

Some stats (the data has been gathered from multiple sources) - Fact#1 50.52% women in USA Fact#2 47 % women in workforce Fact#3 Only 20% women in Tech Job Fact#4 5-7% management/ non tech positions in Tech companies. So many "Women in Tech" events and "Women Hiring" drives in Tech...

Room: OrangeTrack: Project Leadership/Soft SkillsFormat: General SessionLevel: Introductory and overview

DDoS Attacks: Threat Landscape & Defensive Countermeasures

Presented by: Chris Holland
Time: Friday 12:15 PM - 1:15 PM

October 2016’s attack on Dyn's DNS infrastructure was a gloomy wake-up call to the online community at-large, depriving us access to some of the online destinations and applications we use every day, thereby confronting us with the stark reality of an old and ever-growing threat with which the...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Other, SecurityFormat: General SessionLevel: Intermediate

Hey, You Got Your TDD in my SQL DB!

Presented by: Jeff McKenzie
Time: Friday 12:15 PM - 1:15 PM

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: Sagewood / ZebrawoodTrack: Software QualityTags: TestingFormat: General SessionLevel: Intermediate

Not Just Fun and Games: Creating a Chess AI That Can Beat You

Presented by: David Hauck
Time: Friday 12:15 PM - 1:15 PM

AI is in the news seemingly every week. Whether it is people like Elon Musk or Steven Hawking warning the public about them or a new program that can beat humans at yet another task, it is definitely a hot topic. This talk will go through how an AI program that can play chess is actually made. Using...

Room: Salon HTrack: DataTags: OtherFormat: General SessionLevel: Introductory and overview

Make For Non-C Programmers

Presented by: Eric Smith
Time: Friday 12:15 PM - 1:15 PM

GNU Make is a robust, proven, and free tool that's been available for decades for automating virtually any task imaginable. Yet it's rarely used by non-C programmers, because its documentation was written for...C programmers. In this talk we'll approach Make from a beginner's point of view, and...

Room: Salon DTrack: DevOpsFormat: General SessionLevel: Introductory and overview

User Experience Pitfalls

Presented by: Ash Banaszek
Time: Friday 12:15 PM - 1:15 PM

User Experience has become a buzzword in the tech industry. Project managers and business partners are clamoring to improve the experience. You understand UX is a business necessity, but you aren't quite sure what it means to you or where to begin. This session discusses some common pitfalls of user...

Room: Salon ETrack: UI/DesignFormat: General SessionLevel: Introductory and overview

Calculating Insulin With Automated Carb Counting Using AI, ML and Web Bluetooth

Presented by: Todd Sharp
Time: Friday 12:15 PM - 1:15 PM

Diabetes is a disease that affects 400 million people worldwide. Managing the disease means eating a healthy diet, getting routine exercise, monitoring blood sugar levels and administering insulin to manage those levels. The good news is that technology exists to help people manage the disease....

Room: MangroveTrack: ArchitectureTags: Cloud, Java, Javascript, MobileFormat: General SessionLevel: Introductory and overview

Supporting the Scala Ecosystem: Stories from the Line

Presented by: Justin Pihony
Time: Friday 12:15 PM - 1:15 PM

At Lightbend we have handled over 10,000 customer support cases ranging from simple Scala compilation issues to complex Akka performance puzzles. Supporting Scala and its largest libraries has resulted in some really interesting issues, such as: * a seemingly valid cast leading to a...

Room: Portia/WisteriaTrack: Software QualityFormat: General SessionLevel: Introductory and overview

Understanding the identity business, and how to get out of it

Presented by: Jeff Putz
Time: Friday 12:15 PM - 1:15 PM

Knowing who is using your software is super fundamental. It's less important than ever to have to manage those identities yourself, but you can't escape understanding the protocols and players. Let's talk about how things like OAuth2 actually work, and then decide if you can get out of the business...

Room: RosewoodTrack: SecurityTags: Cloud, Other, SecurityFormat: General SessionLevel: Intermediate

Artemis (ages 12 and up)

Time: Friday 12:15 PM - 1:15 PM

Room: Salon C Meetup
1:30 PM

The Art of Web Authentication

Presented by: Auth0 (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Kim Maida) Authentication and authorization are daunting topics for many developers. Auth standards are well defined, but are challenging to understand. Terminology and specifications (OAuth, OIDC, JWT, IETF)? How does cookie-based authentication work? How does token-based...

Room: ZambeziTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Tribal Knowledge in Agile Teams

Presented by: Manifest Solutions (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Jeffrey Miller) Let's face it. We don't communicate well, and we document even less. Is it possible to wield information well in an Agile software team? Yes, it is! With consideration, change, and commitment to doing your work differently, it is possible to have relevant and vibrant...

Room: Indigo BayTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Tiny Containers: Exploring the World of Docker and Kubernetes with a Raspberry Pi Cluster

Presented by: Nationwide (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Mark Ramsey) Nationwide, like many companies, has strategically embraced the cloud as our hosting infrastructure. While exciting, this new direction requires learning a number of technologies, such as Docker and Kubernetes, that can be intimidating. Faced with this challenge, I chose...

Room: CypressTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

What's going on in there? Know what's happening in your software with Application Insights.

Presented by: Aptera (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Eric Potter) Monitoring production software can be a challenge, especially if it is hosted in the cloud. Application Insights can tell you what your software is doing and how your users are using it. You can use it to identify performance bottlenecks. You can detect errors before users...

Room: NileTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

What is the definition of done? How do I get there?

Presented by: JFrog (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Mark Galpin) The DevOps revolution has changed a lot of things, but probably nothing more than how product managers and developers think about “done”. In this talk we will see examples from the development of JFrog GoCenter and how we as a team together learned to change our...

Room: OrangeTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Supersonic, Subatomic Java

Presented by: Red Hat, Inc. (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Scott Seighman) Supersonic, Subatomic Java In this session, we’ll demonstrate how you can optimize your enterprise Java apps, your APIs, your microservices, and your serverless functions for a Kubernetes/OpenShift environment using Quarkus. Quarkus is a Kubernetes Native Java stack...

Room: Aloeswood / LeopardwoodTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

4 Times I Should Have Been Fired for Bad Code

Presented by: JPMorgan Chase & Co. (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Ben Thorp) Ever set a helicopter on fire? Wasted months of company time developing a product that no one wanted? Designed a system so complex and hard to use that none of your peers (or boss unfortunately) could maintain it? We’ve all made mistakes and have hopefully learned from...

Room: Sagewood / ZebrawoodTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

The Intersection of Quality and Speed: Scaling a Team to Optimally Deliver Quality Software

Presented by: Root Insurance Company (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Tim LeMaster, Keith Wedinger, Tommy Graves) A panel discussion of Root Engineers that presents a conversation about building a team to optimally deliver software in a high quality and efficient manner and the challenges we've faced doing that at Root Insurance. From onboarding, to the...

Room: Salon ATrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Using AI/ML to Automate CI/CD

Presented by: Harness (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Luke Hertert, Harness) To achieve true continuous delivery, teams need to leverage end-to-end automation across their deployment pipelines and tooling. Deployment health checks today involve someone pinging the production app and saying "yep, app is still up, everything is OK." In...

Room: Salon HTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Rapid Mobile App Development with Xamarin.Forms + Prism MVVM Framework

Presented by: Robert Half Technology (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Erik Hornyak) Learn how to leverage the Prism MVVM Framework on top of Xamarin. Forms to accelerate cross-platform mobile development. Prism provides an implementation of a collection of design patterns that are helpful in writing well-structured and maintainable XAML applications,...

Room: Salon ETrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Upgrade your .NET Framework to .NET Core know-how

Presented by: Progressive Insurance (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Sean Beougher) So you’ve been tapped to upgrade some of your companies .NET Framework apps to .NET Core. Seems simple enough, right? Just upgrade the framework, and you’re done. If only it were that easy! Having completed upgrades at Progressive Insurance on some highly visible...

Room: RosewoodTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview

Artemis (ages 12 and up)

Time: Friday 1:30 PM - 2:30 PM

Room: Salon C Meetup
2:45 PM

Becoming a Better Curator of Your Code

Presented by: Ian Zelikman
Time: Friday 2:45 PM - 3:45 PM

Writing code that functions correctly is only part of the development process. The majority of our time is spent reading, maintaining and refactoring our code. In this talk we will discuss how when we see our work as code curation we actually enable our job to be much easier and productive. We...

Room: ZambeziTrack: Software QualityTags: OtherFormat: General SessionLevel: Introductory and overview

Programmer burnout: how to recognize and avoid it

Presented by: Santosh Hari
Time: Friday 2:45 PM - 3:45 PM

Burnout among software professionals is far more widespread than we would like to admit. It sneaks up on us. At first we dread going in to work each day. We can barely focus enough to get through the day and struggle with otherwise simple-for-us tasks. It starts there and gets much worse. So what...

Room: Indigo BayTrack: Project Leadership/Soft SkillsTags: Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

5 Ideas For Writing Better Cloud Native Microservices

Presented by: Todd Sharp
Time: Friday 2:45 PM - 3:45 PM

In theory, microservices are easy. The promise of loosely coupled, scalable services that can each be independently built, tested and deployed sounds amazing, doesn’t it? On top of that, each service can be written in whatever language the development deems appropriate – using their framework of...

Room: CypressTrack: ArchitectureTags: Cloud, Java, JavascriptFormat: General SessionLevel: Introductory and overview

Mock It 'til You Make It

Presented by: Gabriela Dombrowski
Time: Friday 2:45 PM - 3:45 PM

Let's automate the tedious task of building mocked query resolvers so that you never have to manually set up mocks for loading, error, no data, or default value states ever again! We'll learn how to use GraphQL and Apollo in a React application to build providers that will dynamically auto mock all...

Room: NileTrack: Web/Front-EndFormat: General SessionLevel: Intermediate

Hacking on a home server for fun and profit

Presented by: Leo Guinan
Time: Friday 2:45 PM - 3:45 PM

Do you have a Raspberry Pi or similar just gathering dust at home? Or maybe various other computer components hanging around? If you do, come join Leo's journey down the road of system administration, beginning with an assortment of Raspberry Pis, and current in the form of a rack server. He will...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Hardware, Other, SecurityFormat: General SessionLevel: Introductory and overview

One Codebase, Many Screens - Flutter in a Nutshell

Presented by: Don Ward
Time: Friday 2:45 PM - 3:45 PM

The Story - Flutter is Google’s cross-platform development framework for quickly crafting high-quality native apps on Web, iOS, Android, and ChromeOS in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source. Notable...

Room: Sagewood / ZebrawoodTrack: MobileTags: MobileFormat: General SessionLevel: Introductory and overview

What Time Is It Anyway?

Presented by: Tyler Jennings
Time: Friday 2:45 PM - 3:45 PM

Handling date and time in our applications can be a complex task with many nuances. How should we handle date time? Should we store local time zone or UTC? Should we store dates and times separately? Should we use Unix time? These are all valid questions and there isn't always a...

Room: Salon ATrack: DataFormat: General SessionLevel: Intermediate

Git Back to Basics

Presented by: Angel Thomas
Time: Friday 2:45 PM - 3:45 PM

Have you written code that worked, then broke it, only to not remember what the working code was? Git, a version control application could be the solution you are looking for. Git can help you to track changes in your projects, go back to when your code is working, or even find out where it broke....

Room: Salon HTrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview

Trans Eye for the Cis Ally: Ensuring an Inclusive Community

Presented by: Julien Fitzpatrick
Time: Friday 2:45 PM - 3:45 PM

Trans and non-binary people are becoming increasingly visible in the workplace, as well as in community spaces such as meetups and conferences. Most managers and event organizers want to be inclusive and welcoming but frequently, in spite of their best intentions, often come up short. Wouldn’t it...

Room: Salon DTrack: Project Leadership/Soft SkillsTags: Other, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

The Dungeon Master's Guide to DevOps

Presented by: Bill Dinger
Time: Friday 2:45 PM - 3:45 PM

Every good Dungeon Master needs a guide to help their party adventure through the world of DevOps. From the tools necessary to common monsters found along the way. Help your party succeed at a critical part of delivering quality software. We'll go over the full CI/CD cycle: builds, commit hooks,...

Room: Salon ETrack: DevOpsFormat: General SessionLevel: Introductory and overview

Building an Open Source Artificial Pancreas

Presented by: Sarah Withee
Time: Friday 2:45 PM - 3:45 PM

Have you ever thought about what open source software or hardware could achieve? What if it could help improve people's lives by solving some of their health problems? After the medical tech industry kept promising a system to help automatically manage insulin for type 1 diabetic people and never...

Room: MangroveTrack: HardwareFormat: General SessionLevel: Introductory and overview

Walking A Mile In Your Users' Shoes

Presented by: Jameson Hampton
Time: Friday 2:45 PM - 3:45 PM

Developing apps for users in different demographics is inherently differently than developing apps just for ourselves and for other programmers. Understanding the needs of our users and learning to foster empathy for them is just as much of a skill as learning Rails or ActiveRecord — and it’s a...

Room: Portia/WisteriaTrack: UI/DesignTags: Design (UI/UX/CSS), Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Designing a DSL with Kotlin

Presented by: Nicolas Fränkel
Time: Friday 2:45 PM - 3:45 PM

Although Kotlin has made a huge impact on Android, it’s equally good on the server side. As Domain-Specific Languages are constrained by the language they run on, Kotlin frees developers from Java fluent builders to propose something better. Using the Hazelcast configuration API as an example,...

Room: RosewoodTrack: Programming PrinciplesTags: Java, OtherFormat: General SessionLevel: Introductory and overview

Artemis (ages 12 and up)

Time: Friday 2:45 PM - 3:45 PM

Room: Salon C Meetup
4:00 PM

Test-driven development: save your time, save your sanity, write great code fast

Presented by: Paul Roub
Time: Friday 4:00 PM - 5:00 PM

For the skeptical: Both new and more-seasoned devs -- especially solo practitioners -- can have a lot of misconceptions about TDD. Mostly of the "it's extra work, it's extra code, I can't ship tests, why would I test something simple and obvious" variety. But magic happens when the light bulb...

Room: Indigo BayTrack: Programming PrinciplesTags: Other, TestingFormat: General SessionLevel: Intermediate

Straying From the Happy Path: Taking Control of Errors in Swift

Presented by: Jeff Kelley
Time: Friday 4:00 PM - 5:00 PM

Have you ever seen a code comment saying “this should never happen”? Have you ever wondered what would happen if it did? Swift has a diverse set of error-handling capabilities, from using throw to send errors up the stack to using a Result to handle errors in asynchronous methods. In this talk,...

Room: CypressTrack: MobileTags: Mobile, TestingFormat: General SessionLevel: Introductory and overview

Example Mapping: The New Three Amigos

Presented by: Thomas Haver
Time: Friday 4:00 PM - 5:00 PM

Example Mapping is a collaboration technique used by teams to help refine requirements. Every team should have a set of “ready” criteria that includes some kind of workshop between development team members to establish a shared understanding. In a time-boxed Example Mapping session, rules will...

Room: NileTrack: Software QualityTags: Other, Soft Skills/Business, TestingFormat: General SessionLevel: Introductory and overview

Watch How The Giants Fall: Learning from Bug Bounty Results

Presented by: John Melton
Time: Friday 4:00 PM - 5:00 PM

Security is hard. We all miss things. Attackers find things. "You must learn from the mistakes of others. You can't possibly live long enough to make them all yourself." -Samuel Levenson This talk is a fun, fast-moving survey of some of the best recent bug bounty finds against some of the...

Room: Aloeswood / LeopardwoodTrack: SecurityFormat: General SessionLevel: Intermediate

The Hows and Whys of Podcasting in 2020

Presented by: Leo Dion
Time: Friday 4:00 PM - 5:00 PM

In 2017, Leo started a podcast ok productive with his co-host Erik Gillespie. A few months later he started another podcast empowerapps.show to compliment his business developing apps for Apple devices. In this presentation, Leo gives some guidance on how to get started as well as: fostering...

Room: Salon ATrack: Project Leadership/Soft SkillsFormat: General SessionLevel: Introductory and overview

The Case of the Tenacious Tester: How Using Your Words Improves QA Work

Presented by: Katrina Ohlemacher
Time: Friday 4:00 PM - 5:00 PM

"Never trust to general impressions, my boy, but concentrate yourself upon details." So says Sherlock Holmes in “A Case of Identity.” The Great Detective has a lot to say that applies to software testing: pay attention to detail, never make assumptions, use your imagination. We wouldn’t have...

Room: Salon HTrack: Software QualityTags: Other, TestingFormat: General SessionLevel: Introductory and overview

Accessibility Audits in Chrome: Easy Steps toward an Inclusive Internet

Presented by: Maranda Provance
Time: Friday 4:00 PM - 5:00 PM

Do you want to help make the internet a better place for all people? In this talk, you’ll be introduced to the accessibility audits built into Chrome’s dev tools. We’ll walk through the automated tests they provide as well as the helpful information they give on manual testing. By the end of...

Room: Salon DTrack: Web/Front-EndTags: Javascript, Other, TestingFormat: General SessionLevel: Introductory and overview

Raiders of the Lost Query: Learning Best Practices for Exploratory Data Analysis in R Programming

Presented by: Pierre DeBois
Time: Friday 4:00 PM - 5:00 PM

Indiana Jones had his hat, his whip, and his wits to save the day. But developers and managers need a lot more to program data models. With so many dataset tools for data science available, managers and developers can create statistical programming models, but are overwhelmed as to how to best...

Room: Salon ETrack: DataFormat: General SessionLevel: Introductory and overview

Thirst-quenching Streams for the Reactive Mind

Presented by: Mary Grygleski
Time: Friday 4:00 PM - 5:00 PM

With the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems and increasingly sophisticated applications, an array of reactive data stream processing libraries have been born to address the needs. Reactive Streams is...

Room: Portia/WisteriaTrack: ArchitectureTags: Functional Programming, Java, OtherFormat: General SessionLevel: Intermediate

Artemis (ages 12 and up)

Time: Friday 4:00 PM - 5:00 PM

Room: Salon C Meetup
5:00 PM

Closing Ceremonies

Time: Friday 5:00 PM - 6:00 PM

Room: Suite 1 / Suite 6