Tuesday

7:00 AM

Breakfast (Tuesday)

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

Room: Kilamanjaro Ballroom
8:00 AM

Build your own AI sidekick with Azure AI, Semantic Kernel, and .NET 8

Presented by: Matt Eland, Samuel Gomez
Time: Tuesday 8:00 AM - 12:00 PM

Are you a budding super hero or super villain* but you feel like you're lacking that AI companion to help you reach that next level? Have you ever wanted to see what AI can do to help your daily life? Do you have an interesting application that would just be so much better with a little artificial...

Room: CypressTrack: DataTags: C#, Cloud, Data ScienceFormat: PreCompilerLevel: Intermediate

Building Applications on Top of Large Language Models (LLMs) (Part 1)

Presented by: Nilanjan Raychaudhuri, BJ Allmon
Time: Tuesday 8:00 AM - 12:00 PM

It’s no secret that a new generation of powerful and highly-scaled language models is taking the world by storm. Large language models are becoming a powerful new primitive for building software. In this precompiler, we will deep dive into the rapidly evolving landscape of Large Language Models...

Room: Indigo BayTrack: DataTags: Python, Programming Principles, Machine LearningFormat: PreCompilerLevel: Intermediate

Mastering Solutions Architecture with Design Katas (Part 1)

Presented by: Gaines Kergosien, Eric Potter
Time: Tuesday 8:00 AM - 12:00 PM

TLDR: Architects get relatively few opportunities to practice their craft, so we will group up to formulate architectural visions for "real world" business problems. Attendees will then evaluate each group's solution to gain insight into the pros and cons of different approaches. Fred Brooks said,...

Room: NileTrack: DevOpsTags: Agile, Project Management, TeamsFormat: PreCompilerLevel: Intermediate

Build a Modern Single Page Application with Vue

Presented by: Matt Burke
Time: Tuesday 8:00 AM - 12:00 PM

Vue offers developers a way to build ambitious front-end applications with powerful reactive programming patterns and an intuitive HTML-based templating language. This workshop will give you a jumping-off point for large front-end applications using Vue with blazing-fast dev tools like esbuild,...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Front EndFormat: PreCompilerLevel: Introductory and overview

What is Your Working Genius? (Workshop)

Presented by: Kyle Jenkins
Time: Tuesday 8:00 AM - 12:00 PM

The working genius model is a productivity model developed by Patrick Lencioni with the goal of accomplishing a simple concept: bringing more joy and fulfillment at work! When you and your team understand where your geniuses are and how to (and when not to) use them, it can improve meetings, reduce...

Room: Salon HTrack: Teams & CollaborationTags: Soft Skills, Leadership, TeamsFormat: PreCompilerLevel: Introductory and overview

Accessibility Auditing: Getting Started with Accessibility (Part 1)

Presented by: Todd Libby
Time: Tuesday 8:00 AM - 12:00 PM

This workshop is for people that are just starting or want to get started learning accessibility and how to audit. Or for the people that are in Accessibility that want a refresher or are looking to change their workflows. The overall points an attendee should take away and learn from this...

Room: Salon DTrack: Design (UI/UX/CSS/a11y)Tags: Accessibility, UI/UX, QA TestingFormat: 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 ETrack: Teams & CollaborationTags: Leadership, Project Management, QA TestingFormat: PreCompilerLevel: Introductory and overview

Board Games (Tuesday)

Time: Tuesday 8:00 AM - 12:00 AM

Play board games all day in our new ginormous location this year!

Room: Board Game Room (Zambezi)
9:00 AM

Intro to Soldering (Tuesday)

Presented by: Damon Stamper
Time: Tuesday 9:00 AM - 10:00 AM

Learn how to solder electronic components by assembling a themed 'Codemash Prime' LED badge. We’ll go over basic soldering equipment, safety and technique. We’ll solder through-hole and SMD components. This session assumes no prior experience with electronics. Even if you’re a total beginner,...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview
10:00 AM

Open Lab 1

Time: Tuesday 10:00 AM - 12:00 PM

Room: Ironwood

Artemis / LazerTag (Tuesday)

Time: Tuesday 10:00 AM - 10:00 PM

We have Artemis and Lazer Tag going on in Salon C and F. Registration is required. Register for a free ticket on tickets.codemash.org

Room: Artemis / Lazertag
12:00 PM

Lunch (Tuesday)

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

Room: Kilamanjaro Ballroom
1:00 PM

Binary Analysis - Learn to break stuff

Presented by: Jason Slagle, John Hammond
Time: Tuesday 1:00 PM - 5:00 PM

In this Pre-Compiler, we'll take a dive into the world of reverse engineering. We'll start with DotPeek and reverse engineer a handful of binaries, starting with simple and ending with somewhat more complex examples with some obfuscation. We'll also discuss problems in these tools and techniques...

Room: CypressTrack: SecurityTags: Hardware, SecurityFormat: PreCompilerLevel: Intermediate

Building Applications on Top of Large Language Models (LLMs) (Part 2)

Presented by: Nilanjan Raychaudhuri, BJ Allmon
Time: Tuesday 1:00 PM - 5:00 PM

It’s no secret that a new generation of powerful and highly-scaled language models is taking the world by storm. Large language models are becoming a powerful new primitive for building software. In this precompiler, we will deep dive into the rapidly evolving landscape of Large Language Models...

Room: Indigo BayTrack: DataTags: Python, Programming Principles, Machine LearningFormat: PreCompilerLevel: Intermediate

Mastering Solutions Architecture with Design Katas (Part 2)

Presented by: Gaines Kergosien, Eric Potter
Time: Tuesday 1:00 PM - 5:00 PM

TLDR: Architects get relatively few opportunities to practice their craft, so we will group up to formulate architectural visions for "real world" business problems. Attendees will then evaluate each group's solution to gain insight into the pros and cons of different approaches. Fred Brooks said,...

Room: NileTrack: DevOpsTags: Agile, Project Management, TeamsFormat: PreCompilerLevel: Intermediate

Building a Web Component Library

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

Web components have been around for a long time (since HTML 5 became a thing), but there hasn’t been a lot of attention given to them until recently. Now, tech organizations worldwide are adopting them and finding tremendous efficiency in creating framework-agnostic reusable components to build...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Front End, CSS, UI/UX, Code QualityFormat: PreCompilerLevel: Introductory and overview

Button masher to code master – Unity3D Workshop

Presented by: Mason Beale, Brendan Barth
Time: Tuesday 1:00 PM - 5:00 PM

Considered learning how to make video games, but never made the jump? Now is your time to press “space”! No matter your current career (or input device), explore your creative side in Unity and learn the essentials by improving, expanding and customizing a 3D Rollerball game. You’ll start with...

Room: Salon ATrack: Programming PrinciplesTags: C#, Programming PrinciplesFormat: PreCompilerLevel: Introductory and overview

K3s - Half the Size, Twice as Awesome: Lightweight Kubernetes

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

Are you ready to conquer the Kubernetes learning curve without the pain? Embarking on a Kubernetes journey can be intimidating. Many have endured the steep initial challenges only to find the eventual rewards. But what if we told you there's a way to make that initial climb smoother? What if you...

Room: Salon HTrack: DevOpsTags: DevOpsFormat: PreCompilerLevel: Introductory and overview

Accessibility Auditing: Getting Started with Accessibility (Part 2)

Presented by: Todd Libby
Time: Tuesday 1:00 PM - 5:00 PM

This workshop is for people that are just starting or want to get started learning accessibility and how to audit. Or for the people that are in Accessibility that want a refresher or are looking to change their workflows. The overall points an attendee should take away and learn from this...

Room: Salon DTrack: Design (UI/UX/CSS/a11y)Tags: Accessibility, UI/UX, QA TestingFormat: PreCompilerLevel: Introductory and overview

Learning R Programming and Python Together - Data Science Primer for Everyone

Presented by: Pierre DeBois
Time: Tuesday 1:00 PM - 5:00 PM

Both R programming and Python have become workhorse languages in the field of data science. They have allowed practitioners to apply statistical frameworks to a vast array of data models. Today, new tools allow a combination of principles from both languages. How can tech professionals gain the...

Room: Salon ETrack: DataTags: Python, Data ScienceFormat: PreCompilerLevel: Introductory and overview

Getting started in basic electronics, part 1 (Tuesday)

Presented by: Rob Ballenger
Time: Tuesday 1:00 PM - 2:00 PM

Please note that this is designed in such a way that you can join/drop at any time and attend the guided session or use the makerspace during open lab time. The idea behind this is to have this be a standalone class, but also a fallback for "the rule of feet". Want to get started in electronics but...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

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

Presented by: Brian Carnes
Time: Tuesday 1:00 PM - 2:00 PM

This session will talk about the exciting world of 3D printing. We will go over exciting trends and happenings in the 3D printing world. We’ll then cover choosing a CAD app and will briefly cover using curated 3D printer object libraries and different CAD apps that might be more appropriate to...

Room: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Introductory and overview
2:00 PM

Getting started in basic electronics, part 2 (Tuesday)

Presented by: Rob Ballenger
Time: Tuesday 2:00 PM - 3:00 PM

Please note that this is designed in such a way that you can join/drop at any time and attend the guided session or use the makerspace during open lab time. The idea behind this is to have this be a standalone class, but also a fallback for "the rule of feet". Want to get started in electronics but...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

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

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: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Introductory and overview
3:00 PM

Open Lab 2

Time: Tuesday 3:00 PM - 5:00 PM

Room: Ironwood
4:00 PM

From idea to physical series: CAD and 3D printing in Jewelry (open to Adults and Kidz)

Presented by: Brian Carnes
Time: Tuesday 4:00 PM - 6:00 PM

Want to make something more advanced than the ones you made in the basic overview? We have some additional options to expand model building skills for those who have been through our previous sessions. NEW for this year we are offering a deeper dive into the process of making jewelry with CAD and...

Room: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Intermediate

Wednesday

7:00 AM

Breakfast (Wednesday)

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

Room: Kilamanjaro Ballroom
8:00 AM

Off The Shelf AI (Part 1)

Presented by: Jordan Thayer, Robert Herbig
Time: Wednesday 8:00 AM - 12:00 PM

Hearing about artificial intelligence is unavoidable these days if you’re watching the news or staying abreast of the technical sector. We frequently hear about the power of AI-enabled tools, and are shown soundbytes of experts extolling the virtues of their approach. While these stories inform...

Room: Indigo BayTrack: DataTags: Python, Programming Principles, Machine LearningFormat: PreCompilerLevel: Introductory and overview

Mad Scientist Lab With Raspberry Pi Pico Microcontrollers

Presented by: Barry Tarlton, Brendan Barth
Time: Wednesday 8:00 AM - 12:00 PM

Carefully plugging the wires into the bread board, doubt seeps in, “should the red wire go to ground or the white one?” LEDs all in place, Python code properly indented (spaces, not tabs), prayers go up for the magic smoke to not escape as the electronics are powered on. In an instant, worries...

Room: NileTrack: Hardware/IoTTags: Python, Hardware, IoTFormat: PreCompilerLevel: Intermediate

Event Storming Unleashed: Building Bridges for Effective Communication

Presented by: Sarah Dutkiewicz
Time: Wednesday 8:00 AM - 12:00 PM

A lot of problems that we have in software development comes down to communication issues - gathering requirements, understanding processes, reporting issues, and making sure everybody involved is on the same page. This Event Storming workshop is a dynamic and interactive session designed to...

Room: OrangeTrack: Teams & CollaborationTags: Agile, Teams, System DesignFormat: PreCompilerLevel: Introductory and overview

Build an end to end Next JS app with Next auth, postgres realtime functionality

Presented by: Dev Agrawal
Time: Wednesday 8:00 AM - 12:00 PM

With the new Next JS app router functionality, a lot have changed with building next js applications. In this hands-on workshop we'll build a full stack CRUD application that will use Postgres as a database, Next Auth for authorization, and even ably for real time functionality. It'll include: *...

Room: Salon ATrack: Web/Front-EndTags: Javascript, Backend, Front EndFormat: PreCompilerLevel: Introductory and overview

Designing Effective Unit Tests for React

Presented by: Bob Fornal
Time: Wednesday 8:00 AM - 12:00 PM

React has great tools for Unit Testing component. This doesn’t mean testing is easy. There are still a lot of questions you have to figure out for yourself: How many component tests should you write vs end-to-end tests or lower-level unit tests? How can you test a certain line of code that is...

Room: Salon HTrack: Software QualityTags: React, Front End, Code QualityFormat: PreCompilerLevel: Introductory and overview

Automated resource deployment with Bicep and Terraform (Part 1)

Presented by: Samuel Gomez, Brian Gorman
Time: Wednesday 8:00 AM - 12:00 PM

This workshop is a hands-on exercise that will walk you through the process of deploying the resources needed to run an application in the cloud using Bicep (morning session) and Terraform (afternoon session). The concepts reviewed during the workshop include the...

Room: Salon DTrack: DevOpsTags: Cloud, DevOps, Infrastructure as CodeFormat: PreCompilerLevel: Introductory and overview

Dude, Who Broke My Linux Server?

Presented by: Ryan Price, Justin DeBo
Time: Wednesday 8:00 AM - 12:00 PM

Linux-based operating systems are at the very core of the magic of computing technology -- and have been that core for decades. But software developers, data engineers, cloud engineers, and so many other disciplines often have no idea how to work effectively within those operating systems. What...

Room: Salon ETrack: Programming PrinciplesTags: Backend, Programming Principles, DevOpsFormat: PreCompilerLevel: Intermediate

Board Games (Wednesday)

Time: Wednesday 8:00 AM - 12:00 AM

Play board games all day in our new ginormous location this year!

Room: Board Game Room (Zambezi)
9:00 AM

Intro to Soldering (Wednesday)

Presented by: Damon Stamper
Time: Wednesday 9:00 AM - 10:00 AM

Learn how to solder electronic components by assembling a themed 'Codemash Prime' LED badge. We’ll go over basic soldering equipment, safety and technique. We’ll solder through-hole and SMD components. This session assumes no prior experience with electronics. Even if you’re a total beginner,...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

Artemis / LazerTag (Wednesday)

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

We have Artemis and Lazer Tag going on in Salon C and F. Registration is required. Register for a free ticket on tickets.codemash.org

Room: Artemis / Lazertag
10:00 AM

Open Lab 3

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

Room: Ironwood
12:00 PM

Lunch (Wednesday)

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

Room: Kilamanjaro Ballroom
1:00 PM

Off The Shelf AI (Part 2)

Presented by: Jordan Thayer, Robert Herbig
Time: Wednesday 1:00 PM - 5:00 PM

Hearing about artificial intelligence is unavoidable these days if you’re watching the news or staying abreast of the technical sector. We frequently hear about the power of AI-enabled tools, and are shown soundbytes of experts extolling the virtues of their approach. While these stories inform...

Room: Indigo BayTrack: DataTags: Python, Programming Principles, Machine LearningFormat: PreCompilerLevel: Introductory and overview

Thinking Architecturally

Presented by: Nathaniel Schutta
Time: Wednesday 1:00 PM - 5:00 PM

Rich Hickey once said programmers know the benefits of everything and the trade offs of nothing...an approach that can lead a project down a path of frustrated developers and unhappy customers. As architects though, we must consider the trade offs of every new library, language, pattern or approach...

Room: NileTrack: ArchitectureTags: Career Development, Soft Skills, ArchitectureFormat: PreCompilerLevel: Intermediate

The Subtle Art of Communication

Presented by: Natalie Hylton, Tristan Chiappisi
Time: Wednesday 1:00 PM - 5:00 PM

We probably don't need this session. Technologists are excellent communicators, aren’t they? But for those who would like to learn (and practice) a new thing or two, here is a session packed with experiential learning. Amongst the things that we will cover: • Communication styles (assessment...

Room: OrangeTrack: Teams & CollaborationTags: Soft Skills, Leadership, TeamsFormat: PreCompilerLevel: Intermediate

Mastering TDD in Legacy Code

Presented by: Brendan Enrick, Steve Smith
Time: Wednesday 1:00 PM - 5:00 PM

In this hands-on workshop, you’ll learn to effectively use the principles and practices of increasing the reliability and maintainability of your code through testing and pair programming. You’ll sharpen your skills working with your peers on programming exercises designed to instill good...

Room: Salon ATrack: Software QualityTags: Code QualityFormat: PreCompilerLevel: Intermediate

Enhance Fullstack Workshop

Presented by: Simon MacDonald, Ryan Bethel
Time: Wednesday 1:00 PM - 5:00 PM

The Enhance Fullstack Workshop is designed for developers. You will learn how to build a full-stack web application (client and server) using Enhance powered by Node.js, and AWS. You'll leave with the skills required to construct multi-page dynamic web apps that leverage the platform while avoiding...

Room: Salon HTrack: Web/Front-EndTags: Javascript, Backend, Front EndFormat: PreCompilerLevel: Introductory and overview

Automated resource deployment with Bicep and Terraform (Part 2)

Presented by: Samuel Gomez, Brian Gorman
Time: Wednesday 1:00 PM - 5:00 PM

This workshop is a hands-on exercise that will walk you through the process of deploying the resources needed to run an application in the cloud using Bicep (morning session) and Terraform (afternoon session). The concepts reviewed during the workshop include the...

Room: Salon DTrack: DevOpsTags: Cloud, DevOps, Infrastructure as CodeFormat: PreCompilerLevel: Introductory and overview

Beyond the Cache with Redis + Node.js

Presented by: Justin Castilla
Time: Wednesday 1:00 PM - 5:00 PM

If you’re like a lot of developers, you’ve probably used Redis. You’ve probably used it as a cache—which it does amazingly—and you’ve probably cached strings. But Redis is much, much more than just a cache. It can be a message broker using queues, streams, and pub-sub. It can be a...

Room: Salon ETrack: DataTags: Javascript, DatabasesFormat: PreCompilerLevel: Introductory and overview

Getting started in basic electronics, part 1 (Wednesday)

Presented by: Rob Ballenger
Time: Wednesday 1:00 PM - 2:00 PM

Please note that this is designed in such a way that you can join/drop at any time and attend the guided session or use the makerspace during open lab time. The idea behind this is to have this be a standalone class, but also a fallback for "the rule of feet". Want to get started in electronics but...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

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

Presented by: Brian Carnes
Time: Wednesday 1:00 PM - 2:00 PM

This session will talk about the exciting world of 3D printing. We will go over exciting trends and happenings in the 3D printing world. We’ll then cover choosing a CAD app and will briefly cover using curated 3D printer object libraries and different CAD apps that might be more appropriate to...

Room: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Introductory and overview
2:00 PM

Getting started in basic electronics, part 2 (Wednesday)

Presented by: Rob Ballenger
Time: Wednesday 2:00 PM - 3:00 PM

Please note that this is designed in such a way that you can join/drop at any time and attend the guided session or use the makerspace during open lab time. The idea behind this is to have this be a standalone class, but also a fallback for "the rule of feet". Want to get started in electronics but...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

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

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: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Introductory and overview
3:00 PM

Open Lab 4

Time: Wednesday 3:00 PM - 5:00 PM

Room: Ironwood
4:00 PM

From idea to physical series: Codemash Race League project. (open to Adults and Kidz) (Wednesday)

Presented by: Brian Carnes
Time: Wednesday 4:00 PM - 6:00 PM

Want to make something more advanced than the ones you made in the basic overview? We have some additional options to expand model building skills for those who have been through our previous sessions. This session the goal will be to build a raceable “matchbox/hot wheels scaled” 3d-printed...

Room: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Intermediate
7:00 PM

Lightning Talks

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

Room: Kilamanjaro Ballroom
8:00 PM

Welcome Reception

Time: Wednesday 8:00 PM - 11:55 PM

Room: Grand Hall

Thursday

7:00 AM

Breakfast (Thursday)

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

Room: Kilamanjaro Ballroom
8:00 AM

Simplifying Microservices with Dapr

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

In the world of modern software development, microservices have emerged as the go-to solution for building scalable and deployable applications. However, the path to realizing their promised benefits can be riddled with challenges, leaving engineers with concerns about achieving a truly clean...

Room: CypressTrack: ArchitectureTags: Cloud, ArchitectureFormat: General SessionLevel: Introductory and overview

Software Test Automation ​and System Design

Presented by: Kate Jordan
Time: Thursday 8:00 AM - 9:00 AM

In this session I'll share with you one of the most valuable lessons that I've learned as a software engineer. From what I've seen it's not something that colleges or courses have nearly enough emphasis on for the impact that it has. Both on your skills, and the health of the systems you work...

Room: Indigo BayTrack: Software QualityTags: Programming Principles, System Design, Code QualityFormat: General SessionLevel: Intermediate

The User Experience Eclipse: Rise Against Dark Design Patterns

Presented by: Scott Showalter
Time: Thursday 8:00 AM - 9:00 AM

Dark isn't just a trendy UI mode, nor what the sky looks like in the middle of the day in Ohio on April 8th. It's a deceitful design scheme we all encounter from time to time, against our will. As consumers, most of us can't escape the overbearing influence that corporations have on our lives....

Room: NileTrack: Design (UI/UX/CSS/a11y)Tags: Front End, Diversity/Equity/Inclusion, CSS, UI/UX, Architecture, System Design, QA TestingFormat: General SessionLevel: Introductory and overview

Neurodiverse Coders: Unlocking ADHD & Autism Superpowers in Tech

Presented by: Gaines Kergosien
Time: Thursday 8:00 AM - 9:00 AM

In the tech world, diversity isn't just about backgrounds; it's also about how we think and process information. ADHD and Autism Spectrum Disorder (ASD) are often pigeonholed as challenges. However, what if we told you that these so-called 'disorders' house superpowers that can be game-changers in...

Room: OrangeTrack: Career DevelopmentTags: Career Development, Diversity/Equity/Inclusion, Soft Skills, Leadership, TeamsFormat: General SessionLevel: Intermediate

Securing Your Software Supply Chain One Open Source Project at a Time

Presented by: Lori Lorusso
Time: Thursday 8:00 AM - 9:00 AM

Delivering software fast is one piece of the CI/CD puzzle, but delivering it securely is the glue that keeps your puzzle from falling apart. Software supply chain attacks are on the rise with security exploits directly targeting open source projects, central repositories, and software package...

Room: Salon ATrack: SecurityTags: Security, DevOps, CI/CDFormat: General SessionLevel: Introductory and overview

Using Web Components to Scale Your UX

Presented by: Burton Smith
Time: Thursday 8:00 AM - 9:00 AM

Whether you're a company with a variety of projects or an app that uses micro-front-end architecture, creating a consistent and reliable user experience can be difficult. In this session, we will discuss how, at Microsoft, we have leveraged web components to standardize our user experiences and...

Room: Salon HTrack: Web/Front-EndTags: Javascript, Front End, Accessibility, CSS, UI/UX, ArchitectureFormat: General SessionLevel: Introductory and overview

Verbs, Not Nouns: Writing Documentation Users Want to Read

Presented by: Brian MacDonald
Time: Thursday 8:00 AM - 9:00 AM

Documentation should be complete and comprehensive, but that doesn't mean it has to be dull and boring. Engaging documentation focuses on what your users want to do, the tasks they're trying to accomplish, the problems they want to solve. Writing documentation with the focus on your user, instead of...

Room: Salon DTrack: Teams & CollaborationTags: Soft Skills, TeamsFormat: General SessionLevel: Introductory and overview

How to Ground LLM's to minimize hallucinations

Presented by: Cameron Vetter
Time: Thursday 8:00 AM - 9:00 AM

Language models have made significant advancements in recent years, with models like GPT-3 and GPT-4 showcasing impressive capabilities. However, one persistent challenge that arises with these models is the occurrence of hallucinations—instances where the model generates plausible-sounding but...

Room: Salon ETrack: DataTags: Python, Machine Learning, Data ScienceFormat: General SessionLevel: Intermediate

Be an Ally for Mobile A11y

Presented by: Rachael Yomtoob
Time: Thursday 8:00 AM - 9:00 AM

Accessibility for the web has gained visibility in the last few years, but what about mobile apps? Let's talk about why making your mobile app accessible is just as important, if not more important, than building an accessible website. I'll introduce how digital accessibility standards like the Web...

Room: Salon BTrack: MobileTags: Mobile, AccessibilityFormat: General SessionLevel: Introductory and overview

Java Anti-Patterns

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

God object, spaghetti code, magic numbers? Anti-patterns are traps that developers encounter frequently due to lack of time, carelessness, inexperience, or pressure from project managers. Rushing can lead to big problems for applications in future, so you need to know how to avoid potential...

Room: Salon GTrack: Programming PrinciplesTags: Java, Backend, Programming PrinciplesFormat: General SessionLevel: Introductory and overview

Board Games (Thursday)

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

Play board games all day in our new ginormous location this year!

Room: Board Game Room (Zambezi)
9:00 AM

Intro to Soldering (Thursday)

Presented by: Damon Stamper
Time: Thursday 9:00 AM - 10:00 AM

Learn how to solder electronic components by assembling a themed 'Codemash Prime' LED badge. We’ll go over basic soldering equipment, safety and technique. We’ll solder through-hole and SMD components. This session assumes no prior experience with electronics. Even if you’re a total beginner,...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

Artemis / LazerTag (Thursday)

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

We have Artemis and Lazer Tag going on in Salon C and F. Registration is required. Register for a free ticket on tickets.codemash.org

Room: Artemis / Lazertag
9:15 AM

Don’t Build a Distributed Monolith: How to Avoid Doing Microservices Completely Wrong

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

As a consultant, I get to see many systems built by many different developers. Recently, I’ve seen an uptick in the number of systems built with a microservice architecture in mind, but those systems often include a lot of the same mistakes that keep them from working well. In this session...

Room: Kilamanjaro BallroomTrack: ArchitectureTags: ArchitectureFormat: General SessionLevel: Intermediate

Not Your Mother's or Father's C#

Presented by: Brendan Enrick
Time: Thursday 9:15 AM - 10:15 AM

Gone are the days of verbose C# code and having only one way to solve a problem. In recent updates, C# has been adapting ideas from other programming paradigms, including functional programming. Some of the most recent ones have significantly changed the appearance of C# code. We'll see what you...

Room: CypressTrack: Programming PrinciplesTags: .NET, C#Format: General SessionLevel: Introductory and overview

Finding your Motivation and Managing When you aren’t Motivated

Presented by: Jennie Ocken
Time: Thursday 9:15 AM - 10:15 AM

We are all motivated by different things. But most companies and managers only know how to encourage employees through money or title. By better understanding what motivates each of us, we can be better teammates, managers, and people. In this session we will learn: • The 8 different kinds of...

Room: Indigo BayTrack: Career DevelopmentTags: Career Development, Diversity/Equity/Inclusion, Soft Skills, Leadership, Remote WorkFormat: General SessionLevel: Intermediate

Managing a Rewrite Without Getting Stuck in the Tar Pit

Presented by: Randall Koutnik
Time: Thursday 9:15 AM - 10:15 AM

It's a tale as old as time: our startup had finally found success and was ready to scale up, but we'd taken on a huge amount of technical debt to get there. In particular, our frontend still relied on an old templating system! How could we rewrite our frontend to take advantage of modern tooling...

Room: NileTrack: Teams & CollaborationTags: Soft Skills, Teams, System DesignFormat: General SessionLevel: Introductory and overview

Meet Your New BFF: Backend to Frontend without the Duct Tape

Presented by: Dev Agrawal
Time: Thursday 9:15 AM - 10:15 AM

Even with all of the incredible frameworks available today vs. a decade ago (or even two––for devs who have been around as long as I have), it still feels like much of our work as fullstack developers is still repetitive, and held together by duct tape code we shouldn’t be writing. This is...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Backend, Front EndFormat: General SessionLevel: Introductory and overview

MSBuild Unleashed: Breaking Free From Complex CI Pipelines

Presented by: Dan Siegel
Time: Thursday 9:15 AM - 10:15 AM

In today's rapidly evolving software landscape, Continuous Integration (CI) and Continuous Deployment (CD) are the linchpins of a streamlined and efficient development process. However, with myriad build platforms, technologies, and tooling, we often find ourselves entangled in complex build...

Room: Salon ATrack: DevOpsTags: .NET, Programming Principles, CI/CDFormat: General SessionLevel: Intermediate

Black Box Techniques for Unit Tests

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

One of the greatest strengths of modern development is the ease of unit testing for many languages and frameworks. Obviously, you’re testing your code–but are you thoroughly testing it? Are you testing the right things? Is there more you could be testing? Enter black box testing techniques....

Room: Salon HTrack: Software QualityTags: Programming Principles, Code Quality, QA TestingFormat: General SessionLevel: Intermediate

Reasonable Accommodations in the Workplace

Presented by: Erissa Duvall
Time: Thursday 9:15 AM - 10:15 AM

Reasonable Accommodations can be a life saver for so many. They can be the difference between struggling to accomplish work tasks and flourishing. They can also benefit more people than you may realize. What kinds of things could be considered workplace accommodations? What might you need to do to...

Room: Salon DTrack: Career DevelopmentTags: Diversity/Equity/Inclusion, AccessibilityFormat: General SessionLevel: Introductory and overview

Building a Full-Stack Application with Flutter and Dart

Presented by: Ryan Edge
Time: Thursday 9:15 AM - 10:15 AM

For the past few years, Flutter has revolutionized mobile app development by allowing developers to build high-performance, cross-platform applications with ease. However, building a full-stack application can be a challenging task because we often find ourselves juggling multiple technologies to...

Room: Salon ETrack: MobileTags: Front End, Mobile, CloudFormat: General SessionLevel: Intermediate

Exploring Cloud Native MLOps for GenAI Vector Search

Presented by: Mary Grygleski
Time: Thursday 9:15 AM - 10:15 AM

ChatGPT has been in the center stage since early this year. We will first take a look into this exciting sub-new field of Generative AI, and understand what LLM and NLP are, and the challenges that all of these are presenting themselves. We will also highlight the importance of Vector Search, and...

Room: Salon BTrack: DataTags: DevOps, CI/CD, Machine LearningFormat: General SessionLevel: Introductory and overview

AI Speaks: Giving Large Language Models a Voice with Alexa

Presented by: Craig Walls
Time: Thursday 9:15 AM - 10:15 AM

Large Language Models (LLM) have been quite the buzz lately, offering one of the first tangible applications of artificial intelligence for the masses. Despite quirks and "hallucinations", LLMs show real promise of being a valuable component in the future of thinking machines. Meanwhile, for a few...

Room: Salon GTrack: Hardware/IoTTags: Javascript, IoT, Machine LearningFormat: General SessionLevel: Introductory and overview
10:00 AM

Open Lab 5

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

Room: Ironwood
10:30 AM

Async/Await from the Ground Up

Presented by: Stephen Cleary
Time: Thursday 10:30 AM - 11:30 AM

An async refresher course for developers who use async and await but want to really understand what's going on. This session is a "re-introduction" to async and await. It covers what the keywords mean and - just as importantly - what they *don't* mean. We'll be covering What You Need To Know,...

Room: CypressTrack: Programming PrinciplesTags: .NET, C#, Code QualityFormat: General SessionLevel: Intermediate

Tactics for Building Background Services in .NET

Presented by: Kevin Griffin
Time: Thursday 10:30 AM - 11:30 AM

Mature applications often find themselves in the predicament of having to do work "behind the scenes." Frequently this could be simple tasks such as sending emails or updating statistics. Or it could be something more complicated, like processing incoming files or building reports. These tasks...

Room: Indigo BayTrack: ArchitectureTags: .NET, C#, Backend, Programming Principles, Cloud, Architecture, System DesignFormat: General SessionLevel: Introductory and overview

Isn't it time to ditch code coverage? Focus on high value tests instead

Presented by: Steve Odell
Time: Thursday 10:30 AM - 11:30 AM

As engineers, it can be difficult to use metrics to measure the value of what we do. One metric that typically falls short is code coverage because it can’t measure how WELL our application has been tested, rather, it focuses how MUCH has been tested. What if we ditched this traditional metric and...

Room: NileTrack: Software QualityTags: Automation, Code Quality, QA TestingFormat: General SessionLevel: Intermediate

Building a Pan/Tilt/Zoom Live Streaming Camera Rig

Presented by: Todd Sharp
Time: Thursday 10:30 AM - 11:30 AM

In this session, you'll see how I used an XBox controller, Arduino, a few servo motors and some HTML and JavaScript APIs to build the whole assembly. Even if you don't need your own PTZ rig, you'll still learn about some really cool JavaScript APIs like Web Serial, and the Gamepad API that you may...

Room: OrangeTrack: Hardware/IoTTags: Javascript, Hardware, IoTFormat: General SessionLevel: Introductory and overview

Modern Authentication and Authorization with OIDC, OAuth2, and Resource-based Permissions

Presented by: Eric Boyd
Time: Thursday 10:30 AM - 11:30 AM

Open web standards for authentication, authorization and delegation are especially important in our connected, integrated, and mobile world. There are expectations for single sign-on, integration with external partners, multi-tenancy, identity across application tiers, and authentication with...

Room: Salon ATrack: SecurityTags: .NET, Backend, SecurityFormat: General SessionLevel: Intermediate

Scaling Web Frontends Across Teams

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

At some point, a web app's frontend becomes too complex to manage via a single dev team. In this session, we'll explore patterns and techniques for splitting an app across teams. We'll discuss component-driven development patterns, micro-frontends, shell apps, reorg strategies, monorepos, vertical...

Room: Salon HTrack: Web/Front-EndTags: Javascript, React, ArchitectureFormat: General SessionLevel: Introductory and overview

Effective Observability for MLOps Pipelines at Scale

Presented by: Shivay Lamba
Time: Thursday 10:30 AM - 11:30 AM

As the world embraces AI and adopts machine learning, many companies and moving towards using models like the LLMs. Deployment and monitoring such large models are extremely important. As traditional DevOps Engineers, you might not be exposed to working with machine learning systems. This is where...

Room: Salon DTrack: DataTags: Cloud, DevOps, Machine Learning, Data Science, ObservabilityFormat: General SessionLevel: Intermediate

Hybrid Agility: Working Conditions for Team Success

Presented by: Carina Silfverduk
Time: Thursday 10:30 AM - 11:30 AM

Is your team or workplace working hybrid, with some in the office and some remote on any given day? Working hybrid is by far harder than either remote or on-site work because you need to accommodate both and then do something extra to keep everyone in the room and everyone on the call engaged. How...

Room: Salon ETrack: Teams & CollaborationTags: Soft Skills, Agile, TeamsFormat: General SessionLevel: Intermediate

Accessibility in the Enterprise: The Relationship of A11y and ROI

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

As we build more and more things on the web, accessibility is gaining much more visibility. But what does it actually mean to you and your company? It means we HAVE to be cognizant of everyone, all the time, with no exceptions as we do our part in building awesome, accessible user experiences to...

Room: Salon BTrack: Design (UI/UX/CSS/a11y)Tags: Front End, Diversity/Equity/Inclusion, AccessibilityFormat: General SessionLevel: Introductory and overview

Survival Under Fire: How to Stay Whole During Adversity

Presented by: Arthur Doler
Time: Thursday 10:30 AM - 11:30 AM

Each of the last few years have hit like a brick to the temple. It felt like the entire world was upended. There’s been radical shifts in the way we work, endless video conference calls, social and political unrest, and lots of tough choices about our health and the health of those we love and...

Room: Salon GTrack: Teams & CollaborationTags: Soft Skills, TeamsFormat: General SessionLevel: Introductory and overview
11:15 AM

Lunch (Thursday)

Time: Thursday 11:15 AM - 1:15 PM

Room: Kilamanjaro Ballroom
11:45 AM

A Contrarian View of Software Architecture

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

I’ve spent an inordinate amount of time the past half decade across multiple companies working with very large, long running enterprise systems. Especially in long running, constantly changing systems, you want the code to be easy to understand, relatively painless to extend or modify, and when...

Room: CypressTrack: ArchitectureTags: Programming Principles, ArchitectureFormat: General SessionLevel: Intermediate

You’re Doing Exceptions Wrong

Presented by: Matt Burke
Time: Thursday 11:45 AM - 12:45 PM

Exceptions are powerful and valuable, but we frequently misuse them and destabilize our applications. We fear users seeing an error message, so we swallow the exception, creating troubleshooting nightmares down the road. We fail to check inputs and throw them at all, letting garbage into our...

Room: Indigo BayTrack: Programming PrinciplesTags: Backend, Object Oriented Programming, Code QualityFormat: General SessionLevel: Introductory and overview

From IC to EM: How to Know if Management is Right for You

Presented by: Andrea Rhodes
Time: Thursday 11:45 AM - 12:45 PM

“What do I want to be when I grow up?” This isn’t something that we only ask our younger-selves, but our older-selves as well. At some point in your career, you’ve probably been asked: “Have you thought about growing into the people management area?” If you have (or even if you...

Room: OrangeTrack: Career DevelopmentTags: Career Development, Leadership, TeamsFormat: General SessionLevel: Introductory and overview

Automating your smarthome without the cloud

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

Modern "smart" homes are dumb; your lights shouldn't stop working because your Internet is down, and your new doorbell shouldn't compromise your network security. A smarter and more secure home doesn't depend on cloud services or a disparate array of apps to function, and it's easier than you might...

Room: Salon ATrack: Hardware/IoTTags: IoT, Cloud, AutomationFormat: General SessionLevel: Introductory and overview

The Illustrated Guide to Node.js

Presented by: David Neal
Time: Thursday 11:45 AM - 12:45 PM

Node.js is a compelling platform for building all types of applications for startups to enterprises. Node.js strategically unites developers through the universal language of JavaScript. Or TypeScript! Why should you learn Node.js, and where do you start? You will walk away from this fun...

Room: Salon HTrack: Web/Front-EndTags: Javascript, BackendFormat: General SessionLevel: Introductory and overview

Long-Term Planning in an Agile World

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

“Long-term” and “Agile” typically aren’t two words that go together. After all, agile teams prize reactivity and adaptability over firm plans set in stone. But these two concepts aren’t mutually exclusive. In fact, the best-performing agile teams keep one eye on their longer-term...

Room: Salon DTrack: Teams & CollaborationTags: Leadership, Agile, Project ManagementFormat: General SessionLevel: Introductory and overview

Terminal, CLI's, and UI's - Using Windows Terminal & the WSL

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

The classic Windows Terminal app allowed for simple command line integrations. But now, the new Terminal app, along with the Windows Subsystem for Linux (WSL), can generate some really cool interaction between you and multiple operating systems. Not only can you do command line, but the Linux...

Room: Salon ETrack: DevOpsTags: Functional Programming, DevOps, UI/UX, QA TestingFormat: General SessionLevel: Introductory and overview

GPT Embeddings - Not Magic, Just Math

Presented by: Barry Stahl
Time: Thursday 11:45 AM - 12:45 PM

Embeddings may be the least understood yet most valuable tool to come out of the world of Large Language Models. In this presentation, we will unravel the mystery of embeddings, emphasizing their mathematical foundations and practical applications. We'll start by discussing what embeddings are,...

Room: Salon BTrack: DataTags: C#, Machine Learning, Data ScienceFormat: General SessionLevel: Intermediate

Design Systems as a Foundation for Accessibility

Presented by: Marko Skugor
Time: Thursday 11:45 AM - 12:45 PM

Design systems are at their core a repository of solved UX interaction design problems made re-usable and highly visible for others to leverage. Accessibility, on the other hand, is an outcome that is usually hard fought for and hard won for any organization - especially at scale. As technologists,...

Room: Salon GTrack: Design (UI/UX/CSS/a11y)Tags: Front End, Diversity/Equity/Inclusion, Accessibility, UI/UXFormat: General SessionLevel: Introductory and overview
1:00 PM

The Other Side of the Table - Salary Negotiation from a Management Perspective

Presented by: Nick Stewart
Time: Thursday 1:00 PM - 2:00 PM

Salary negotiation is a daunting task, and it can be made all the more confusing, if you don’t understand the position management often has to take. One of the best strategies for a successful negotiation is to determine what the other side values, and it’s not always the lowest number. In...

Room: CypressTrack: Career DevelopmentTags: Career Development, Soft SkillsFormat: General SessionLevel: Introductory and overview

Rebuild your APIs Better, Stronger, Faster with Minimal APIs

Presented by: Jonathan "J." Tower
Time: Thursday 1:00 PM - 2:00 PM

If you currently have a controller-based API built in ASP.NET or ASP.NET Core, you might be eager to embark on the journey of transitioning it to a Minimal API approach, but not know the best process to make it happen. If so, this talk is tailor-made for you. We will delve into the advantages of...

Room: Indigo BayTrack: Programming PrinciplesTags: .NET, C#, BackendFormat: General SessionLevel: Intermediate

Dev Containers. What are they and why do you need them?

Presented by: Joseph Guadagno
Time: Thursday 1:00 PM - 2:00 PM

You're onboarding a new team member, or your team recently inherited a project that uses a different SDK/framework version than your current project uses. What do you do? Install the old SDK/framework versions? Can they even be installed at the same time on the same machine? What if I told you...

Room: NileTrack: DevOpsTags: .NET, DevOps, CI/CDFormat: General SessionLevel: Intermediate

Prime (re)Factoring

Presented by: Steve Smith
Time: Thursday 1:00 PM - 2:00 PM

You've probably heard of refactoring, but did you know the term originates from the process of factoring programming code? In mathematics, factoring is used to pull out factors of numbers through division, and importantly prime numbers have factors of only themselves and the identity constant,...

Room: OrangeTrack: Programming PrinciplesTags: .NET, C#, Object Oriented Programming, Programming Principles, Code QualityFormat: General SessionLevel: Introductory and overview

Modern Web Automation Testing

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

Modern web applications require a modern tool for automated testing. Something that can handle both mobile and desktop, async operations, shadow DOM, all the browsers and much more. Enter Playwright. Designed for all the needs of modern applications, Playwright checks all the boxes. This session...

Room: Salon ATrack: Software QualityTags: Front End, Automation, QA TestingFormat: General SessionLevel: Intermediate

self.clone();//Passing On Your Passion

Presented by: Barry Tarlton
Time: Thursday 1:00 PM - 2:00 PM

When you've written your last line of code, what will be your legacy? Will your applications live on forever in Production or at least until AI takes over? Will your Github repos be archived and immortalized? Will there be patterns or tools named after you? For most of us, there probably won't...

Room: Salon HTrack: Career DevelopmentTags: Career Development, Soft Skills, Code QualityFormat: General SessionLevel: Introductory and overview

Debugging JavaScript and React

Presented by: Mark Erikson
Time: Thursday 1:00 PM - 2:00 PM

## Description / Abstract As developers, we spend much of our time debugging apps - often code we didn't even write. Sadly, few developers have ever been taught how to approach debugging - it's something most of us learn through painful experience. The good news is you _can_ learn how to debug...

Room: Salon DTrack: Web/Front-EndTags: Javascript, React, Front EndFormat: General SessionLevel: Intermediate

A Hands-On Overview to Building AI Solutions with AI Builder

Presented by: Barret Blake
Time: Thursday 1:00 PM - 2:00 PM

Whether it's generating automated interactive chat experiences or automating business processes, AI is the future of business software. AI Builder is a powerful tool for organizations looking to incorporate the power of AI into their business processes. In this talk, we'll explore the key features...

Room: Salon ETrack: DataTags: Cloud, AutomationFormat: General SessionLevel: Introductory and overview

Building Relationships for Better Security

Presented by: Darylynn Ross
Time: Thursday 1:00 PM - 2:00 PM

It's 2024 and software engineering teams and security teams are still struggling to figure out how we can all just get along. Engineering teams are commonly frustrated and annoyed at all the extraneous stuff security wants them to do. And security teams are commonly frustrated with the lack of...

Room: Salon BTrack: SecurityTags: Security, Soft Skills, LeadershipFormat: General SessionLevel: Introductory and overview

Services Reloaded: Increased Throughput with Project Loom Virtual Threads

Presented by: Kito Mann
Time: Thursday 1:00 PM - 2:00 PM

The promise of Reactive programming models is that you can free yourself from the constraints of handling one request for each thread and realize increased throughput as a result. The only problem is that it requires a completely different set of APIs that many developers find counter-intuitive....

Room: Salon GTrack: ArchitectureTags: Java, BackendFormat: General SessionLevel: Intermediate

Getting started in basic electronics, part 1 (Thursday)

Presented by: Rob Ballenger
Time: Thursday 1:00 PM - 2:00 PM

Please note that this is designed in such a way that you can join/drop at any time and attend the guided session or use the makerspace during open lab time. The idea behind this is to have this be a standalone class, but also a fallback for "the rule of feet". Want to get started in electronics but...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

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

Presented by: Brian Carnes
Time: Thursday 1:00 PM - 2:00 PM

This session will talk about the exciting world of 3D printing. We will go over exciting trends and happenings in the 3D printing world. We’ll then cover choosing a CAD app and will briefly cover using curated 3D printer object libraries and different CAD apps that might be more appropriate to...

Room: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Introductory and overview
2:00 PM

Getting started in basic electronics, part 2 (Thursday)

Presented by: Rob Ballenger
Time: Thursday 2:00 PM - 3:00 PM

Please note that this is designed in such a way that you can join/drop at any time and attend the guided session or use the makerspace during open lab time. The idea behind this is to have this be a standalone class, but also a fallback for "the rule of feet". Want to get started in electronics but...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

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

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: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Introductory and overview
2:15 PM

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

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

(Presented by Zaren Wienclaw, Josh Kulp, Jeremiah Cooley, and Colin Evans) We're back again! CGI once again presents a Gameshow For Geeks. Come to play, come to win, come for the prizes! Join the CGI team in a fast-paced pub-style team trivia that will test your programming know-how or at least...

Room: CypressTrack: Sponsor SessionFormat: Sponsor Session

Unleash the power of Java, JSON, and databases

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

(Presented by Josh Spiegel) Do you want to build a high-throughput, low-latency application using JSON and Java and leverage a persistent data store? Then you're in the right session. This session gives you an overview of the benefits of NoSQL-style document storage and how to leverage these...

Room: NileTrack: Sponsor SessionFormat: Sponsor Session

The Unified Code Base

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

(Presented by Henry Saint-Juste) We live in an ever-changing technologically enabled world and having a responsive website won't just cut it—organizations need to be mobile-ready. If you're a Web, Native iOS, or Android developer looking to deliver a cross-platform experience for your target...

Room: OrangeTrack: Sponsor SessionFormat: Sponsor Session

Cultivating Quality

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

(Presented by Emily Kjos) While the distinction between quality assurance and testing roles in software development isn’t always a clear line, communication and collaboration in development cycles are always a necessity. But, often, quality can take a backseat in considerations until products or...

Room: Salon ATrack: Sponsor SessionFormat: Sponsor Session

Orchestrate the Chaos: Process Automation in Modern Architectures

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

(Presented by Samantha Holstine) A recent (2022) poll by Kong placed the average number of microservices for a single enterprise at 184! Modern architecture patterns are great at optimizing resource usage, but what happens when you need to make a critical change to one process that spans multiple...

Room: Salon HTrack: Sponsor SessionFormat: Sponsor Session

High School Career Panel

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

Room: Salon D

It's Just a Simple Login Page Right?

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

(Presented by Kevin Hansen - Senior Solutions Architect at Okta) A login box is simple right? Really... how hard can it be to get two fields and a Login button working? Your application just has to take a set of credentials and validate them. Piece of cake... or is the cake a lie? In this session...

Room: Salon ETrack: Sponsor SessionFormat: Sponsor Session
3:00 PM

Open Lab 6

Time: Thursday 3:00 PM - 5:00 PM

Room: Ironwood
3:30 PM

Out of Control: How to Rescue a Struggling Software Project

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

We were drowning in bugs. We had countless partially implemented features. We had no tests, few types, no CI, no error handling, and we couldn't demo our work reliably. Developers kept copying anti-patterns in our code. Our software was out of control. If you want to improve quality and velocity,...

Room: Kilamanjaro BallroomTrack: Software QualityTags: Architecture, System Design, Code QualityFormat: General SessionLevel: Introductory and overview

Bad Tendencies in Leaders and How to Manage Up

Presented by: Benjamin Dobrowolski
Time: Thursday 3:30 PM - 4:30 PM

No matter where you’ve worked, we’ve all had those bosses that we’ve not gotten along with. But what if you did more than complain about it? What if you could “manage” your boss, to not only your benefit, but to your co-workers benefit as well? Take back control and learn to manage up...

Room: CypressTrack: Teams & CollaborationTags: Soft Skills, Leadership, Project ManagementFormat: General SessionLevel: Intermediate

casino / games setup

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

Room: Indigo Bay

Stop using JavaScript for that: moving features from JS to CSS and HTML

Presented by: Kilian Valkhof
Time: Thursday 3:30 PM - 4:30 PM

If you've been building websites for a while you "know" that some things require JS and that's just the way it is. Turns out, spec writers and browser makers both are working hard to find common JS patterns and implementing them in CSS and HTML. Things like accordions, auto-suggest, smooth...

Room: NileTrack: Design (UI/UX/CSS/a11y)Tags: Javascript, Front End, AccessibilityFormat: General SessionLevel: Intermediate

One app, multiple platforms: How Cross Platform Actually Works

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

Today's solutions for cross platform development all aim to provide developers a better way to build their apps. Build your app in a certain way, and you can ship it to multiple targets (iOS, Android, Web, etc.) with ease. But not all solutions are created equal, and it can be difficult to...

Room: OrangeTrack: MobileTags: Javascript, MobileFormat: General SessionLevel: Intermediate

Does Your API Need a REST? Check Out GraphQL

Presented by: Dan Vega
Time: Thursday 3:30 PM - 4:30 PM

GraphQL is a declarative query language that simplifies retrieving data from an application's back end. It provides a clear and comprehensive description of the data in your API, giving you the ability to request only what you need. This makes it easy to evolve APIs over time and enables powerful...

Room: Salon ATrack: Programming PrinciplesTags: Java, GraphQLFormat: General SessionLevel: Introductory and overview

Learning, Giving Back, & the Art of Community

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

As you journey through your career(s) in IT, it is becoming more critical for you to immerse yourself in the network of worldwide and regional communities that are available in just a few mouse clicks. The drive for continuous learning, combined with the passion for giving back through many...

Room: Salon HTrack: Career DevelopmentTags: Career Development, Diversity/Equity/Inclusion, Soft Skills, Leadership, TeamsFormat: General SessionLevel: Introductory and overview

yard games setup

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

Room: Salon D

Take Back Control - Introducing Veilid

Presented by: Bill Sempf
Time: Thursday 3:30 PM - 4:30 PM

Veilid is an open-source, peer-to-peer, mobile-first, networked application framework. It allows developers to build private, distributed, scalable social applications containing and sharing a user's personal content without data collection by third parties being of concern. Built by Cult of the...

Room: Salon ETrack: ArchitectureTags: Python, Rust, Mobile, Security, CloudFormat: General SessionLevel: Intermediate

Aerospace Engineering for Computer Scientists

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

It IS rocket science! What does the International Space station have to do with basic programming principles? What considerations need to be taken into account when computers go to space? How does putting people in space make systems more complicated? In this session, you’ll get the answers to...

Room: Salon BTrack: Programming PrinciplesTags: Programming Principles, Project ManagementFormat: General SessionLevel: Introductory and overview

Scaling your .NET app with Azure

Presented by: Callum Whyte
Time: Thursday 3:30 PM - 4:30 PM

You've made it big time, and your web app just can't handle the traffic... Where do you even start with scaling in Azure? This session will cover all there is to know about efficiently scaling an app on Azure; from scaling on App Service, to hosting in containers on AKS, and all the DevOps magic in...

Room: Salon GTrack: DevOpsTags: .NET, Cloud, DevOpsFormat: General SessionLevel: Introductory and overview
4:00 PM

From idea to physical series: Codemash Race League project. (open to Adults and Kidz) (Thursday)

Presented by: Brian Carnes
Time: Thursday 4:00 PM - 6:00 PM

Want to make something more advanced than the ones you made in the basic overview? We have some additional options to expand model building skills for those who have been through our previous sessions. This session the goal will be to build a raceable “matchbox/hot wheels scaled” 3d-printed...

Room: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Intermediate
4:45 PM

From Good to Great: How API Gateways Can Level-Up Your Software

Presented by: Daniel Mikusa
Time: Thursday 4:45 PM - 5:45 PM

In today's digital landscape, APIs are an essential part of most software offerings, and from financial services to a Chuck Norris joke generator, all APIs have similar pain points. - How do we secure our APIs? - How do we monitor our APIs? - How do we authenticate and authorize users? - How can we...

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

Alerts Don't Suck. YOUR Alerts Suck.

Presented by: Leon Adato
Time: Thursday 4:45 PM - 5:45 PM

The SRE handbook defines alerts as "A notification intended to be read by a human and that is pushed to a system such as a bug or ticket queue, an email alias, or a pager. Respectively, these alerts are classified as tickets, email alerts, and pages." and I just want to scream. Not because the...

Room: NileTrack: DevOpsTags: ObservabilityFormat: General SessionLevel: Introductory and overview

The Hazards of Sitting: An Osteopath’s Approach to Preventing Work-Related Injury.

Presented by: Michele Parsley-Lanning D.O.
Time: Thursday 4:45 PM - 5:45 PM

My training as an Osteopathic Physician prepared me to counsel my patients about injury and disease prevention. However, I did not realize the full impact of spending a majority of my time sitting at a desk would have on my overall movement and flexibility. In this talk, I will provide background...

Room: Salon ATrack: Career DevelopmentTags: Soft Skills, LeadershipFormat: General SessionLevel: Introductory and overview

My Pi in the Sky - Running MySQL on a Raspberry Pi and Replicating Data to the Cloud

Presented by: Scott Stroz
Time: Thursday 4:45 PM - 5:45 PM

Did you know that you can run MySQL on a Raspberry Pi and replicate the data to the cloud? In this session, we will cover how to install MySQL on a Raspberry Pi, give a brief overview of how to store data on this MySQL instance, demonstrate an application that can visualize that data, and finally,...

Room: Salon HTrack: Hardware/IoTTags: Hardware, DatabasesFormat: General SessionLevel: Advanced

What Does Security Look Like When Building AI?

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

Anyone who is working with AI or considering doing so should care about security. When considering building an AI-powered system or product, the traditional attack surfaces and mitigations still apply. However, new attack surfaces can be present depending on the specific AI approaches used. In...

Room: Salon ETrack: SecurityTags: Programming Principles, Security, Machine LearningFormat: General SessionLevel: Introductory and overview

Building accessible Android apps using Jetpack Compose

Presented by: Devanshu Chandra
Time: Thursday 4:45 PM - 5:45 PM

Recently Android introduced a new technique of developing Android user interface called Jetpack Compose. Using Kotlin APIs Jetpack Compose provides a faster and easier way to develop Android UI and has inbuilt support for Material Design, Dark Theme, Animation and much more. In this session we will...

Room: Salon BTrack: MobileTags: MobileFormat: General SessionLevel: Advanced

AI for Highway Maintenance

Presented by: Jordan Thayer
Time: Thursday 4:45 PM - 5:45 PM

Software touches every aspect of our lives, and no where is that clearer than in the automotive industry. With the recent surge to AI for self driving cars, we lose sight of adaptive cruise control, anti-lock breaks, and in-cab media centers that all require software to operate. However, did you...

Room: Salon GTrack: DataTags: Programming Principles, Machine Learning, PerformanceFormat: General SessionLevel: Introductory and overview
6:00 PM

Dinner

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

Room: Kilamanjaro Ballroom
7:00 PM

Attendee Party

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

Room: Grand Hall
7:30 PM

Electric Jam

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

Room: Kilamanjaro Ballroom

Acoustic Jam

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

Room: Cypress

Smash Tournament

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

Room: Salon A
8:00 PM

Casino

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

Room: Indigo Bay

Secret Rave

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

Ok, we know...it's not really a secret. Join in the fun, enjoy lights and sound, or dance your face off for a few hours! Look forward to our AV guy Christopher 'DJ Jem' dropping the beat.

Room: Banyan

Friday

7:30 AM

Breakfast (Friday)

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

Room: Kilamanjaro Ballroom
8:00 AM

Board Games (Friday)

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

Play board games all day until closing ceremonies in our new ginormous location this year!

Room: Board Game Room (Zambezi)
8:30 AM

Application Architecture Patterns

Presented by: Joseph Guadagno
Time: Friday 8:30 AM - 9:30 AM

Architecting an application can be challenging. What do you do to keep your application flexible to ever-constant requirement changes? How do you handle landscape changes (cloud, on-premises, databases)? How do you avoid over-engineering the application? How do I make sure my application plays well...

Room: CypressTrack: ArchitectureTags: Programming Principles, Architecture, System DesignFormat: General SessionLevel: Intermediate

State of Mobile Development

Presented by: Sam Basu
Time: Friday 8:30 AM - 9:30 AM

It’s 2024. Thankfully, developers have a lot of choice in how to build for mobile form factors. Mobile strategy can often be an afterthought – in reality, it needs to be driven by type of app, audience, platform reach, developer expertise & need for code reuse. Is Mobile web still an option?...

Room: Indigo BayTrack: MobileTags: .NET, JavascriptFormat: General SessionLevel: Intermediate

Writing Secure APIs - A Look at the OWASP 2023 API Top 10 List

Presented by: Darylynn Ross
Time: Friday 8:30 AM - 9:30 AM

OWASP published a new API top 10 list in July of 2023. There are some old favorites hanging around (I'm looking at you Authentication) and some new comers like Server Side Request Forgery and Unrestricted Access to Sensitive Business Flows. This session will cover the new top 10 list and take a...

Room: NileTrack: SecurityTags: Programming Principles, Security, Code QualityFormat: General SessionLevel: Introductory and overview

Caffeinate Your Queries: Brew Up Faster SQL with Tuning

Presented by: Tristan Chiappisi
Time: Friday 8:30 AM - 9:30 AM

In this session, embark on an engaging exploration as we unravel the mysteries of query tuning. From deciphering sluggish queries to unleashing their full potential, we will explore advanced techniques for optimizing SQL performance. Discover the art of indexing, rewriting queries for efficiency,...

Room: OrangeTrack: DataTags: SQL, DatabasesFormat: General SessionLevel: Advanced

The Vue.js Power Hour: Building a Dynamic Frontend in < 60 Minutes

Presented by: Tori Brenneison
Time: Friday 8:30 AM - 9:30 AM

Are you a beginner developer who is curious about JS component frameworks? A backend developer who wants to add a frontend skill to their toolbox? A data analyst looking for a quick way to build views? Have we got a deal for you! Vue.js is a relatively straightforward and increasingly popular...

Room: Salon ATrack: Web/Front-EndTags: Javascript, Front EndFormat: General SessionLevel: Intermediate

Reaping the Benefits of Ritual and Routine

Presented by: Arthur Doler
Time: Friday 8:30 AM - 9:30 AM

Software is as close as humans are ever going to come to actual magic. You type arcane incantations using cryptic symbols, crafting messages incomprehensible to most mortals and communicating them to vast, unknowable systems, to be executed blindly by idiot machine gods who follow our instructions...

Room: Salon HTrack: Career DevelopmentTags: Career Development, Soft Skills, Remote WorkFormat: General SessionLevel: Introductory and overview

Can We Learn to Manage Uncertainty? Probably!

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

When we’re asked when something will be done, it’s tempting to answer the question. “It’ll be done on March 32nd” or “it’ll take 182.5 days” or “we need 15 sprints”. It doesn’t matter if that answer is the best-case, average, or worst-case scenario. The answer is fundamentally...

Room: Salon DTrack: Teams & CollaborationTags: Soft Skills, Agile, Project ManagementFormat: General SessionLevel: Introductory and overview

Projectional Code Editors: Past, Present, and Future

Presented by: Jonathan Arnett
Time: Friday 8:30 AM - 9:30 AM

Have you ever felt that your humble text editor could be—should be—so much more? After all, the software we're writing is much more than text! Programming languages mandate rigid structures for textual code, for instance that (in some languages) the conditional for an "if" must be in...

Room: Salon ETrack: Programming PrinciplesTags: UI/UX, Code QualityFormat: General SessionLevel: Intermediate

Testing Mayhem on the Basic Side

Presented by: Jeanette Kalb
Time: Friday 8:30 AM - 9:30 AM

Did you ever wonder how a QA managed to find something you didn’t on that last feature card? Hint, it’s not magic, but there is a lot of mayhem. Your quality professionals need your help to help them test better. This talk will provide insight as to what your QA person goes through when deciding...

Room: Salon BTrack: Software QualityTags: Programming Principles, Code Quality, QA TestingFormat: General SessionLevel: Introductory and overview

Accelerating Accessible Software Development for People with Motor Disabilities

Presented by: Yvette Jenny Menase
Time: Friday 8:30 AM - 9:30 AM

In today's digital world, many people with motor disabilities face barriers when accessing and using software due to their assistive device & physical limitations. In this talk, we will discuss strategies and best practices for designing software that is accessible to people with motor...

Room: Salon GTrack: Design (UI/UX/CSS/a11y)Tags: Front End, Diversity/Equity/Inclusion, AccessibilityFormat: General SessionLevel: Introductory and overview
9:00 AM

Intro to Soldering (Friday)

Presented by: Damon Stamper
Time: Friday 9:00 AM - 10:00 AM

Learn how to solder electronic components by assembling a themed 'Codemash Prime' LED badge. We’ll go over basic soldering equipment, safety and technique. We’ll solder through-hole and SMD components. This session assumes no prior experience with electronics. Even if you’re a total beginner,...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

Artemis / LazerTag (Friday)

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

We have Artemis and Lazer Tag going on in Salon C and F. Registration is required. Register for a free ticket on tickets.codemash.org

Room: Artemis / Lazertag
9:45 AM

How to answer "When will it be done?" using probabilistic forecasting.

Presented by: Chris Shinkle
Time: Friday 9:45 AM - 10:45 AM

"When will it be done?" How often have you been asked that question? That question strikes fear or frustration in most people. It often results in throwing up your hands in frustration or tossing out a wild guess. Surely there's a better way? Forget story points, t-shirt sizing, historical...

Room: CypressTrack: Teams & CollaborationTags: Agile, Project Management, VelocityFormat: General SessionLevel: Intermediate

Platform as a Product: the future of Agile and DevOps

Presented by: Brad Nelson
Time: Friday 9:45 AM - 10:45 AM

Cross-functional teams and full-stack developers have become the expectation in today's highest-performing teams. However, as technology needs become more complex and solutions begin to scale, it becomes increasingly difficult for software engineers to balance expertise across all layers of the...

Room: Indigo BayTrack: DevOpsTags: Programming Principles, DevOps, Agile, System DesignFormat: General SessionLevel: Intermediate

Imposters! faking endpoints over-the-wire

Presented by: Bob Crowley
Time: Friday 9:45 AM - 10:45 AM

Faking remote services can be very useful. Maybe you need to build against a service that isn't created yet, mock micro service dependencies, test against an API that only has a production instance or validate a large number of data scenarios that would be difficult to achieve with a "real"...

Room: NileTrack: Software QualityTags: Backend, Code Quality, QA TestingFormat: General SessionLevel: Intermediate

Clean Architecture with ASP.NET Core 8

Presented by: Steve Smith
Time: Friday 9:45 AM - 10:45 AM

Clean Architecture is a very popular approach for DDD and Microservices, and for good reason. It's not a new approach, and went by other names in the past (e.g. Onion, Hexagonal, Ports-and-Adapters). One of the main benefits of the approach is its focus on business logic and its reduction in...

Room: OrangeTrack: ArchitectureTags: .NET, C#, Backend, Object Oriented Programming, Programming Principles, Architecture, System Design, Code QualityFormat: General SessionLevel: Intermediate

Building Event Driven User Interfaces

Presented by: Sam Ferree
Time: Friday 9:45 AM - 10:45 AM

In the realm of modern software development, creating dynamic and responsive user interfaces is essential to delivering engaging user experiences. Event-driven architectures have emerged as a powerful paradigm to achieve this goal. In this enlightening talk, we will delve into the world of...

Room: Salon ATrack: Web/Front-EndTags: Front End, Object Oriented Programming, System DesignFormat: General SessionLevel: Intermediate

Expect the Unexpected: Handling Exceptions in Enterprise Applications

Presented by: Kito Mann
Time: Friday 9:45 AM - 10:45 AM

One of the most common reasons for software defects is poor exception handling. The more complex the application, the more difficult it can be to track down the root cause of a bug. An exception at the service or database layer may manifest itself as unpredictable behavior at the user interface...

Room: Salon HTrack: Programming PrinciplesTags: Java, Programming Principles, Architecture, System DesignFormat: General SessionLevel: Intermediate

Understanding CSS Layout: the concepts underlying your (least) favorite language.

Presented by: Kilian Valkhof
Time: Friday 9:45 AM - 10:45 AM

Have you ever felt perplexed by CSS, struggling to understand why the browser put the element where it did, and why it didn’t just follow the clear instructions you wrote? Do you think CSS is hard to work with? By getting a better understanding of the concepts that underlie the language, you’ll...

Room: Salon DTrack: Design (UI/UX/CSS/a11y)Tags: Front End, CSSFormat: General SessionLevel: Intermediate

Building Better Teams Through Play

Presented by: Jenny Bramble
Time: Friday 9:45 AM - 10:45 AM

Teams work incredibly hard to drive software and processes forward. Sometimes we neglect the emotional side of our hard work, leaving teams brittle and less able to adapt and bend. How do we release tension and form the strong bonds that a good team needs to be successful as well as honing some of...

Room: Salon ETrack: Teams & CollaborationTags: Soft Skills, LeadershipFormat: General SessionLevel: Intermediate

Harnessing the Power of Asynchronous Messaging and Eventing for Distributed Systems at Scale

Presented by: Eric Boyd
Time: Friday 9:45 AM - 10:45 AM

Distributed applications, microservices solutions and systems at scale depend on In today's era of distributed applications, microservices, and systems at scale, the key to achieving agility, resilience, and scalability lies in mastering the art of asynchronous messaging and eventing. In this...

Room: Salon BTrack: ArchitectureTags: Architecture, System Design, PerformanceFormat: General SessionLevel: Intermediate

Alexa on the Go: Building Location Aware Voice Experiences for Alexa

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

When you think of voice assistants like Amazon Alexa, you probably are thinking of a device on a shelf or a desk somewhere, tethered to a power outlet. But what if you could take Alexa with you wherever you go? Several devices allow for mobile Alexa, including Echo Auto, Echo Frames, Echo Buds,...

Room: Salon GTrack: MobileTags: Javascript, Front End, MobileFormat: General SessionLevel: Intermediate
10:00 AM

Open Lab 7

Time: Friday 10:00 AM - 12:00 PM

Room: Ironwood
11:00 AM

Networking for Introverts: Build, Maintain, and Use Networks Without Being Creepy

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

You've heard that having a professional network is important for career growth, for learning about your industry, and to help out in the event of a layoff. But how do you go about building one from scratch? Taking a transactional, goal-oriented approach may be good engineering design, but it tends...

Room: CypressTrack: Career DevelopmentTags: Career Development, Diversity/Equity/Inclusion, Soft SkillsFormat: General SessionLevel: Introductory and overview

The Right Database for the Right Job

Presented by: Nuri Halperin
Time: Friday 11:00 AM - 12:00 PM

Picking a database for your particular purpose is hard, and vendors don't make it easier. So which database is right for which workload? This session breaks down the decision factors into characteristics that let you decide and reason with them on even ground. We will examine the underlying...

Room: Indigo BayTrack: DataTags: Databases, ArchitectureFormat: General SessionLevel: Intermediate

Practical Auth(entication|orization) for Developers

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

It's never been easier to launch a website or expose services over HTTP. It's also never been easier to make rookie mistakes in the authentication of those services. This session is designed for the average developer/architect that's struggling to make sense of modern authentication options. You'll...

Room: NileTrack: SecurityTags: Programming Principles, SecurityFormat: General SessionLevel: Introductory and overview

Beyond Request/Response: Why and how we should change the way we build web applications

Presented by: Chris Nelson
Time: Friday 11:00 AM - 12:00 PM

As web developers, we’ve been building web applications the same way for 25 years. We send a request, and we receive a response. We might get a whole page back, or we might get some data to render, but the common thread for almost every web application that has ever been built is the...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Front End, Functional ProgrammingFormat: General SessionLevel: Intermediate

Async Masterclass

Presented by: Stephen Cleary
Time: Friday 11:00 AM - 12:00 PM

You've mastered async and await, but you find you need more powerful tools. This is how to build them. Tired of reading articles about async that just don't go deep enough? Here you go. This is the async masterclass. There are no breakfast food analogies here. Except bacon, because bacon is...

Room: Salon ATrack: Programming PrinciplesTags: .NET, C#, Programming PrinciplesFormat: General SessionLevel: Advanced

Developing kids in tech - a retrospective

Presented by: Bill Sempf
Time: Friday 11:00 AM - 12:00 PM

Your humble speaker has spent the last eighteen years devising, researching, and implementing ways to get kids into tech. Between Scouting, advising friends, KidzMash, and my own Thing 1 and Thing 2, I have accumulated a rather dramatic list of ideas that do and do not work. Programming, social...

Room: Salon HTrack: Career DevelopmentTags: Python, Security, LeadershipFormat: General SessionLevel: Introductory and overview

CQRS with Event Sourcing using the “Critter Stack”

Presented by: Jeremy Miller
Time: Friday 11:00 AM - 12:00 PM

Do you have a system where you think would be a good fit for a CQRS architecture that also uses Event Sourcing for at least part of its persistence strategy? Are you intimidated by the potential complexity of that kind of approach? Fear not, using a combination of the Postgresql-backed Marten...

Room: Salon DTrack: ArchitectureTags: .NET, Databases, ArchitectureFormat: General SessionLevel: Intermediate

Failing Forward

Presented by: Jeremy Jarrell
Time: Friday 11:00 AM - 12:00 PM

The first iteration of a product never succeeds. Nor does the second, the tenth, or even the 20th. Instead, most of the successful products we know and love today were abject failures at the start…but then evolved to get better. Chances are your own product might be heading toward failure right...

Room: Salon ETrack: Teams & CollaborationTags: Agile, Project Management, UI/UXFormat: General SessionLevel: Introductory and overview

Watch this! Building a Health app for Wear OS

Presented by: Sierra OBryan
Time: Friday 11:00 AM - 12:00 PM

One of the most popular answers for a favorite smart watch feature is to monitor your health. From steps to heart rate to exercise to sleep, smart watches do it all and with Jetpack Compose and Health Services, we can build our own app for Wear OS! During this talk, we’ll explore building for...

Room: Salon BTrack: MobileTags: Hardware, MobileFormat: General SessionLevel: Intermediate
11:45 AM

Lunch (Friday)

Time: Friday 11:45 AM - 1:45 PM

Room: Kilamanjaro Ballroom
12:15 PM

Blood, Sweat, & Code Reviews

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

Code Reviews can sometime be painful and time-consuming, but they are an important part of delivering quality software. A Code Review provides an opportunity to share knowledge, improve code and catch potential problems before they go to production. This can be a positive experience or a negative...

Room: CypressTrack: Software QualityTags: Programming Principles, DevOps, AgileFormat: General SessionLevel: Intermediate

Multithreaded Income: How Developers Can Achieve Parallel Success

Presented by: Kevin Griffin
Time: Friday 12:15 PM - 1:15 PM

In an unpredictable tech industry, job security is fragile. How can developers harness their unique skills to create a diversified, resilient professional life? This talk presents the concept of "Multithreaded Income," a strategic approach to building parallel income streams inspired by the...

Room: Indigo BayTrack: Career DevelopmentTags: Career Development, Soft SkillsFormat: General SessionLevel: Introductory and overview

Fresh Hot CSS Features!

Presented by: Alex Riviere
Time: Friday 12:15 PM - 1:15 PM

Do you use a CSS Framework like bootstrap? Or maybe you've been coasting for a few years on your current knowledge of CSS. You've maybe seen something called CSS Grid and wondered what it was... Maybe you have never seen `var()` used before. Let's discuss the latest newest hottest big features in...

Room: NileTrack: Design (UI/UX/CSS/a11y)Tags: Front End, CSS, UI/UXFormat: General SessionLevel: Intermediate

All your secrets are belong to us

Presented by: Callum Whyte
Time: Friday 12:15 PM - 1:15 PM

Admit it: we've all checked in an API key or password to a repo at some point... Oops... No one wants their secrets to accidentally leak, so this session is your essential refresher on secret management (and mismanagement!) for your applications and beyond! Let's explore the range of methods and...

Room: OrangeTrack: SecurityTags: .NET, Security, DevOpsFormat: General SessionLevel: Intermediate

.NET on AWS: Wait, you can do that?

Presented by: Brad Knowles
Time: Friday 12:15 PM - 1:15 PM

.NET on AWS: Wait, you can do that? That's right, .NET is a first-class citizen on AWS, meaning you can run any .NET workload in your organization. Are you currently using AWS and need help understanding the .NET landscape? Are you comparing cloud providers and looking to understand what AWS can...

Room: Salon ATrack: ArchitectureTags: .NET, C#, CloudFormat: General SessionLevel: Introductory and overview

Dream Teams: Hiring (and Keeping) the Right People

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

Everyone says that “your people are your most important asset.” But how do you find the RIGHT people? And once you have them, how do you keep them? In this entertaining session, we’ll turn the traditional hiring process on its head and share a new perspective on how to identify the right...

Room: Salon HTrack: Teams & CollaborationTags: Soft Skills, Leadership, TeamsFormat: General SessionLevel: Introductory and overview

Delivery & Execution Across Multiple Teams with Azure Dev Ops

Presented by: Krista Campbell
Time: Friday 12:15 PM - 1:15 PM

Azure Dev Ops started as a tool specifically for software development teams. It’s only been a few years since it was rebranded from Team Foundation Services/Server to Azure Dev Ops. It has always been a great tool for autonomous development teams to deliver great software but fallen flat in...

Room: Salon DTrack: DevOpsTags: CI/CD, Agile, Project ManagementFormat: General SessionLevel: Introductory and overview

Best of Both Worlds: Apache Pulsar and Apache Kafka

Presented by: Mary Grygleski
Time: Friday 12:15 PM - 1:15 PM

Which streaming technology is right for me? Do I need to use Apache Pulsar or do I choose Apache Kafka? That is mostly the question, but did you also knew that you can combine them?  In this session we will show how to use best of both worlds. Let's compare both architectures and Java Client...

Room: Salon ETrack: ArchitectureTags: Java, Backend, ArchitectureFormat: General SessionLevel: Introductory and overview

From Zero to Hero: Building and Shipping Your First JavaScript Library

Presented by: Mike Hartington
Time: Friday 12:15 PM - 1:15 PM

If you're a developer, chances you've used a third-party library for various parts of your projects. Third-party libraries offer so much functionality that they are essential to most teams success. So, how do you make your own library? How do you go from your teams "utils" folder, to a package on...

Room: Salon BTrack: Web/Front-EndTags: JavascriptFormat: General SessionLevel: Introductory and overview
1:00 PM

Getting started in basic electronics, part 1 (Friday)

Presented by: Rob Ballenger
Time: Friday 1:00 PM - 2:00 PM

Please note that this is designed in such a way that you can join/drop at any time and attend the guided session or use the makerspace during open lab time. The idea behind this is to have this be a standalone class, but also a fallback for "the rule of feet". Want to get started in electronics but...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

3D printing/CAD open lab and hangout

Presented by: Brian Carnes
Time: Friday 1:00 PM - 5:00 PM

Come hang out during open lab hours!

Room: Crown PalmTrack: 3D PrintingFormat: MakerspaceLevel: Introductory and overview

Racing 1

Time: Friday 1:00 PM - 2:00 PM

Room: Banyan
2:00 PM

Getting started in basic electronics, part 2 (Friday)

Presented by: Rob Ballenger
Time: Friday 2:00 PM - 3:00 PM

Please note that this is designed in such a way that you can join/drop at any time and attend the guided session or use the makerspace during open lab time. The idea behind this is to have this be a standalone class, but also a fallback for "the rule of feet". Want to get started in electronics but...

Room: IronwoodTrack: ElectronicsFormat: MakerspaceLevel: Introductory and overview

Racing 2

Time: Friday 2:00 PM - 3:00 PM

Room: Banyan
2:45 PM

Creative Problem Solving

Presented by: Eric Potter
Time: Friday 2:45 PM - 3:45 PM

You're a developer. Solving problems is a big part of what you do. But how can you learn to think more clearly and more creatively about the problems you are solving? In this session, you will learn about the cognitive science of creative thinking. You will also learn some practical things you can...

Room: CypressTrack: Teams & CollaborationTags: Career Development, Soft Skills, Leadership, TeamsFormat: General SessionLevel: Introductory and overview

Morality and AI: How do I use this power responsibly?

Presented by: Cameron Vetter
Time: Friday 2:45 PM - 3:45 PM

As artificial intelligence (AI) continues to advance, it becomes increasingly important to address the ethical implications and moral considerations surrounding its use. In this talk, we will explore the intersection of morality and AI, focusing on how individuals and organizations can wield this...

Room: NileTrack: DataTags: Machine Learning, Data ScienceFormat: General SessionLevel: Introductory and overview

The Micro-Frontend Playbook

Presented by: Marko Skugor
Time: Friday 2:45 PM - 3:45 PM

Micro-frontend architecture can provide a lot of great benefits to team autonomy and can play a crucial role in enabling technical and organizational scalability. At the same time, it also comes with a lot of potential pitfalls and anti-patterns to avoid. In this talk we'll learn how to apply Domain...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Front End, Cloud, ArchitectureFormat: General SessionLevel: Intermediate

The Developer Relations Playbook: How to build bridges by putting people first

Presented by: Dan Vega
Time: Friday 2:45 PM - 3:45 PM

Are you passionate about technology and love engaging with communities? Ever wondered how you could turn these interests into a fulfilling career? Look no further! "The Developer Relations Playbook: How to Build Bridges by Putting People First" is your comprehensive guide to becoming a Developer...

Room: Salon ATrack: Career DevelopmentTags: Career Development, Soft Skills, Remote WorkFormat: General SessionLevel: Introductory and overview

Protocol Design

Presented by: Stephen Cleary
Time: Friday 2:45 PM - 3:45 PM

This language-agnostic talk will examine the design of application protocols, with a focus on TCP/IP. This talk is part history and part practical implementation. If you have a need to design a TCP/IP protocol, then this talk will cover everything you need. Most bugs in TCP/IP applications are...

Room: Salon HTrack: Programming PrinciplesTags: System DesignFormat: General SessionLevel: Introductory and overview

Teaching Skills For Technical Experts

Presented by: Tori Brenneison
Time: Friday 2:45 PM - 3:45 PM

Bad news: tech folks are not always the most compelling teachers. (It's not our fault; we're used to talking to computers, not people!) Good news: teaching people is a learnable skill. Best news: this talk is a 45-minute primer on educational philosophy, curriculum development, and content...

Room: Salon ETrack: Teams & CollaborationTags: Soft Skills, LeadershipFormat: General SessionLevel: Introductory and overview

Unlocking Inclusive Potential: Screen Reader Integration for Hybrid Mobile Apps

Presented by: Chris DeMars
Time: Friday 2:45 PM - 3:45 PM

Join us as we uncover the untapped potential of screen reader integration in hybrid mobile apps. This talk will delve into the technical aspects of integrating screen reader functionality, discussing the challenges and opportunities that arise during development. Discover effective techniques for...

Room: Salon BTrack: MobileTags: Javascript, Mobile, AccessibilityFormat: General SessionLevel: Introductory and overview
3:00 PM

Racing 3

Time: Friday 3:00 PM - 4:00 PM

Room: Banyan
4:00 PM

Visual Storytelling: How to be a Superhuman Communicator

Presented by: David Neal
Time: Friday 4:00 PM - 5:00 PM

Who says communication has to be dry, dull, and boring? Simple, hand-drawn illustrations are a compelling and fun way to engage, inform, and win your audience of readers and viewers! Drawing is a skill that anyone can learn. There's no such thing as "bad" art! You can make a huge impact with some...

Room: CypressTrack: Career DevelopmentTags: Career Development, Soft SkillsFormat: General SessionLevel: Introductory and overview

From Theory to Practice: Building Reliable Event-Driven Services

Presented by: Hugh McKee
Time: Friday 4:00 PM - 5:00 PM

This talk will delve into the key concepts and strategies for creating effective and efficient event-driven services. We will cover the following topics: Handling at-least-once message delivery: This section will discuss the importance of ensuring that messages are delivered at least once, even in...

Room: Indigo BayTrack: ArchitectureTags: Java, Backend, Programming Principles, System DesignFormat: General SessionLevel: Intermediate

You Are the Pilot: Getting Better with Code Gen AI Tools

Presented by: Sean Wedig
Time: Friday 4:00 PM - 5:00 PM

You might have asked yourself - "Self, what's all this hubub about AI tools for programmers? Am I going to lose my job?" and you might have answered, "I don't know, self. I haven't even really played with any AI code generation tools. There are so many tools, I wouldn't even know where to...

Room: NileTrack: Programming PrinciplesTags: Velocity, Machine Learning, Code QualityFormat: General SessionLevel: Introductory and overview

Agile Pitfalls and How to Parry Them: A Practical Guide

Presented by: Arin Heinselman
Time: Friday 4:00 PM - 5:00 PM

Hey there, fellow conference-goers! 🎉 Imagine this: you've embarked on the Agile journey, armed with good intentions and high spirits, only to find yourself tangled in a web of chaos and confusion. Fear not, because our talk is here to save the day! 🦸‍♂️ Join us for a rollercoaster...

Room: OrangeTrack: Teams & CollaborationTags: Soft Skills, Leadership, AgileFormat: General SessionLevel: Intermediate

From Legacy Monolith to Microservices via Event Storming

Presented by: Sarah Dutkiewicz
Time: Friday 4:00 PM - 5:00 PM

It can be overwhelming to take a legacy monolith and split it into microservices, especially if the code seems messy. However, conversations with techies and non-techies over policies and process through an exercise called Event Storming can help ease your migration from a monolith to microservices....

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

What's that smell? Monitoring air quality with Python, Raspberry Pi, and Redis

Presented by: Justin Castilla
Time: Friday 4:00 PM - 5:00 PM

With a little wiring and a few lines of code, one can create your own hyper-local air sensor system to send alerts, activate smart-windows, and gather data. A sensor measures air particulate density and sends the values to a Raspberry Pi compute unit. The Raspberry Pi then sends the data along with...

Room: Salon HTrack: Hardware/IoTTags: Python, IoT, Cloud, Data Science, DatabasesFormat: General SessionLevel: Intermediate

Testing Enterprise Software Rewrites

Presented by: Umang Nahata
Time: Friday 4:00 PM - 5:00 PM

Most enterprises have legacy code that needs to be rewritten to keep pace with industry standards, new technologies, and modern infrastructures. The primary purpose of a software rewrite is to ensure functional compatibility before retiring the current system. However, replacing large, complex,...

Room: Salon ETrack: Software QualityTags: Backend, Code Quality, QA TestingFormat: General SessionLevel: Introductory and overview

Unveil the Magic Without Hoodini: Transform Your Data Lake into a Fountain of Insights

Presented by: Nadine Farah
Time: Friday 4:00 PM - 5:00 PM

Many people have been using their data lake as vast reservoirs of data. Yet, there’s been a real struggle to harness the full potential of this data to power actionable insights. These data lakes often become stagnant because processing and analyzing them is hard. Hudi’s magic, however, brings a...

Room: Salon BTrack: DataTags: Databases, Architecture, System Design, PerformanceFormat: General SessionLevel: Introductory and overview
5:00 PM

Closing

Time: Friday 5:00 PM - 6:00 PM

Room: Kilamanjaro Ballroom