Session Schedule

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

Tuesday

7:00 AM

Breakfast

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

Room: Kilamanjaro Ballroom
8:00 AM

Architecting and Building Serverless Solutions in Azure

Presented by: Brian Gorman
Time: Tuesday 8:00 AM - 12:00 PM

This workshop is a guided activity to learn, architect, and implement a real-world, serverless solution in the Microsoft Azure ecosystem. The tools utilized will include Azure Functions, Cosmos DB, Event Grid, Logic Apps, Application Insights, and Azure storage. After completing the workshop,...

Room: ZambeziTrack: ArchitectureTags: .NET, CloudFormat: PreCompilerLevel: Intermediate

K3s - Half the Size, Twice as Awesome: Kubernetes for All of Us (Workshop)

Presented by: Chris Houdeshell
Time: Tuesday 8:00 AM - 12:00 PM

Getting started with Kubernetes is a daunting task. Everyone you talked to said it was a pain to get started, but it eventually paid off (unless you’re Docker). What if I told you there was a solution to the startup pain? What if it was something to get your feet wet with, cut your teeth on -- but...

Room: Nile/OrangeTrack: DevOpsFormat: PreCompilerLevel: Introductory and overview

Building Trust and Breaking Barriers (with LEGO!)

Presented by: Thomas Haver
Time: Tuesday 8:00 AM - 12:00 PM

LEGO(R) sets are fun to build, but who has ever attempted to build a set without looking at the instructions? In this workshop, attendees will form teams and attempt to build a LEGO(R) set without instructions. Through a series of iterative exercises that provide more product details, the teams will...

Room: Salon A/HTrack: Teams/Leadership/The Future of WorkTags: Leadership, Soft Skills/Business, TestingFormat: PreCompilerLevel: Introductory and overview

Building Your First Voice Experience with Alexa

Presented by: Jeff Blankenburg
Time: Tuesday 8:00 AM - 12:00 PM

This workshop will dive right in to getting you set up and started building a voice-based experience with Alexa. You will leave this session with a working Alexa skill that you can customize and publish as your own. We will cover topics around voice design best practices, voice interactions,...

Room: Salon E/DTrack: Web/Front-EndTags: Cloud, Big Data, Design (UI/UX/CSS), Javascript, TestingFormat: PreCompilerLevel: Introductory and overview

Have you ever thought of joining the Mob?

Presented by: Fred Estabrook, Chris O'Connor
Time: Tuesday 8:00 AM - 12:00 PM

Ahh!! It's a Mob of philanthropic humanitarians. What will we do?!?! Quick pull down an open source refactorable project from GitHub and set them on it. In this session team members can and will participate in this interactive workshop. Come join the group mind, all roles and experience levels...

Room: Indigo BayTrack: Programming PrinciplesFormat: PreCompilerLevel: Introductory and overview

Build Your Own Portable Gaming System - Part 1

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

Looking for a portable gaming system that you can hack on?  Want to learn how to solder and assemble your own  circuit board?  Perhaps you want to re-experience the classic games and computer systems of your childhood.  Maybe you want to make and process CD-quality audio from a variety of...

Room: Portia/WisteriaTrack: HardwareTags: Hardware, MobileFormat: PreCompilerLevel: Introductory and overview
8:30 AM

A Kid's Introduction to 3D Modeling (Tues)

Presented by: Brian Carnes
Time: Tuesday 8:30 AM - 12:05 PM

This session is targeted for children. All ages of children are welcome (with a responsible adult). We will tour the maker lab and talk about the exciting world of 3D printing. We will look at the printers as well as models made on them and pass around lots of things. We will also go over basics of...

Room: Guava/TamarindTrack: KidzMashTags: Design (UI/UX/CSS), HardwareFormat: Maker SpaceLevel: Introductory and overview
10:30 AM

Maker Museum and Open Lab (Tues)

Presented by: Greg Huber
Time: Tuesday 10:30 AM - 5:05 PM

Come visit the Maker Museum and Open Lab, in the Mangrove room. You will be able to: Learn to solder Learn to tinker on hardware and develop software to run sketches using Circuit Python Check out different projects Hang out and meet with other Makers and see what they are building or working...

Room: MangroveTrack: CodeMashFormat: Maker Space
12:00 PM

Lunch

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

Room: Kilamanjaro Ballroom
1:00 PM

Test-Design Based Thinking For Fun and Profit

Presented by: Jenna Charlton, Jenny Bramble
Time: Tuesday 1:00 PM - 5:00 PM

Test design-based thinking is critical at every level of software development, starting at the user story and continuing until the code has been deployed to production. Testers, developers, designers, and product owners all benefit from understanding the basic techniques for developing good test...

Room: ZambeziTrack: Software QualityTags: Other, TestingFormat: PreCompilerLevel: Introductory and overview

Event Streaming, Catch of the Day!

Presented by: Barry Tarlton, David Day
Time: Tuesday 1:00 PM - 5:00 PM

Have you heard enough event streaming fish stories to fill a cooler? Are you ready to wade in deeper and lure out some new skillz on event-driven architectures? Come join our catch-of-the-day session to experience first-hand designing and building an event-driven solution from start to finish. We'll...

Room: Nile/OrangeTrack: DataFormat: PreCompilerLevel: Intermediate

Rea11y Simple #A11y: A Focused Accessibility Workshop

Presented by: Chris DeMars
Time: Tuesday 1:00 PM - 5:00 PM

Accessibility on the web is increasing in visibility, yet some web creators are still unfamiliar with how to create an amazing, accessible user experience. Spoiler alert, it starts with design, but what happens after that? In this workshop, I will walk the attendees through a site that has multiple...

Room: Salon A/HTrack: Web/Front-EndTags: Design (UI/UX/CSS), OtherFormat: PreCompilerLevel: Introductory and overview

Create a Cloud Environment with Terraform and Ansible

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

Hashicorp Terraform allows you to define your infrastructure as code. You write code to define systems, networks, security groups, firewalls, and more, making standing up an environment repeatable and reusable. Red Hat Ansible lets you remotely interact with those systems you stood up, configuring...

Room: Salon E/DTrack: DevOpsTags: CloudFormat: PreCompilerLevel: Introductory and overview

Build Your Own Portable Gaming System - Part 2

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

Looking for a portable gaming system that you can hack on?  Want to learn how to solder and assemble your own circuit board?  Perhaps you want to re- experience the classic games and computer systems of your childhood.  Maybe you want to make and process CD-quality audio from a variety of...

Room: Portia/WisteriaTrack: HardwareTags: HardwareFormat: PreCompilerLevel: Introductory and overview

From idea to physical series: A basic overview of the world of CAD and 3D Printing (Tues)

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
1:30 PM

Intro to Bluefruit Circuit Python (Tues)

Presented by: Greg Huber
Time: Tuesday 1:30 PM - 2:30 PM

Want to learn how to make blinky light or beepy noise things? Or.. Possibly something a little more ambitious? Learn how to code the Adafruit Bluefruit Circuit Playground in the Maker Space. Purchase the Bluefruit project kit on Eventbrite where you bought your CodeMash ticket (limited...

Room: MangroveTrack: HardwareFormat: Maker SpaceLevel: Introductory and overview
2:00 PM

From idea to physical: A demo of how to make CAD models in Rhino3d. (Tues)

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
3:00 PM

Learn to Solder (Tues)

Presented by: Jameson Hampton
Time: Tuesday 3:00 PM - 4:00 PM

Attend this session to learn how to solder electronic components by assembling a simple LED badge. *** A paid ticket is required for this session. It can be purchased on Event Brite where you bought your CodeMash ticket. Even if you’re a total beginner, don’t be intimidated: anyone can learn...

Room: MangroveTrack: HardwareFormat: Maker SpaceLevel: Introductory and overview
4:00 PM

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

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker Space

Wednesday

7:00 AM

Breakfast

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

Room: Kilamanjaro Ballroom
8:00 AM

Prepare Your ASP.NET Core Application for 🚀 Liftoff: Hardening Your Applications for Production 1/2

Presented by: Kevin Griffin, Kendall Miller
Time: Wednesday 8:00 AM - 12:00 PM

You're about to push your latest project out to the launch pad - nearly every feature is complete, it's quick, and you're excited for launch day. But are you ready to achieve orbit and stay there safely? * Will it still be responsive when everyone uses it at the same time? * Do you have enough...

Room: ZambeziTrack: DevOpsTags: .NET, Cloud, OtherFormat: PreCompilerLevel: Intermediate

The Demystifying Docker DOJO

Presented by: Barry Tarlton, Mark Ramsey
Time: Wednesday 8:00 AM - 12:00 PM

Hearing all about the container craze, but haven’t had time to really learn about it yet? Well, this session has you covered. Come roll up your sleeves and get ready to learn all about Docker in this hands on session. There will be no long pontificating about how Docker is better than other...

Room: Nile/OrangeTrack: ArchitectureFormat: PreCompilerLevel: Intermediate

Foundations for the New DBA

Presented by: Peter Shore
Time: Wednesday 8:00 AM - 12:00 PM

It doesn’t matter if you are a Junior DBA, an accidental DBA or all the way up to a Senior DBA, the infrastructure your SQL Server environment runs on is important. Many among the DBA community came in as developers or perhaps directly into database administration roles it is equally possible that...

Room: Salon A/HTrack: DataFormat: PreCompilerLevel: Introductory and overview

IoT from Sensing to Insights Workshop

Presented by: Brandon Lewis, Christopher Judd
Time: Wednesday 8:00 AM - 12:00 PM

In today’s world, everything from tooth brushes to cars are connected to the internet and collecting data from sensors. Having the ability to capture the data and turn them into actionable insights can improve efficiencies, reduce cost and increase safety. Creating a IoT solution requires a lot of...

Room: Salon E/DTrack: HardwareTags: Cloud, HardwareFormat: PreCompilerLevel: Introductory and overview

Realizing The Benefits Of Container DevSecOps With AWS

Presented by: James Strong, Colin Detwiller, Matthew Garber
Time: Wednesday 8:00 AM - 12:00 PM

Attendees will learn how to set up, harden, & secure a container pipeline in AWS in this workshop using no servers for that pipeline. Please attend, If you’re interested in integrating security and compliance into a container pipeline to realize the benefits of DevSecOps. We will be using these...

Room: CypressTrack: SecurityTags: SecurityFormat: PreCompilerLevel: Intermediate

Let's play!

Presented by: Jean Lange, Remy Porter
Time: Wednesday 8:00 AM - 12:00 PM

Have you become a feral person who doesn’t remember how to interact with other humans? Let’s exercise those interaction muscles by playing some improv games! You will practice cheerfully celebrating failure, figuring out when it’s your turn to talk or listen, and negotiating uncertainty - and...

Room: Indigo BayTrack: Teams/Leadership/The Future of WorkTags: Soft Skills/BusinessFormat: PreCompilerLevel: Introductory and overview
8:30 AM

A Kid's Introduction to 3D Modeling (Weds)

Presented by: Brian Carnes
Time: Wednesday 8:30 AM - 11:55 AM

This session is targeted for children. All ages of children are welcome (with a responsible adult). We will tour the maker lab and talk about the exciting world of 3D printing. We will look at the printers as well as models made on them and pass around lots of things. We will also go over basics of...

Room: Guava/TamarindTrack: KidzMashFormat: Maker SpaceLevel: Introductory and overview
9:00 AM

Maker Museum and Open Lab (Weds)

Presented by: Greg Huber
Time: Wednesday 9:00 AM - 5:00 PM

Come visit the Maker Museum and Open Lab, in the Mangrove room. You will be able to: Learn to solder Learn to tinker on hardware and develop software to run sketches using Circuit Python Check out different projects Hang out and meet with other Makers and see what they are building or working...

Room: MangroveTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
10:00 AM

Intro to Bluefruit Circuit Python (Weds)

Presented by: Greg Huber
Time: Wednesday 10:00 AM - 11:00 AM

Want to learn how to make blinky light or beepy noise things? Or.. Possibly something a little more ambitious? Learn how to code the Adafruit Bluefruit Circuit Playground in the Maker Space. Purchase the Bluefruit project kit on Eventbrite where you bought your CodeMash ticket (limited...

Room: MangroveTrack: HardwareFormat: Maker SpaceLevel: Introductory and overview
12:00 PM

Lunch

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

Room: Kilamanjaro Ballroom
1:00 PM

Prepare Your ASP.NET Core Application for 🚀 Liftoff: Hardening Your Applications for Production 2/2

Presented by: Kevin Griffin, Kendall Miller
Time: Wednesday 1:00 PM - 5:00 PM

Part 2 of "Prepare Your ASP.NET Core Application for 🚀 Liftoff: Hardening Your Applications for Production"

Room: ZambeziTrack: DevOpsFormat: PreCompilerLevel: Intermediate

Decouple and Scale Applications with Queues

Presented by: Curtis Darst
Time: Wednesday 1:00 PM - 5:00 PM

Queues are not just for theme park rides. Understanding the process of decoupling your application to support massive scale. Session includes discussion and examples around queue type, security, delivery, DLQ, and integration with your existing applications. Workshop includes a hands-on development...

Room: Nile/OrangeTrack: Programming PrinciplesTags: CloudFormat: PreCompilerLevel: Advanced

Freaky-Fast Full Stack with the FERN Stack

Presented by: Keith Kurak
Time: Wednesday 1:00 PM - 5:00 PM

Can you code, build, and deploy a full-stack app with a web, iOS, and Android front-end in four hours? If it's possible, you'll at least have a fighting chance with the FERN stack: Firebase, Expo, and React Native. This fast-paced session will walk you through writing a messaging app front-end in...

Room: Salon E/DTrack: MobileTags: Javascript, MobileFormat: PreCompilerLevel: Introductory and overview

Learning Feedback with LEGO: The Building Blocks of Giving and Receiving Feedback

Presented by: Arthur Doler
Time: Wednesday 1:00 PM - 5:00 PM

You dread your annual review time. You cringe at retrospectives. You wince in the face of a 360 Review. You don't like feedback - and you're not alone. Receiving feedback is hard, and when we ask for help with it we just get more feedback. On top of that, your brain doesn't like feedback, and it has...

Room: CypressTrack: Teams/Leadership/The Future of WorkTags: Soft Skills/BusinessFormat: PreCompilerLevel: Introductory and overview

From idea to physical series: A basic overview of the world of CAD and 3D Printing (Weds)

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
1:30 PM

Learn to Solder (Weds)

Presented by: Jameson Hampton
Time: Wednesday 1:30 PM - 2:30 PM

Attend this session to learn how to solder electronic components by assembling a simple LED badge. *** A paid ticket is required for this session. It can be purchased on Event Brite where you bought your CodeMash ticket. Even if you’re a total beginner, don’t be intimidated: anyone can learn to...

Room: MangroveTrack: HardwareFormat: Maker SpaceLevel: Introductory and overview
2:00 PM

From idea to physical: A demo of how to make CAD models in Rhino3d. (Weds)

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
4:00 PM

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

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker Space
5:00 PM

How would you print that? (Panel) (Weds)

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
7:00 PM

Welcome Reception

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

Room: Grand Hall

Thursday

7:00 AM

Breakfast

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

Room: Kilamanjaro Ballroom
8:00 AM

Modern Cross-Platform Development with .NET 6

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

Slated for Nov 2021, .NET 6 ushers in modern development stacks and polished tooling throughout much of the .NET ecosystem. With .NET MAUI, developers get to build native cross-platform apps for mobile & desktop from single codebase. With Blazor component model, C# can power modern web apps on the...

Room: ZambeziTrack: ArchitectureFormat: General SessionLevel: Intermediate

Leadership is Not Management, Expectations Versus Reality.

Presented by: Stacie Bacon
Time: Thursday 8:00 AM - 9:00 AM

Moving from the role of a software engineer to a technology leader is both a rewarding and challenging experience. In this session, I will share helpful tips, strategies, resources, and insights regarding the shift into leadership as I pull back the curtain on my journey going from expert doer to...

Room: Nile/OrangeTrack: Teams/Leadership/The Future of WorkFormat: General SessionLevel: Introductory and overview

The Art of Readable Code: Rethink Your Approach to Coding

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

We all have a lofty goal: programming style as documentation. Inspired by Steve McConnel’s “Code Complete,” Uncle Bob’s “Clean Code,” and Andrew Hunt’s “The Pragmatic Programmer,” this session will: • Review some best practices for writing code in a style that’s easy to...

Room: Salon A/HTrack: Programming PrinciplesTags: .NET, OtherFormat: General SessionLevel: Introductory and overview

Dark UX Patterns

Presented by: Vitaliy Matiyash
Time: Thursday 8:00 AM - 9:00 AM

Congratulations! You are the 1,000,000th visitor to our website. Click here to redeem your prize! Just provide your date of birth and phone number to get started. Learn about Dark UX Patterns, how they work, how they trick you and what companies are the worst offenders. Roach Motel, Privacy...

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

Life in the Fastlane: App Store Deployments That Won't Make You Lose Your Mind

Presented by: Keith Kurak
Time: Thursday 8:00 AM - 9:00 AM

Imagine deploying your shiny new app to the Apple App Store- creating certs, uploading your app to Testflight, adding testers, taking screenshots on four different devices, filling in dozens of fields on the store description, clicking through EULA’s, and resubmitting five times because the...

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

The Science of Testing

Presented by: Thomas Haver
Time: Thursday 8:00 AM - 9:00 AM

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

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

Watch How The Giants Fall: Learning from Bug Bounty Results

Presented by: John Melton
Time: Thursday 8:00 AM - 9:00 AM

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: Indigo BayTrack: SecurityTags: SecurityFormat: General SessionLevel: Introductory and overview
8:30 AM

A Kid's Introduction to 3D Modeling (Thurs)

Presented by: Brian Carnes
Time: Thursday 8:30 AM - 12:00 PM

This session is targeted for children. All ages of children are welcome (with a responsible adult). We will tour the maker lab and talk about the exciting world of 3D printing. We will look at the printers as well as models made on them and pass around lots of things. We will also go over basics of...

Room: Guava/TamarindTrack: KidzMashFormat: Maker Space
9:00 AM

Maker Museum and Open Lab (Thurs)

Presented by: Greg Huber
Time: Thursday 9:00 AM - 5:00 PM

Come visit the Maker Museum and Open Lab, in the Mangrove room. You will be able to: Learn to solder Learn to tinker on hardware and develop software to run sketches using Circuit Python Check out different projects Hang out and meet with other Makers and see what they are building or working...

Room: MangroveTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
9:15 AM

Testing 101 for Devs

Presented by: Jenna Charlton
Time: Thursday 9:15 AM - 10:15 AM

In Agile, quality has become a team responsibility. Increasingly developers and non-testers are being asked to test and "shift left" but are rarely given the tools to ensure their testing is up to snuff. This often results in wasted time and effort and costly bugs. In this session we’ll cover some...

Room: ZambeziTrack: Software QualityFormat: General SessionLevel: Introductory and overview

Asynchronous JavaScript: Livin' On A Prayer

Presented by: Bob Fornal
Time: Thursday 9:15 AM - 10:15 AM

There is a unique world where Single-Threaded JavaScript manages to be much more. JavaScript interacts with its environment in ways that allow it to handle Asynchronous activities. Using several detailed code examples, we will examine these examples in a unique way to show how these interactions...

Room: Salon A/HTrack: Programming PrinciplesTags: JavascriptFormat: General SessionLevel: Introductory and overview

Regex is for .*

Presented by: Jean Lange
Time: Thursday 9:15 AM - 10:15 AM

Regular expressions are a powerful tool available to coders in many programming languages - but they’re so cryptic and hard to read/work with! Let’s explore what they can do for you and where you might want to use them. Then we’ll dive into regex101.com and the regex crossword for practical...

Room: Salon E/DTrack: Programming PrinciplesFormat: General SessionLevel: Introductory and overview

Effective Data Visualization

Presented by: David Giard
Time: Thursday 9:15 AM - 10:15 AM

We spend much of our time collecting and analyzing data. That data is only useful if it can be displayed in a meaningful, understandable way. Yale professor Edward Tufte presented many ideas on how to effectively present data to an audience or end user. In this session, I will explain some of...

Room: Aloeswood / LeopardwoodTrack: DataFormat: General SessionLevel: Introductory and overview

End the Stigma: Become a Mental Health Ally

Presented by: Matt Williams
Time: Thursday 9:15 AM - 10:15 AM

It is estimated that in the US, approximately one in five will experience mental illness each year. The incidence among IT professionals is likely higher -- a Japanese study of Software Engineers found that 32% of the participants suffered from depression or other mental illness. And yet......

Room: Sagewood / ZebrawoodTrack: Teams/Leadership/The Future of WorkTags: Other, Soft Skills/Business, Diversity/Equity/InclusionFormat: General SessionLevel: Introductory and overview

The Four Principles of Accessibility

Presented by: Homer Gaines
Time: Thursday 9:15 AM - 10:15 AM

Within the WCAG 2.1, web-accessible content is broken into four principles collectively referred to as POUR. This acronym stands for Perceivable, Operable, Understandable, and Robust. These four areas specifically target areas where users have the most trouble when accessing digital content and...

Room: CypressTrack: Web/Front-EndTags: Diversity/Equity/InclusionFormat: General SessionLevel: Intermediate

Building Android for Everyone

Presented by: Sierra OBryan
Time: Thursday 9:15 AM - 10:15 AM

Accessibility creates a better experience for everyone. Jetpack Compose simplifies development and can help us more easily build more accessible apps. In this talk, we’ll dive into some common use cases, Android Accessibility APIs, and compare these to the accessibility tools available in Jetpack...

Room: Indigo BayTrack: MobileTags: Mobile, Diversity/Equity/InclusionFormat: General SessionLevel: Introductory and overview
10:00 AM

Intro to Bluefruit Circuit Python (Thurs)

Presented by: Greg Huber
Time: Thursday 10:00 AM - 11:00 AM

Want to learn how to make blinky light or beepy noise things? Or.. Possibly something a little more ambitious? Learn how to code the Adafruit Bluefruit Circuit Playground in the Maker Space. Purchase the Bluefruit project kit on Eventbrite where you bought your CodeMash ticket (limited...

Room: MangroveTrack: HardwareFormat: Maker SpaceLevel: Introductory and overview
10:30 AM

Building Accessible Web Apps

Presented by: Cory House
Time: Thursday 10:30 AM - 11:30 AM

Are your apps accessible? Can a blind user navigate your app with a screenreader? Can the colorblind consume your content? Since 2017, multiple US court cases have ruled that the Americans with Disabilities Act applies to websites and mobile apps. So there are legal risks to consider as well. In...

Room: ZambeziTrack: Software QualityTags: Design (UI/UX/CSS), Testing, Diversity/Equity/InclusionFormat: General SessionLevel: Introductory and overview

Are You Ready for a Senior Role?

Presented by: Jenny Bramble
Time: Thursday 10:30 AM - 11:30 AM

Moving from being a mid level engineer a senior role can feel like a huge leap--especially when your new responsibilities aren't well defined. What does it mean to embrace a senior role? It's not just about experience and years on the job; it's an entire mindset shift. Jenny Bramble, Director of...

Room: Nile/OrangeTrack: Teams/Leadership/The Future of WorkTags: LeadershipFormat: General SessionLevel: Intermediate

The definitive deep dive into the .git folder

Presented by: Rob Richardson
Time: Thursday 10:30 AM - 11:30 AM

What's in the .git folder? How are commits stored? How do branches work? We'll dive deep into the objects folder, unpack commits, look at the types of DAG nodes, examine object content, and build a complete visualization of the stored content. We'll also quickly look through Git hooks, Git config,...

Room: Salon A/HTrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Advanced

Hacking Your Vacation: Using Data for Fun

Presented by: Becky Gandillon
Time: Thursday 10:30 AM - 11:30 AM

Data can be powerful, meaningful, AND fun. Making data-driven decisions can level up your family vacation from awful to awesome. In this session, attendees will walk through a specific example showing how to analyze various data sources to avoid crowds, save money, and piece together a Disney World...

Room: Salon E/DTrack: DataFormat: General SessionLevel: Introductory and overview

Let's Talk Bluetooth

Presented by: Leah Vogel
Time: Thursday 10:30 AM - 11:30 AM

Bluetooth has its own lingo. Don't know much about it? Want to learn to speak it? You’ve come to the right place! In this talk, you will hear a high-level overview of Bluetooth Low Energy and explain how it differs from Bluetooth Classic (BR / EDR). You will become familiar with the terminology...

Room: Aloeswood / LeopardwoodTrack: HardwareTags: Hardware, OtherFormat: General SessionLevel: Introductory and overview

Where has Jane Gone?

Presented by: Karen Linden
Time: Thursday 10:30 AM - 11:30 AM

Have you ever been told if you were like that male developer over there you get somewhere? Have you removed you first name from your Resume to get more interviews? Have you been excluded from a meeting because afraid that they will offend you? Have you ever been called bossy? Have you ever...

Room: Sagewood / ZebrawoodTrack: Teams/Leadership/The Future of WorkTags: Diversity/Equity/InclusionFormat: General SessionLevel: Introductory and overview

Common Accessibility Pitfalls: Climbing out, when you fall in.

Presented by: Chris DeMars
Time: Thursday 10:30 AM - 11:30 AM

You, your users, and Alice from Wonderland have something in common. At one point, everyone has fallen into a hole of perplexity, confusion, and sometimes hysterical madness. Unlike Alice, we can navigate ourselves and our users around the chaotic abyss that we call the web. Shipping inaccessible...

Room: CypressTrack: Web/Front-EndTags: Design (UI/UX/CSS), OtherFormat: General SessionLevel: Introductory and overview

What a global pandemic can tell you about better DevOps practices

Presented by: Jeremy Meiss
Time: Thursday 10:30 AM - 11:30 AM

In early 2020 a global pandemic set in motion events which none of us could predict. With anonymous data collected from 900k+ devs, 50K orgs, and 60m+ builds/mo we found some interesting insights into better DevOps practices. Since then, we've seen even more interesting activities happen, which shed...

Room: Indigo BayTrack: DevOpsTags: Other, Leadership, Soft Skills/BusinessFormat: General SessionLevel: Intermediate
11:30 AM

Lunch

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

Room: Kilamanjaro Ballroom
11:45 AM

10 Ways to Write Clean JavaScript Code

Presented by: Avindra Fernando
Time: Thursday 11:45 AM - 12:45 PM

Written in just 10 days, JavaScript continues to be very successful in modern software development. The flexibility of JavaScript empowered rapid innovation in software. But, this flexibility comes at a cost of readable, maintainable, and scalable JavaScript code. Over the years, after working...

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

Dungeons, Dragons, and Graph Databases

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

Are you an adventurer? Do you want gold? Experience? Levels? Of course you do! And where do you get these things? The dungeon, where else? That wonderful container of all things adventurous! But, unfortunately, dungeons aren't setup for the convenience of adventurers who wish to extract these fine...

Room: Nile/OrangeTrack: DataTags: OtherFormat: General SessionLevel: Introductory and overview

The Elegance of “The Simplest Possible Thing”: Applying Simplicity Principles to Complex Problems

Presented by: Nate Berent-Spillson
Time: Thursday 11:45 AM - 12:45 PM

Software development is complex work. Business requirements, platforms, and technology itself are all complex elements. Through all this complexity, software developers often try to create complex solutions that meet all the requirements at once. Similarly, when faced with a complex problem, they...

Room: Salon E/DTrack: Programming PrinciplesTags: .NET, Cloud, Functional Programming, Java, Javascript, Leadership, TestingFormat: General SessionLevel: Intermediate

Explain DevOps To Me Like I’m Five: DevOps for Managers

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

Organizations and leaders are often supportive of DevOps, but they don’t always understand what DevOps is and what it will change. It isn’t a one-size-fits-all issue; different environments need different benefits from a DevOps transformation. Join Gene Gotimer as he explains the most important...

Room: Aloeswood / LeopardwoodTrack: DevOpsFormat: General SessionLevel: Introductory and overview

Finding Your Flow With Kanban

Presented by: Jeremy Jarrell
Time: Thursday 11:45 AM - 12:45 PM

More and more teams are discovering that they're more productive and more effective with Kanban. Many of these teams who choose Kanban do so out of a desire to work in an agile way, but without the overhead of sprints. But, if your team has adopted Kanban simply because there are no sprints, then...

Room: Sagewood / ZebrawoodTrack: Teams/Leadership/The Future of WorkTags: Leadership, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

The Human Side to Testing

Presented by: Amanda Perkins
Time: Thursday 11:45 AM - 12:45 PM

We’re known for breaking things and testing the limits, and patience, of our team and our systems. We advocate for quality in all things and we advocate for the end user. But, none of us actually think about how our varied backgrounds influence what we do and how we test. In this session...

Room: CypressTrack: Software QualityFormat: General SessionLevel: Introductory and overview

Automating & Monitoring Seedling Growth in the Cloud Using IoT, Messaging & Micronaut

Presented by: Todd Sharp
Time: Thursday 11:45 AM - 12:45 PM

It all started with a small project to pass the time during The Great Quarantine of 2020. I bought some chiles from the local farmer’s market (with proper face coverings and social distancing, of course), fermented my first batch of hot sauce, and shared it with a few friends around the globe. I...

Room: Indigo BayTrack: HardwareTags: Cloud, Hardware, Java, JavascriptFormat: General SessionLevel: Introductory and overview
1:00 PM

Protecting your API with OAuth

Presented by: Dan Moore
Time: Thursday 1:00 PM - 2:00 PM

OAuth is a well known standard and is useful for delegating authentication and authorization decisions to a central identity provider. As a developer, you’ve given a token when a grant completes. But what happens then? This talk will discuss client and server side code and logic needed when...

Room: ZambeziTrack: ArchitectureTags: Javascript, SecurityFormat: General SessionLevel: Introductory and overview

Sabotage Productivity the CIA Way

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

In 1944, the Office of Strategic Services (OSS), predecessor of the CIA, published the Simple Sabotage Field Manual -- a guide for resistance forces to characterize simple sabotage, outline its possible effects, and to present suggestions for inciting and executing it. Ironically, many of the...

Room: Salon A/HTrack: Teams/Leadership/The Future of WorkTags: Other, Leadership, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Rock-Solid Components with TypeScript and GraphQL

Presented by: Mat Warger
Time: Thursday 1:00 PM - 2:00 PM

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

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

Implementing an Event Sourcing strategy on Azure

Presented by: Eldert Grootenboer
Time: Thursday 1:00 PM - 2:00 PM

In recent years the Event Sourcing pattern has become increasingly popular. By storing a history of events it enables us to decouple the storage of data from the implementation of the logic around it. And we can rebuild the state of our data to any point in time, giving us a wide range of...

Room: Aloeswood / LeopardwoodTrack: Programming PrinciplesTags: .NET, CloudFormat: General SessionLevel: Intermediate

Enterprise Observability with OpenTelemetry

Presented by: Christopher Judd
Time: Thursday 1:00 PM - 2:00 PM

Enterprise applications are complex. A transaction starting in the browser will go through proxies, api gateways, security appliances, application performance monitoring tools, logs, microservices and more microservices. Historically there has been no standard way to get observability and...

Room: Sagewood / ZebrawoodTrack: DevOpsTags: Cloud, Java, JavascriptFormat: General SessionLevel: Introductory and overview

Who’s Afraid of the Big Bad Bluetooth?

Presented by: Leah Vogel
Time: Thursday 1:00 PM - 2:00 PM

With the buzz around IoT devices, Bluetooth Low Energy technology has become increasingly popular. Apple's CoreBluetooth has been around since iOS 5, and offers a host of utility APIs. This talk will cover the basics of Bluetooth LE technology and its history and terminology. Attendees will learn...

Room: CypressTrack: MobileTags: MobileFormat: General SessionLevel: Intermediate

Time traveling in the cloud. Time series analytics with Microsoft Azure.

Presented by: Sam Vanhoutte
Time: Thursday 1:00 PM - 2:00 PM

The data collected in IoT scenarios are often thought of as a ‘time series”. Through this data it’s possible to understand the past and use this data to anticipate the future. But time traveling is never straight forward. That’s why in this session Sam will walk you through the processing of...

Room: Indigo BayTrack: DataTags: .NET, Cloud, Big Data, PythonFormat: General SessionLevel: Intermediate

From idea to physical series: A basic overview of the world of CAD and 3D Printing (Thurs)

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
1:30 PM

Learn to Solder (Thurs)

Presented by: Jameson Hampton
Time: Thursday 1:30 PM - 2:30 PM

Attend this session to learn how to solder electronic components by assembling a simple LED badge. *** A paid ticket is required for this session. It can be purchased on Event Brite where you bought your CodeMash ticket. Even if you’re a total beginner, don’t be intimidated: anyone can learn to...

Room: MangroveTrack: HardwareFormat: Maker SpaceLevel: Introductory and overview
2:00 PM

From idea to physical: A demo of how to make CAD models in Rhino3d. (Thurs)

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker Space
2:15 PM

DAPR & Hot Chocolate GraphQL | A Tale of Turning .NET Monoliths into Manageable Microservices

Presented by: United Wholesale Mortgage, LLC (Sponsor)
Time: Thursday 2:15 PM - 3:00 PM

(Presented by Tom Rodgers) A high-level tutorial of the migration of monoliths to microservices, utilizing the latest and greatest technologies. Presenter Tom Rodgers is a Senior Software Developer that has helped drive this transformation at United Wholesale Mortgage, the #1 wholesale mortgage...

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

Rethinking Cross Platform with Ionic & React

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

(Presented by Mike Hartington) Building "cross-platform" apps is often a loaded term. With previous experiences defining how people think about the subject. But times have changed, and so has our technology for building cross-platform. In this talk, we'll look at how we can use React, along with...

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

`create table user` considered harmful: reasons you should outsource your aut

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

(Presented by Dan Moore) When you are starting to build or revamp an application, a way for users to register and log in is almost always necessary but not sufficient. No one uses an application for the sign-in screen, after all! While some teams and applications are functional with a local user...

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

Using Algorithms to Solve Hard Problems

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

(Presented by Matt Norby) When faced with a difficult coding problem and a deadline, it's tempting to copy someone else's code without really understanding it, or to lean on what we already know. Often, there are better solutions. By studying algorithms, we gain new problem-solving and evaluation...

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

Launching Your Own Free Minecraft Server in the Cloud

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

(Presented by Todd Sharp, Cloud Developer Evangelist) Have you ever created the perfect Minecraft world and wished that you could share that world with your friends and family that don't live near you? What about customizing every single aspect of the game - mods, difficulty, weather, spawn rates,...

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

AI/ML and drones

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

(Presented by Godfrey Nolan) This session walks you through how our interns took some video from a drone and turned it into an Android App to count cars in a parking lot. This is a practical introduction to drone SDKs, Tensorflow and how to combine the two to do object detection on your Android...

Room: Indigo BayTrack: Sponsor SessionFormat: Sponsor SessionLevel: Introductory and overview
3:30 PM

Designing Reusable Components…That Are Actually Reusable

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

Modern UIs are often composed of reusable components written in React, Vue, Angular, whatever. In these modern technologies, creating a component is easy. However, creating a truly reusable component is hard. In this session, we'll explore the tradeoffs inherent in reusable component design, and...

Room: ZambeziTrack: UI/DesignTags: JavascriptFormat: General SessionLevel: Introductory and overview

Failing Successfully

Presented by: Cassandra Faris
Time: Thursday 3:30 PM - 4:30 PM

Failure is normal. It’s so normal that many software development teams encourage people to fail and fail fast. Failure is also scary. It makes us feel vulnerable. We may even worry that our jobs, relationships, or goals are on the line. Yet we hear countless stories of people turning failure into...

Room: Nile/OrangeTrack: Teams/Leadership/The Future of WorkTags: Other, Leadership, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Using SVG to create responsive, interactive and animatable graphics

Presented by: Ben Hoffmann
Time: Thursday 3:30 PM - 4:30 PM

A message is often best stated visually. Traditional methods of designing graphics, diagrams, and charts produce something that retains its aspect ratio, regardless of the size it is viewed. This may work fine for print and slide media, but fails to take advantage of viewing digital content on...

Room: Salon E/DTrack: Web/Front-EndTags: Design (UI/UX/CSS), Javascript, MobileFormat: General SessionLevel: Advanced

Introduction to Functional Programming: It Isn’t So Scary

Presented by: Justin Pihony
Time: Thursday 3:30 PM - 4:30 PM

Functional programming has been around for decades, yet only recently has it become mainstream. It yields simpler, terser code which is easier to both test and debug, among other benefits. However it is still often seen as unapproachable, with zealots touting words like monad, functor, and other,...

Room: Aloeswood / LeopardwoodTrack: Programming PrinciplesTags: Functional Programming, JavaFormat: General SessionLevel: Introductory and overview

Keeping your Kubernetes Cluster Secure

Presented by: Gene Gotimer
Time: Thursday 3:30 PM - 4:30 PM

Many organizations are shifting to containers and Kubernetes, and that move means learning new ways to secure their environments. Kubernetes clusters have to be hardened at different levels. We have to consider the nodes where the Kubernetes control plane is running. We also need to secure the...

Room: Sagewood / ZebrawoodTrack: DevOpsTags: SecurityFormat: General SessionLevel: Intermediate

Automate Mobile Application Testing in the Cloud with Microsoft App Center

Presented by: Aaron LaBeau
Time: Thursday 3:30 PM - 4:30 PM

Every year new mobile devices are released for iOS and Android. With the list of supported devices growing, testing applications on physical devices is becoming more challenging and costly. In this session, Aaron will review mobile application testing strategies, frameworks, and solutions around...

Room: CypressTrack: MobileTags: Mobile, TestingFormat: General SessionLevel: Introductory and overview

Exploring the Reactive Landscape

Presented by: Mary Grygleski
Time: Thursday 3:30 PM - 4:30 PM

As Java is an object-oriented language that inherently supports the imperative programming style, asynchronicity presents a challenge that can turn the code into nightmare. One way to deal with the complexity of asynchronicity is to introduce reactivity onto the coding level (reactive programming),...

Room: Indigo BayTrack: ArchitectureTags: Functional Programming, JavaFormat: General SessionLevel: Introductory and overview
4:00 PM

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

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker Space
4:45 PM

Monolith Decomposition and Evolutionary Architectures: How to Safely Modernize Legacy Systems

Presented by: Ben Hoffman
Time: Thursday 4:45 PM - 5:45 PM

Replacing and re-engineering a new system to replace a legacy or monolithic system, in its entirety, is risky. And after significant investment, the new system often suffers from many of the same issues the old system had. When you combine long development times with big-bang-style deployment, the...

Room: ZambeziTrack: ArchitectureTags: .NET, CloudFormat: General SessionLevel: Intermediate

Better Interviews, Better Work

Presented by: John Lange
Time: Thursday 4:45 PM - 5:45 PM

Being an interviewer for technical jobs is hard. Checking for technical competency can feel impossible. Asking questions that start with "tell me about a time when" can feel like it has no value. And for many people giving interviews, there is no training; you're left to figure it out on your...

Room: Nile/OrangeTrack: Teams/Leadership/The Future of WorkTags: Leadership, Soft Skills/Business, Diversity/Equity/InclusionFormat: General SessionLevel: Intermediate

A Perfect Ten: The Data Model

Presented by: Leslie Andrews
Time: Thursday 4:45 PM - 5:45 PM

Do you know what makes a great data model? What does it mean to be Third Normal Form or a Star Schema? When would you use one over the other and why? How can you identify bad designs? Join Leslie Andrews for a discussion on good and bad data models, and learn what you should do in order to create a...

Room: Salon A/HTrack: DataFormat: General SessionLevel: Introductory and overview

Putting the FUN back in Fundamentals: Data Structures, Algorithms, and More!

Presented by: Matt Williams
Time: Thursday 4:45 PM - 5:45 PM

In this session, we will bring FUN back to Fundamentals as we: * Look at favorite data structures and algorithms from the 70s, 80s, and 90s: where are they today? You won't believe #7! * Discover why hashes aren't just for breakfast. * Discover the Lolrus' favorite data structure (hint: it's got...

Room: Salon E/DTrack: Programming PrinciplesTags: .NET, Functional Programming, Java, Javascript, Other, Ruby/Rails, PythonFormat: General SessionLevel: Intermediate

Making the most of your DevOps Artifacts

Presented by: Matthew Sheehan
Time: Thursday 4:45 PM - 5:45 PM

With greater emphasis placed on automating the creation of predictable software bundles, you may be asking what are DevOps artifacts and what can you do with them? Well, it turns out you can do many things with them. Artifacts can be the compiled output for your app deployment, or a Nuget or NPM...

Room: Aloeswood / LeopardwoodTrack: DevOpsTags: CloudFormat: General SessionLevel: Introductory and overview

Getting started with Kubenetes Policy Development

Presented by: Robert Sirchia
Time: Thursday 4:45 PM - 5:45 PM

This session is designed to get a user started in writing Kubernetes policies in Rust. We will, touch on what is a policy. How we are going to leverage Rust and Web Assembly to write our policy. What tools you will need to develop a policy. Build out a sample policy and test it on a local...

Room: CypressTrack: SecurityFormat: General SessionLevel: Intermediate

Connecting Systems that Never Planned for Each Other - An Introduction to Apache NiFi

Presented by: David Snyder
Time: Thursday 4:45 PM - 5:45 PM

Apache NiFi can be described as a Swiss army knife for data flow programming. Joe Witt, the creator of NiFi, describes it as a "broker between systems that never knew to plan for each other". This session will illuminate the main features of Apache NiFi, expand on the problems it is best suited...

Room: Indigo BayTrack: DataTags: Cloud, Big DataFormat: General SessionLevel: Introductory and overview
5:00 PM

How would you print that? (Thurs)

Presented by: Brian Carnes
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/TamarindTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
6:00 PM

Dinner

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

Room: Kilamanjaro Ballroom
7:30 PM

Party! - Desert Bar

Time: Thursday 7:30 PM - 12:00 AM

Room: Grand Hall
8:00 PM

Acoustic Jam Session

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

Room: Cypress

Party! - Carnival Games & Casino

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

Room: Portia/Wisteria

Friday

7:30 AM

Breakfast

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

Room: Kilamanjaro Ballroom
8:30 AM

Tribal Knowledge in Agile Teams

Presented by: Jeffrey Miller
Time: Friday 8:30 AM - 9:30 AM

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 knowledge resources in an...

Room: ZambeziTrack: Teams/Leadership/The Future of WorkTags: Leadership, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Crafting an interpreted programming language in 60 minutes

Presented by: Granville Schmidt
Time: Friday 8:30 AM - 9:30 AM

Are you curious how programming languages are designed and implemented? Do you have nightmares about the “magic” that happens when you run/compile your code? Have you ever wanted to create your own programming language from scratch? If you answered yes to any of these questions, then this...

Room: Nile/OrangeTrack: Programming PrinciplesTags: Functional Programming, OtherFormat: General SessionLevel: Advanced

Visualizing Code

Presented by: Matt Eland
Time: Friday 8:30 AM - 9:30 AM

What happens if we combine the fields of software architecture and data visualization? In this talk, we'll explore what git can tell us about software projects and the teams supporting them by looking at a variety of ways to visualize codebases. Over the course of the talk we'll examine an...

Room: Salon A/HTrack: DataTags: OtherFormat: General SessionLevel: Intermediate

Understanding Probabilistic Data Structures with 112,092 UFO Sightings

Presented by: Guy Royse
Time: Friday 8:30 AM - 9:30 AM

There are three reactions to the title of this talk: - What the heck’s a probabilistic data structure? - UFO Sightings… wha? - 112,092 is an oddly specific number. This is a talk about the first bullet point with the second thrown in just for fun. I like weird stuff—UFOs, Bigfoot, peanut...

Room: Salon E/DTrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview

Mission Impossible Prep: Testing with Cypress

Presented by: Bekah Hawrot Weigel
Time: Friday 8:30 AM - 9:30 AM

Your mission, should you choose to accept it, is to ship reliable code. The mission is no different than the others as developers; it's complex, smart, and maybe even seemingly impossible. With no time to waste, you start writing your tests. And with that, you know your mission will succeed. With...

Room: Sagewood / ZebrawoodTrack: Software QualityFormat: General SessionLevel: Introductory and overview

Web A11y Patterns and Pitfalls

Presented by: Robert Cochran
Time: Friday 8:30 AM - 9:30 AM

The internet is no longer an optional aspect of modern life. It is how many of us conduct business and maintain relationships. A tool as critical as the internet needs to be usable by everyone. It is our responsibility to create a good user experience for ALL users. This session aims to instill...

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

RediSearch: Completing the Beyond SQL Story with Search

Presented by: Brian Sam-Bodden
Time: Friday 8:30 AM - 9:30 AM

Do you automatically reach for a relational database for your application’s data needs? There is an unspoken impedance mismatch between expected rates of maturity between an application’s model and its data model. NoSQL/NewSQL and now “beyond SQL” solutions are often met with incredulity...

Room: Indigo BayTrack: DataTags: Big DataFormat: General SessionLevel: Introductory and overview

A Kid's Introduction to 3D Modeling (Fri)

Presented by: Brian Carnes
Time: Friday 8:30 AM - 12:00 PM

This session is targeted for children. All ages of children are welcome (with a responsible adult). We will tour the maker lab and talk about the exciting world of 3D printing. We will look at the printers as well as models made on them and pass around lots of things. We will also go over basics of...

Room: Guava/TamarindTrack: KidzMashFormat: Maker Space
9:00 AM

Maker Museum and Open Lab (Fri)

Presented by: Greg Huber
Time: Friday 9:00 AM - 3:00 PM

Come visit the Maker Museum and Open Lab, in the Mangrove room. You will be able to: Learn to solder Learn to tinker on hardware and develop software to run sketches using Circuit Python Check out different projects Hang out and meet with other Makers and see what they are building or working...

Room: MangroveTrack: CodeMashFormat: Maker SpaceLevel: Introductory and overview
9:45 AM

Building rugged DevOps pipelines with GitHub Actions

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

This session dives into using GitHub actions to build out robust DevOps pipelines. In the session, we'll implement an architecture to build a temporary dev environment, and then push the code changes through the pipeline to an end release into production. In addition to just getting the CI/CD...

Room: ZambeziTrack: DevOpsTags: .NET, CloudFormat: General SessionLevel: Intermediate

Effective React State: 7 Years of Lessons Learned

Presented by: Cory House
Time: Friday 9:45 AM - 10:45 AM

Managing React state is hard. Why? Because there are so many options to consider! Local state, reducers, custom hooks, context, and over a dozen third-party libraries. In this session, we’ll explore the lessons I’ve learned from managing complex state in React over the last seven years. I’ll...

Room: Nile/OrangeTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Intermediate

Consistent cloud environments with Infrastructure as Code

Presented by: Matthew Sheehan
Time: Friday 9:45 AM - 10:45 AM

Your SaaS app is doing great, but your cloud environment is growing more and more complex. After years of provisioning additional resources to keep it growing, nobody on the team remembers all of the dependencies anymore, and deployments are hitting snags because the development, testing, and...

Room: Salon A/HTrack: DevOpsTags: CloudFormat: General SessionLevel: Introductory and overview

The Case for GraphQL

Presented by: Kyle Schrade
Time: Friday 9:45 AM - 10:45 AM

We will be diving into why someone would want to use GraphQL and what are the benefits of using it. Starting from what is GraphQL and ending with how it can make your stack much more flexible and improve your day-to-day developer experience. We will look at many examples from our work at StockX that...

Room: Salon E/DTrack: Web/Front-EndTags: Design (UI/UX/CSS), Javascript, MobileFormat: General SessionLevel: Introductory and overview

Yarn Berry: a next generation package manager

Presented by: Michael Richardson
Time: Friday 9:45 AM - 10:45 AM

The recently released Yarn Berry (aka Yarn 2) brings a host of great new features for JavaScript developers. The slick new CLI, more readable output, clear errors, and significant enhancements to workspaces make Yarn Berry a solid upgrade from the already impressive Yarn 1. But with an incredible...

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

Ten Things Every Voice Application Should Do

Presented by: Jeff Blankenburg
Time: Friday 9:45 AM - 10:45 AM

In my experience building dozens of skills for Alexa, and working with hundreds of developers on their own voice applications, I've identified ten specific patterns that are common to the most successful of the bunch. This presentation will cover these ten topics, giving you the insight an...

Room: CypressTrack: UI/DesignTags: Cloud, Design (UI/UX/CSS), Testing, Diversity/Equity/InclusionFormat: General SessionLevel: Introductory and overview

Performance tuning for Azure Cosmos DB

Presented by: Hasan Savran
Time: Friday 9:45 AM - 10:45 AM

Azure Cosmos DB is a fully managed service that takes database administration off your hands. Fully Managed Database sounds good, but developers end up with some of the database administration work anyway. As a developer, you will be responsible for changing Indexing policies, configuring...

Room: Indigo BayTrack: DataTags: .NET, CloudFormat: General SessionLevel: Intermediate
10:00 AM

Intro to Bluefruit Circuit Python (Fri)

Presented by: Greg Huber
Time: Friday 10:00 AM - 11:00 AM

Want to learn how to make blinky light or beepy noise things? Or.. Possibly something a little more ambitious? Learn how to code the Adafruit Bluefruit Circuit Playground in the Maker Space. Purchase the Bluefruit project kit on Eventbrite where you bought your CodeMash ticket (limited...

Room: MangroveTrack: HardwareFormat: Maker SpaceLevel: Introductory and overview
11:00 AM

Lunch

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

Room: Kilamanjaro Ballroom

Let’s Build a VR Game! Oculus Quest 2 + Unity + C#

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

The Oculus Quest 2 has sold over 8 MILLION devices so far and is projected to sell 18-20 MILLION next year! For the first time VR has broken through the early adopter crowd and is increasingly becoming a mainstream consumer gaming and production device! What does that mean for you? Well you now...

Room: ZambeziTrack: HardwareTags: .NET, HardwareFormat: General SessionLevel: Introductory and overview

Supercharge Your ASP.NET Core Applications

Presented by: Kevin Griffin
Time: Friday 11:00 AM - 12:00 PM

For many developers, the transition from ASP.NET 4.0+ to ASP.NET Core was a minor change. Depending on your application's complexity, you could make a couple syntax changes and be fully upgraded within a couple of days. Transitioning from one version to another is just the beginning. ASP.NET Core...

Room: Nile/OrangeTrack: Web/Front-EndTags: .NETFormat: General SessionLevel: Intermediate

Finding Bigfoot with Redis + RediSearch

Presented by: Guy Royse
Time: Friday 11:00 AM - 12:00 PM

Bigfoot has been a staple of American folklore since the 19th century. Many are convinced that Bigfoot is real. Others suggest he’s merely a cultural phenomenon. And some just want to believe. There is even a group, the Bigfoot Field Researchers Organization, that tracks Bigfoot sightings and...

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

ChatOps and DevOps: How to Use Comms as Incident Response

Presented by: Pj Hagerty
Time: Friday 11:00 AM - 12:00 PM

The most important tool in your DevOps toolbox is communication. Without it, nothing can be accomplished, especially resolving incidents when they occur. In this talk, we will discuss how to use a comms platform to tie-in playbooks, integrate the DevOps processes in place, and bring together remote...

Room: CypressTrack: DevOpsFormat: General SessionLevel: Intermediate

Extending Spring Data and Spring Data Redis

Presented by: Brian Sam-Bodden
Time: Friday 11:00 AM - 12:00 PM

In this session, Brian will take you along for a journey into the codebases of Spring Data and Spring Data Redis to help you understand how to build your own annotation-based Spring Data extensions. Whether you are building a framework or a business/application-specific extension, understanding the...

Room: Indigo BayTrack: DataTags: Big Data, JavaFormat: General SessionLevel: Intermediate
12:15 PM

CSS Houdini - Just what CSS needed, more JavaScript

Presented by: John Lange
Time: Friday 12:15 PM - 1:15 PM

Coming soon to a browser near you is a brand new technology that will revolutionize your websites. Finally, JavaScript can be embedded into your CSS! CSS Houdini is new, exciting, lets you do some really cool things, and is going to change everything you know about layout and display in CSS. Like,...

Room: ZambeziTrack: Web/Front-EndTags: Design (UI/UX/CSS), JavascriptFormat: General SessionLevel: Intermediate

Stand Back; I'm going to try Data Science!

Presented by: Matt Eland
Time: Friday 12:15 PM - 1:15 PM

Curious about data science and its relation to software engineering? Want to know how to dabble in artificial intelligence or machine learning side projects before taking the plunge? Come check out this session. In this session we'll explore the types of machine learning tasks as I share my own...

Room: Nile/OrangeTrack: DataTags: Big DataFormat: General SessionLevel: Introductory and overview

Design Patterns for Loosely Coupled Applications in .NET

Presented by: Barry Stahl
Time: Friday 12:15 PM - 1:15 PM

Building loosely coupled applications is critical to creating solutions that follow good object oriented principles. These principles help make sure our applications are testable, maintainable and extensible. In this session we will explore several design patterns that are key to building...

Room: Salon A/HTrack: Programming PrinciplesTags: .NET, OtherFormat: General SessionLevel: Intermediate

Stop your instincts from ruining your career: the science behind emotional intelligence

Presented by: Natalie Hylton
Time: Friday 12:15 PM - 1:15 PM

According to the Center for Creative Leadership, 75% of careers are derailed for reasons related to emotional competencies, including inability to handle interpersonal problems, unsatisfactory team leadership in times of difficulty or conflict, or inability to adapt to change or elicit trust. This...

Room: Sagewood / ZebrawoodTrack: Teams/Leadership/The Future of WorkFormat: General SessionLevel: Introductory and overview

The Super Spectacular Interactive Event Driven Light Show

Presented by: Barry Tarlton
Time: Friday 12:15 PM - 1:15 PM

The ability to properly design and implement highly resilient event driven systems is critical in our data centric world. But getting one’s mind around the complex choreography of this data driven architecture can be absurdly difficult. By using a Raspberry Pi Kafka Cluster, light bars, and...

Room: CypressTrack: ArchitectureTags: Big Data, HardwareFormat: General SessionLevel: Intermediate

How to build an Android application with JetPack Compose and Kotlin

Presented by: Aaron LaBeau
Time: Friday 12:15 PM - 1:15 PM

The world of mobile development is constantly changing and evolving. Google's new JetPack Compose framework for Kotlin allows developers to write mobile applications quickly by using design principles from functional programming while keeping the learning curve down. In this session, Aaron LaBeau...

Room: Indigo BayTrack: MobileTags: MobileFormat: General SessionLevel: Introductory and overview
1:30 PM

Introducing the Next Generation to Coding | One Size Doesn't Fit All

Presented by: United Wholesale Mortgage, LLC (Sponsor)
Time: Friday 1:30 PM - 2:15 PM

(Presented by Jim Pacyga and Jonathan Ross) A crash course in the variety of ways you, as a parent, can introduce your child or children to the magical world of coding. This session will cover how to recognize and support your child’s critical thinking, problem-solving, and coding skills, using a...

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

Leveraging Technology at Rocket Mortgage (Fri)

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

(Presented by Cassandra Faris) Curious as to why you keep seeing the Rocket Companies at your software developer conferences? That’s because all 15 companies in our portfolio, ranging from Home Financing to Client Services, have at least one thing in common- we leverage technology to help people...

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

Blazor Stability Testing Tools for Bullet Proof Applications

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

(Presented by Ed Charbeneau) .NET in the browser may sound like Blazor's strength, however the story of Blazor testing may just be its biggest potential upside. In this session we'll discuss what makes Blazor an ideal candidate for: Unit Testing, Integration Testing, and Automated System Testing.

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

Observability Will Kill the Monitoring Star

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

(Presented by Scott Ernst) OpenTelemetry is gaining traction fast. Really fast. In the last year, it has risen to become the second most active Cloud Native Computing Foundation (CNCF) project behind only the undisputed queen that is Kubernetes. In this talk, we will dive into the observability...

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

The Art of Making Culture Stick

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

(Presented by Rebekah Billins) Building Sticky Culture: The glue for JP Morgan Chase's Columbus Asset Management Technology. Orange hair, memes, and arguments over Columbus' best ice cream are just some of the ingredients in Columbus Asset Management Technology's sticky culture. This session will...

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

A Fork in Your Career Road

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

(Presented by Steven Grant) Traveling through your career path, you will inevitably come across a fork in the road and will need to decide where your next step leads. On one path, continuing through technical excellence and becoming a key contributor to every project you touch. The other, a path...

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

Learn to Solder (Fri)

Presented by: Jameson Hampton
Time: Friday 1:30 PM - 2:30 PM

Attend this session to learn how to solder electronic components by assembling a simple LED badge. *** A paid ticket is required for this session. It can be purchased on Event Brite where you bought your CodeMash ticket. Even if you’re a total beginner, don’t be intimidated: anyone can learn to...

Room: MangroveTrack: HardwareFormat: Maker SpaceLevel: Introductory and overview
2:45 PM

Easy Domain Driven Design

Presented by: Ryan Foote
Time: Friday 2:45 PM - 3:45 PM

Software development is hard. Even with the best intentions, and the most deliberate design processes, we often end up mired in the “big ball of mud” scenario. Where modifications are tedious, enhancements are fraught with unknown side-effects, and troubleshooting is downright nasty. By...

Room: ZambeziTrack: ArchitectureFormat: General SessionLevel: Introductory and overview

You’re Not Just Tired: The Psychology of Burnout

Presented by: Arthur Doler
Time: Friday 2:45 PM - 3:45 PM

After the events of the last year, burnout has been on everyone’s minds. Are you feeling nostalgia for the days when your job wasn’t such a hassle? Do you find yourself struggling to care about your job… or anything at all? You may be wrestling with burnout.. But what exactly IS burnout? If...

Room: Nile/OrangeTrack: Teams/Leadership/The Future of WorkTags: Leadership, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Confessions of a TDD Late Adopter

Presented by: Jeffrey Miller
Time: Friday 2:45 PM - 3:45 PM

After two decades of rehashing Test Driven Development techniques, what’s left to say? A lot! Hear from a seasoned software developer and consultant about the journey to TDD adoption despite objections, skepticism, insecurity, and procrastination along the way. Old dogs can learn new...

Room: Salon A/HTrack: Programming PrinciplesTags: Soft Skills/Business, TestingFormat: General SessionLevel: Introductory and overview

Scaling Systems: Architectures that grow

Presented by: Kendall Miller
Time: Friday 2:45 PM - 3:45 PM

It's harder than ever to predict the load your application will need to handle in advance, so how do you design your architecture so you can afford to implement as you go and be ready for whatever comes your way. It's easy to focus on optimizing each part of your application but your application...

Room: Salon E/DTrack: ArchitectureTags: .NET, CloudFormat: General SessionLevel: Intermediate

Surfing in Maui

Presented by: Sam Basu
Time: Friday 2:45 PM - 3:45 PM

You are invested in .NET and Xamarin technology stacks. But there are some pain points in the present reality. Perhaps you crave for cohesiveness, maturity and want to have more confidence in the Xamarin and Xamarin.Forms ecosystem? Let’s take a look at the future with .NET MAUI – the evolution...

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

Moving Massive Mountains of Magnificent Data

Presented by: Barret Blake
Time: Friday 2:45 PM - 3:45 PM

Data over here. Data over there. These days there are massive piles of data everywhere. Companies use many different systems. Those systems need to interact and share data to be useful. But how to get that data from place to place? Most of the time, what's built in to these various systems doesn't...

Room: CypressTrack: DataTags: Cloud, Big DataFormat: General SessionLevel: Introductory and overview

Jakarta EE 10 is Coming Your Way!

Presented by: Ivar Grimstad
Time: Friday 2:45 PM - 3:45 PM

Jakarta EE 9 lowered the barriers of entry and established a foundation for future innovation paving the way for Jakarta EE 10. With Jakarta EE 10, we are introducing a new profile - the Jakarta EE Core Profile. This profile will enable certification of smaller runtimes suitable for microservices...

Room: Indigo BayTrack: ArchitectureTags: Cloud, Java, SecurityFormat: General SessionLevel: Intermediate
4:00 PM

Closing Ceremonies

Time: Friday 4:00 PM - 5:00 PM

Room: Kilamanjaro Ballroom