[
  {
    "groupId": null,
    "groupName": "All",
    "sessions": [
      {
        "questionAnswers": [],
        "id": "1179720",
        "title": ".NET Aspire & Existing Projects: Elevate Developer Experiences",
        "description": "Starting new projects with .NET Aspire is documented in great detail, however, existing projects and the usage of Aspire is far less understood.  This session will explore .NET Aspire, what it is, how it benefits teams, and how you can utilize it in existing projects to improve productivity and setup your team for success, even if not utilizing it for cloud deployment. \r\n\r\nWe will explore the high-level features of Aspire and the benefits they offer to development teams.  We will review how to integrate Aspire into an existing project, allowing for a quick setup of environments and a consistent development process.  We will finish with tips and tricks to take your existing application, regardless of the architecture and leverage Aspire to improve developer, testing, and other experiences.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "a9011c65-6287-4529-ac91-56a8b9daa9a9",
            "name": "Mitchel Sellers"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197506",
        "title": ".NET Workshop with Hands-On API Building",
        "description": "Join us for an all-day workshop where you will learn about the latest features and enhancements in .NET, ASP.NET Core, and Visual Studio. You will discover:\r\n\r\n- What’s New in .NET\r\n- ASP.NET Core Fundamentals\r\n- Building Web Apps with ASP.NET Core\r\n- Building Web APIs with ASP.NET Core\r\n- Hands on Lab - Creating a RESTful API with ASP.NET Core with a database\r\n- Debug your code efficiently with Visual Studio, using breakpoints, watch windows, and diagnostic tools\r\n\r\nThis workshop will help you master the skills and tools you need to create high-quality web applications. You will also have the opportunity to ask questions and get feedback from the instructor.\r\n\r\nTarget Audience\r\nThis workshop is geared toward individuals getting started with ASP.NET Core or not familiar with how modern ASP.NET Core works. Attendees should have experience with .NET and an understanding of basic web programming paradigms.\r\n\r\nRequirements\r\n- Visual Studio or JetBrains Rider\r\n- .NET 8 or later, 10 is preferred\r\n- .NET Workload of ASP.NET and web development\r\n- git client\r\n- A working internet connection\r\n- Ability to install software on your machine",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "137fb55c-d120-4a6b-9e15-98123df17302",
            "name": "Joseph Guadagno"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197618",
        "title": "[FAMILY DAY] Mad Science Lab",
        "description": "Welcome to the Mad Science Lab, where curious minds experiment, reactions bubble, and things don’t always go according to plan. After a quick safety briefing, you’ll begin your journey as a junior scientist, mixing, testing, observing, and uncovering the secrets behind some truly strange and surprising reactions.\r\n\r\nThis hands-on experience will introduce you to the weird and wonderful world of chemistry through a series of interactive experiments and demonstrations. Activities include:\r\n\r\n- Slime Lab: Create your own stretchy, squishy slime while exploring how materials change when mixed together.\r\n- Oobleck Station: Discover a substance that acts like both a liquid and a solid; can you figure out when and why?\r\n- Invisible Ink: Write and reveal secret messages using simple chemical reactions.\r\n- Hydrophobic Sand: Experiment with sand that refuses to get wet and uncover why water behaves differently on certain surfaces.\r\nColor-Changing Reactions: Mix solutions and watch them transform before your eyes in a rainbow of unexpected results.\r\n\r\nThroughout the session, you can explore self-guided experiment stations at your own pace, or join in for live demonstrations where we’ll take a closer look at some of the most exciting reactions and uncover the science behind them.\r\n\r\nWorking alongside fellow scientists, you’ll observe, experiment, and maybe even make a few (controlled) messes as you learn how the world reacts, mixes, and transforms.\r\n\r\nThis session includes facilitator-led demonstrations as well as independent stations set up throughout the room for continuous exploration.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "541aa751-e4b9-4318-8436-89e14ee489cd",
            "name": "Jim Vomero"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1183491",
        "title": "[FAMILY DAY] Money Mastery for Kids: A Fun Game of Financial Choices",
        "description": "Financial literacy is an essential life skill, and the earlier kids learn the basics, the better prepared they will be for the future. In this interactive session, we will introduce kids to the world of money, helping them understand key concepts such as budgeting, saving, spending, borrowing, and investing through a hands-on, game-based experience.\r\n\r\nDesigned for children ages 8-12, this session will use a fun and engaging game format to teach kids how to manage money wisely. They'll learn how to make decisions about how to spend, save, and invest their \"money,\" while also learning the importance of making smart choices when it comes to borrowing and budgeting.\r\n\r\nKey takeaways from this session:\r\n\r\nBudgeting Basics: How to allocate money for different categories like needs, wants, savings, and giving.\r\n\r\nSaving and Spending: The importance of saving for future goals and the difference between needs and wants.\r\n\r\nBorrowing Wisely: The risks of borrowing money and how interest affects debt.\r\n\r\nInvesting for the Future: A simple introduction to the concept of investing and how money can grow over time.\r\n\r\nMaking Smart Financial Decisions: Understanding the long-term impact of everyday financial choices.\r\n\r\nIn this highly interactive session, kids will:\r\n\r\nPlay a financial planning game where they’ll make choices about how to allocate their money, balancing needs and wants.\r\n\r\nLearn how to save by setting aside money for future goals, and make decisions on when to spend or invest.\r\n\r\nExperience the consequences of borrowing and paying interest in a controlled, fun environment.\r\n\r\nDiscover the basics of investing, including how to start with small amounts of money and watch it grow.\r\n\r\nBy the end of the session, kids will have a foundational understanding of how to manage money responsibly, make informed financial decisions, and start developing the skills that will help them succeed in their financial futures.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "2ea807b3-5bcf-4c73-bb3a-f47288f3e1c4",
            "name": "Hannah Lorenzo"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1179721",
        "title": "“But It Was Logged!” Modern Logging and Observability for .NET & Blazor",
        "description": "Logging in .NET is easy! Building systems that actually help you diagnose production problems is not. This modernized session revisits a long-running fan-favorite and updates it for today’s cloud-native world with Blazor, Minimal APIs, OpenTelemetry, and distributed tracing. Learn how to design structured logs, protect sensitive data, correlate requests across services, and turn raw telemetry into actionable alerts. We’ll explore storage options, dashboards, escalation paths, and environment-specific configuration strategies through real-world code examples. Attendees leave knowing how to move from “we logged something” to true observability in modern .NET applications.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "a9011c65-6287-4529-ac91-56a8b9daa9a9",
            "name": "Mitchel Sellers"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197565",
        "title": "1,001 Ways to Go Async: From go func() to Graceful Concurrency",
        "description": "Go makes concurrency look easy until you’re hunting down a deadlock on a weekend. Let’s be real: concurrency is just a fancy way of saying \"doing five things at once without making a mess.\"\r\n\r\nI’m breaking down how to handle background work without the \"launch and pray\" strategy. We’ll talk about when a simple channel works, when you need something beefier like an errgroup, and how to stop your app from crashing when things go sideways. If you want your code to be fast but actually predictable, come hang out.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "e2a6d4ef-340c-462c-b35a-81fa681766b1",
            "name": "Cleyrol Santana Cristopher"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196136",
        "title": "A Developer's Guide to Open Source Web Mapping Libraries",
        "description": "Want to build interactive maps on the web but are not sure where to start? In this hands-on workshop, you'll learn how to build modern browser-based mapping apps using open source tools like Leaflet and MapLibre GL JS. We'll cover the core geospatial concepts developers actually need, how to work with common web map data formats, and how to choose the right library for different use cases.\r\n\r\nBy the end of the session, attendees will have built a working map experience, added data and interactivity, and picked up practical techniques for performance, styling, and usability. This workshop is designed for JavaScript developers who want a clear, approachable path into web mapping without needing a GIS background.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "fb198ed4-83c5-45dc-9298-9321d1cd9731",
            "name": "Courtney Yatteau"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1195332",
        "title": "AI Image Generation",
        "description": "AI is reshaping creative workflows, with modern image generators producing stunning photo realistic visuals from simple text prompts. These models make it possible for artists to explore new creative possibilities and for everyday users to experiment with ideas they may not have been able to visualize before.\r\n\r\nIn this session, you'll learn the core techniques behind AI image generation. We will take a closer look at the open source Stable Diffusion architecture, explore how it works, and highlight the broader landscape of AI powered image creation and editing through practical examples.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "159745ae-3682-48d3-8767-b83f9a40bb16",
            "name": "Scott Kay"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1184347",
        "title": "AI Software Factory: How to deliver features during lunch",
        "description": "The promise of AI in software development is that it will profoundly increase the rate of software delivery. But merely using AI tools does not deliver on that promise. Putting together an end-to-end automated process is what's required. That is the pattern of the \"AI Software Factory\". \r\n\r\nIn this session, you will see an AI Software Factory in motion and learn what you need to do to implement this pattern for yourself to 2x and 3x your pace of software delivery.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "30f886ef-decb-49a9-a50e-db3ccff459e1",
            "name": "Jeffrey Palermo"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1192793",
        "title": "Are AI Agents the Ultimate Confused Deputy? How AI Agents' Capabilities Are Being Abused",
        "description": "AI agents have unlocked limitless use cases, but at the same time, they have also introduced new threats as AI agents are now given extensive permissions to data sources and mutating actions through MCP and similar protocols. This talk dives into some of the real-world vulnerabilities affecting AI agents to show how their capabilities are being abused, and to discover the common patterns and causes, e.g.\r\n1. GitHub's MCP vulnerability leading to private repo access. Details [here](https://invariantlabs.ai/blog/mcp-github-vulnerability)\r\n2. VS Code Co-pilot's RCE CVE-2025-53773. Details [here](https://embracethered.com/blog/posts/2025/github-copilot-remote-code-execution-via-prompt-injection/)\r\n\r\nThe talk also discusses some of the possible mitigations, such as proper isolation, least privilege, use of OAuth, and limiting agent scope.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "a3dab988-9478-4b89-871c-3961452df6d0",
            "name": "Mohamed AboElKheir"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1195194",
        "title": "Aspire 13: One AppHost, Many Languages",
        "description": "Aspire 13 is a surprisingly good way to make a mixed-stack project feel like one product instead of three separate repos held together by docs and duct tape. In this session, we’ll build a small polyglot system from scratch where a .NET API, a Python worker, and a Node front end all run under a single Aspire AppHost. The payoff is a clean, repeatable workflow for wiring services together, running them locally, and keeping configuration and dependencies from turning into everyone’s least favorite onboarding ritual.\r\n\r\nAs we grow the app, we’ll tackle the practical stuff that tends to break first in real teams. You’ll see how to add and connect services safely, manage environment configuration without guesswork, and make debugging across languages feel routine. We’ll also talk about the common failure patterns in polyglot systems, like mismatched dependency versions, “it only works on my machine” scripts, and hidden runtime assumptions, plus how Aspire helps you replace those with something intentional.\r\n\r\nFinally, we’ll zoom out and connect the dots to the broader toolchain. We’ll look at the Aspire CLI and integrations that keep the workflow consistent as the system grows, what “production-ready” looks like in a polyglot repo, and how Aspire’s model maps to the way teams automate builds and deployments in CI. If you’re thinking about Azure, we’ll also talk through the kinds of infrastructure decisions teams typically want to control, and where Aspire can plug into that story.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "2ebd8578-298f-45ae-b71b-dc076037b080",
            "name": "Chris Ayers"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1177058",
        "title": "Assume Nothing (Or At Least, Assume Less)",
        "description": "Here's something no one wants to admit: you're making assumptions constantly. About what your coworker meant in that email. About what the client actually wants. About whether everyone in the room is on the same page. Spoiler: they're not, and neither are you.\r\n\r\nBut assumptions aren't always bad! In fact, sometimes they're necessary — you can't stop and verify every piece of information in every conversation. But most of us are terrible at knowing when we're making them, which ones are safe to make, and which ones are quietly setting us up for expensive, embarrassing, or completely avoidable mistakes.\r\n\r\nThis session is about developing that instinct. We'll look at how to recognize the moments when you think you understand but probably don't, how to ask for clarification without looking incompetent or annoying, and how to tell the difference between an assumption that's reasonable and one that's a disaster waiting to happen.\r\n\r\nThe space between what was said and what was meant is where a lot of miscommunication lives, but the good news is, with the right questions (and the self-awareness to know when to ask them) that gap is a lot easier to close than you think.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "645adf23-f177-4ca8-b3c5-f2217624f488",
            "name": "Amy Norris"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1168373",
        "title": "Automating Compliance in Cloud Data Platforms Using Policy-as-Code",
        "description": "As organizations grapple with increasingly complex regulatory frameworks across multi-cloud environments, traditional manual compliance approaches have become unsustainable. High-performing development teams deploy multiple times daily, creating fundamental incompatibility with quarterly compliance review cycles, while containerized resources average only 2.8 days in production, making point-in-time assessments essentially meaningless.\r\nPolicy-as-Code (PaC) represents a paradigm shift that transforms compliance from periodic validation to continuous enforcement integrated within CI/CD pipelines. This presentation examines how organizations implementing PaC methodologies achieve substantial reductions in governance-related administrative overhead while simultaneously improving assessment comprehensiveness. Through declarative policy frameworks, organizations streamline policy maintenance compared to imperative scripting approaches, while significantly reducing compliance-related production incidents.\r\nThe session explores core architectural components including policy definition layers utilizing domain-specific languages (Rego, Sentinel, CloudFormation Guard), enforcement mechanisms spanning pre-deployment validation through runtime monitoring, and automated remediation capabilities. Attendees will learn implementation strategies across four critical phases: policy inventory and classification, policy engineering, architectural integration, and continuous compliance monitoring.\r\nDrawing on enterprise implementations, the presentation addresses key challenges including policy lifecycle management, performance optimization techniques, and expertise development approaches. The session concludes with emerging trends in AI-assisted policy generation for deriving requirements from regulatory texts, federated policy management models for multi-cloud consistency, and policy-driven data governance extending beyond infrastructure to encompass data classification, quality validation, and privacy-preserving transformations throughout the data lifecycle.\r\n\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "2b5f58f9-c8b5-42cd-a311-2caace719bcb",
            "name": "Madhu Rebbana"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1197520",
        "title": "Azure Without the Portal",
        "description": "Most everything you can do in the Azure Portal can also be done via the REST API, PowerShell, or the AZ command line tools. This session will show you how to set up scripts to automate common tasks, manipulate Azure resources from a DevOps pipeline, generate ad-hoc reports, and amaze your friends by making Azure bow to your will.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "60fe2f7f-a6ca-44ea-9ec3-670a46be86bd",
            "name": "Matthew Burleigh"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1196191",
        "title": "Back to Basics: Essential JavaScript Foundations for Modern Framework Development",
        "description": "In an era where AI and tech influencers often promote jumping directly into framework development, this talk emphasizes the critical importance of mastering JavaScript fundamentals before diving into frameworks like Vue.js. Drawing from real-world experience transitioning into Vue 3 development, we'll explore why solid JavaScript foundations are crucial for effective framework usage. \r\n     Through practical demonstrations and real-world examples, we'll examine how core JavaScript concepts directly map to modern framework features, using Vue 3 as our primary example. This session will help developers understand why \"learning to walk before running\" in JavaScript is essential for long-term success in framework development.\r\n\r\nSee : https://dev.to/nerajno/11-javascript-fundamentals-for-vue-developers-42a1",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c",
            "name": "Nerando Johnson"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1191699",
        "title": "Back to the Roots: Testing in the Age of AI",
        "description": "AI is generating more and more code, and it’s getting better every day. Still, it’s far from perfect, and uncontrolled AI-generated code can quickly lead to bugs, frustration, and fragile systems.\r\n\r\nWhile tools and workflows are evolving rapidly, one thing remains unchanged: high-quality automated tests are the foundation of great software. AI coding agents thrive on fast feedback loops, and tests provide exactly that. However, not all tests are equally valuable, and poor tests can be just as harmful as having none.\r\n\r\nIn this talk, we’ll go back to the roots of testing: what makes a test truly useful, how to design tests that guide both humans and AI, and how to leverage them to get the most out of AI-assisted development.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "4b7fa7a0-e1a7-4361-84f8-c0740a9f01fa",
            "name": "Jakub Janczyk"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1191501",
        "title": "BattleSnake in 50 Minutes: Building a Snake from Scratch",
        "description": "Are you ready to BattleSnake? If not, this is the session for you.\r\n\r\nWe'll build a working BattleSnake from scratch - live, in 50 minutes, with the audience driving decisions. Along the way you'll dig into API integration, think through pathfinding and strategy algorithms, and see how a simple \"don't hit the wall\" snake evolves into something that can actually compete. \r\n\r\nWhether you've never touched BattleSnake or you're a seasoned snake wrangler, you'll walk out knowing how to build and deploy a working snake and ideas to make it even smarter.\r\n\r\nOrganizer Note: It could be a lot of fun to run a BattleSnake tournament at the conference, either as a separate event or tied to this session. Happy to help organize if there's interest.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "5867ec6d-e5ce-45a9-a797-c9ab070afe60",
            "name": "Tim Lytle"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1189390",
        "title": "Beyond AI Recommendations: Enhancing Human Learning in an Agent-Driven Landscape",
        "description": "# Abstract:\r\nWhen AI makes every method sound equally valid, users can easily spend days pursuing the wrong path with total confidence. This presentation explores how impartial AI guidance sidesteps expert-defined boundaries and misleads learners. Drawing on real-world examples, this session highlights why visible bias (showing what to do and what not to do) is essential for real human learning, and how we can productively utilize the power of opinions.\r\n\r\n# Description:\r\nWhen learners turn to AI for guidance, they now receive polished, confident answers to nearly any question, including ones that seasoned experts would instantly flag as misguided. Drawing from the struggles of real users, \"Beyond AI Recommendations\" examines how this impartiality in AI responses erases important context and judgment, facilitating people pursuing flawed approaches with misplaced confidence. The core issue isn’t capability, but calibration: users can now do almost anything, but lack the expert signals that reveal what should be done.\r\nThis presentation challenges experts, educators, and communicators to counter that neutrality by being intentionally and visibly biased towards informed best practices. By clearly identifying recommended methods, discouraging shortcuts, and explaining the reasoning behind each, we can restore direction in a world of limitless but guidance-free possibilities. Attendees will learn ways to design presentations, training experiences, and communication styles that complement, rather than compete with, AI assistance, helping learners make better choices in an agent-driven landscape.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "9814ae37-0c46-44a8-a4e2-4b9e5d182703",
            "name": "Sam Fleming"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1167042",
        "title": "Beyond Code: The Leadership Shift Senior Engineers Avoid",
        "description": "Senior engineers and tech leads are often promoted for execution, not leadership clarity. This session helps them lead without over-functioning.\r\n\r\nThe biggest risk to technical credibility is not lack of skill. It is reactive leadership patterns that erode authority over time.\r\n\r\nOutcomes:\r\n• How to shift from problem-solver to strategic delegator\r\n• A decision filter that protects focus and authority\r\n• Clear boundary scripts for managing up and across in technical environments",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "1e30a77f-daa7-44f9-8758-2d641d32d994",
            "name": "Sophia Mikelionis"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1190094",
        "title": "Beyond Procedural Logic: Solving Problems Outside the Query",
        "description": "Modern software systems often encounter problems that don’t yield to our usual tools. SQL queries, procedural logic, and other familiar patterns work well for structured, predictable tasks, but they struggle with large search spaces, combinatorial explosions, and optimization problems with no obvious path to the answer. Recognizing when a problem crosses that boundary is a critical skill for architects and developers, because it determines which solution strategies the system can realistically support.\r\n\r\nThis session introduces a set of problem‑solving approaches inspired by nature, including techniques like Ant Colony Optimization, the Firefly Algorithm, and other swarm‑based or emergent methods. We’ll look at each algorithm in action and then unpack the architectural patterns it expresses, such as distributed search, probabilistic exploration, iterative convergence, and emergent coordination. For every approach, we’ll break down how it works, where it excels, where it struggles, and how to recognize the problem shapes it’s best suited for.\r\n\r\nThrough clear examples and demos, we’ll explore how these strategies can be applied to real optimization and search challenges in software systems. You’ll leave with a practical toolkit for identifying when your default patterns are insufficient and selecting the right class of algorithmic strategy to solve problems that might otherwise be intractable.\r\n\r\n***\r\n\r\nBarry S. Stahl is a seasoned enterprise engineer and internationally recognized technical speaker with over three decades of experience in software development. He has delivered hundreds of sessions at premier conferences and user groups across North America, Europe, and Australia, including NDC Oslo, NDC Sydney, Craft Conference Budapest, Techorama Netherlands, and ConFoo Montreal. Barry’s engaging presentations span a wide range of topics—from microservices and software architecture to artificial intelligence and optimization algorithms—often featuring hands-on demos and real-world applications. His workshops and keynotes consistently draw enthusiastic audiences, and his reputation for clarity, depth, and practical insight has made him a sought-after speaker in both in-person and virtual formats. A curated selection of his past presentations is available on this [YouTube playlist](https://www.youtube.com/playlist?list=PLCo2TFzFXPTQ5qIZTbbzFNcJL348fl6uO), showcasing his dynamic delivery and technical expertise.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "1aeeb749-1d7f-4bf8-be80-6c78ab20429a",
            "name": "Barry Stahl"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196821",
        "title": "Beyond the Demo: Engineering AI Agents That Actually Ship",
        "description": "The gap between an AI agent that impresses in a demo and one that survives production is not better prompts. It is engineering discipline applied to a new class of system.\r\n\r\nAgents that work in notebooks fail in production for predictable reasons: memory that grows unbounded until context is lost, tools that fail silently and poison downstream reasoning, evaluation that does not exist beyond \"chat with it and see,\" and no observability into why the agent made a specific decision.\r\n\r\nThis talk covers the emerging discipline of agent engineering, the architectural patterns required to build AI agents that are reliable, testable, and debuggable in production. Drawing from real deployment experience, I will present language-agnostic patterns (with concrete examples) for the four areas where most agent systems fail:\r\n\r\n- Memory architecture: Bounded context, summarisation strategies, explicit forgetting policies, and conversation state design\r\n- Tool reliability: Contracts between agents and tools, timeout hierarchies, fallback chains, and output validation before the agent reasons over results\r\n- Evaluation-driven development: Reproducible test harnesses, scenario libraries, regression testing for prompt changes, and comparing agent versions systematically\r\n- Observability: Tracing full reasoning chains so that when an agent produces a bad output, you can reconstruct the decision path that led there\r\n\r\nWhether you work in Python, .NET, JVM, or TypeScript, the failure modes are the same. This talk gives you the engineering mental model to ship agents that work every day, not just on demo day.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "74d4b8b0-5d1d-4075-829f-3633b047e1f2",
            "name": "Brain Aboze"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1184935",
        "title": "Beyond Vibe Coding: Spec-Driven Development with GitHub Spec Kit",
        "description": "\"Vibe coding\" with AI is fun until your app doesn't compile, misses business logic, or accumulates technical debt faster than you can fix it. Spec-Driven Development (SDD) fixes this by putting structured specifications — not vibes — at the center of AI-assisted development. In this session, I'll walk you through GitHub Spec Kit's four-phase workflow: specify, plan, task, implement. Using a real Blazor Server application as our canvas, you'll see how SDD produces code that's architecturally sound, secure by design, and maintainable. You'll leave with a practical methodology you can apply Monday morning with GitHub Copilot, Claude, or any AI coding agent.\r\nThis space is evolving rapidly, even as I'm writing this abstract. Content will focus on the latest agent development tools at the time of presenting.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "4df9611c-03a4-4b36-b82e-a34b2ddbfea2",
            "name": "Rich Ross"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1194128",
        "title": "Build Hybrid Apps with .NET",
        "description": "Modern .NET is powerful, open-source, cross-platform and welcoming to all, with mature tooling accompanied by rich ecosystems. With platforms like .NET MAUI/Uno Platform, developers are empowered with the next generation of cross-platform .NET development stack - a truly single code base powers apps for mobile/desktop/web, with Native UI or Skia rendering. While Blazor is the .NET way of building modern web apps, Blazor does not need to be confined to the browser – it can also power native cross-platform device experiences. With modern .NET, web and native apps share a runtime, promote code reuse across platforms & enable modernization strategies.\r\n\r\nWebAssembly can easily bring .NET C#/XAML code to the web browser, with pixel perfect rendering. Blazor Hybrid, on the other hand, allows developers to render Blazor UI inside an abstracted WebView – Blazor runs locally on .NET. This enables .NET class libraries, Blazor UI components, JS Interop and CSS styles to be easily shared between web & native mobile/desktop apps. \r\n\r\nBut what if you had years of investments into JavaScript SPA apps written with Angular/React/Vue? It’s cool – armed with Hybrid WebViews, modern .NET can welcome JS to native mobile/desktop land. Web components and styles can be easily shared between web & native apps, while having full platform API access. JavaScript & .NET can freely talk to each other – the JS Interop helps. Welcome to the hybrid mindset with .NET – let’s mix & match technology stacks & move apps forward.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "fc1d0cd3-9675-4188-aa98-e0088069f1a4",
            "name": "Sam Basu"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196148",
        "title": "Building AI Features That Feel Fun Without Feeling Broken",
        "description": "Adding AI to a web app is easy. Adding it in a way that feels responsive, trustworthy, and actually fun for users is much harder. In this session, I'll show practical patterns for building AI-powered features in modern web apps without letting them feel random, fragile, or confusing.\r\n\r\nWe'll look at front-end focused concerns like structured output, loading states, fallback behavior, latency, and how to shape AI responses so they work well inside interactive browser experiences. I'll also cover when AI genuinely improves a feature, when it just adds noise, and how small UX decisions can make the difference between a clever demo and a usable product. You'll leave with practical ideas for building AI features that feel playful, reliable, and at home on the web.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "fb198ed4-83c5-45dc-9298-9321d1cd9731",
            "name": "Courtney Yatteau"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1176566",
        "title": "Building AI-Powered Apps: A Developer's Playbook",
        "description": "You've heard that AI is transforming web development, but how do you actually build a production-ready application with AI features? How do you connect large language models without slowing down the UI? How do you manage state when AI responses stream in real-time? And how do you keep your codebase maintainable as complexity grows? The challenge isn't just about using an AI SDK; it's about integrating it seamlessly into a performant, maintainable, and modern web application.\r\n\r\nEnter modern Angular. The framework has gone through a renaissance, introducing a streamlined reactivity system, cleaner APIs, and built-in patterns that make it well-suited for building AI-powered features. This session moves beyond the buzzwords to show you practical patterns for integrating AI into modern web applications using Angular's latest features.\r\n\r\nYou'll Learn:\r\n- How Angular's signal APIs provide the perfect foundation for handling async AI operations and streaming responses.\r\n- Architecting AI features with signal-based reactivity for predictable, performant state management.\r\n- Managing complex data flows between forms, external APIs, and AI models without traditional boilerplate.\r\n- The secrets to creating performant & delightful user experiences that feel instantaneous, even while communicating with large language models.\r\n\r\nThis talk is for developers who want to build robust, scalable AI applications. You'll see how modern Angular's features—particularly its signal-based architecture—make AI integration cleaner and more intuitive than you might expect. You'll leave with practical patterns you can apply immediately to any AI-powered project.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "4155f206-df69-4f88-a20d-ee2e44532fc5",
            "name": "Ankita Sood"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1183489",
        "title": "Building Better Teams: The Power of Communication, Conflict Resolution, and Emotional Health",
        "description": "As a developer, you’ve mastered the art of coding. But have you mastered the art of building strong, effective teams? Whether you’re a leader or part of a team, understanding and developing your soft skills is just as crucial as technical expertise. In this session, we’ll dive into how communication, conflict resolution, and maintaining emotional health are the true pillars of success in development teams.\r\n\r\nBy the end of this session, you will have the tools to:\r\n\r\nCommunicate your ideas clearly and confidently, whether you’re presenting to a team or pitching to a client.\r\n\r\nResolve conflicts constructively, creating an environment where everyone feels heard and valued.\r\n\r\nProtect your emotional and physical well-being, ensuring you can bring your best self to work and thrive in your career.\r\n\r\nThis talk will help you build healthier, more cohesive teams and contribute to a culture of well-being and collaboration. By strengthening these fundamental soft skills, you’ll find that technical problems aren’t the only thing you can solve—your team dynamics will improve, and your projects will flourish.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "2ea807b3-5bcf-4c73-bb3a-f47288f3e1c4",
            "name": "Hannah Lorenzo"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1196692",
        "title": "Building MCP Servers in .NET",
        "description": "I've been building integrations between services for the better part of two decades. Custom connectors, one-off APIs, the whole nine yards. So when the Model Context Protocol showed up and said \"what if there was a standard way to connect AI clients to your tools and data?\" I was skeptical. Then I built my first MCP server in C#. It took about 30 minutes. And it just worked with Claude, GitHub Copilot, and every other MCP client I threw at it.\r\n\r\nIn this session, we'll go from dotnet new to a working MCP server, live. You'll learn the building blocks (tools, resources, and prompts) and see how the C# SDK maps them to patterns you already know from ASP.NET Core and dependency injection. We'll cover real-world design decisions like choosing transports, structuring tool output so models can actually use it, and getting the whole thing deployed to Azure. Walk out with a repeatable recipe for making your .NET services accessible to any MCP-compatible AI client.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "37313769-11ae-4245-93b3-e6e60d5d187c",
            "name": "Kevin Griffin"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196233",
        "title": "Castle Defense 101 (aka Threat Modeling)",
        "description": "Threat modeling is the art of determining if we are secure enough for our situation. Figuring out what to protect and how much effort we will spend on that protection is half the battle. The other half is understanding what happens if we fail- what it costs us and how it impacts us. \r\nBut the art of threat modeling isn’t just for securing software. Imagine we are security consultants for a medieval kingdom. We will determine the castle’s weak points by planning an attack. We will learn to assess risks by asking what the stronghold, well, um, holds. And we will strengthen our defenses by applying limited resources in the places that will help us the most. By the time we are through, our fortress will be sturdier, we will be able to stave off attacks, and we’ll know what improvements we can make to keep the kingdom safe.\r\nFinally, we will discuss how it applies to development projects and how we can use these techniques to secure software. No expertise in medieval architecture is needed.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "870ab107-e506-49e2-83f4-ba483e72aec6",
            "name": "Gene Gotimer"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196103",
        "title": "Claude Herder: Adding determinism to your coding agents",
        "description": "Handing a task to a coding agent can sometimes feel like a gamble: will my descriptive prompt cause the agent to do more than I want it to? Why in the world is Cursor writing a Python 2-line script to generate a GUID that it doesn't need to generate!? (This really happened!)\r\n\r\nTools like AGENTS.md files, skills, rules, and subagents allow us to get more consistent results from our agents and gain trust in both high and low reasoning models. In this presentation I'll share my experience using these tools to get trustworthy output from coding agents.\r\n\r\n(Note: not specific to Claude, just a catchy title)",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "02e1a2d0-d91f-44a7-a138-8f3f32da4343",
            "name": "Jonathan Markman"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1195317",
        "title": "Coming Soon To C# 15",
        "description": "C# 15 continues the language's evolution with new features that broaden expressiveness and open new opportunities for innovative design. Releasing next month, C# 15 is set to deliver one of the most significant type system advancements yet with unions, setting the stage for new ways to shape and reason about your code.\r\n\r\nIn this session, we’ll explore every new feature coming soon to C# 15, including unions and closed class hierarchies for expressive domain modeling and extension indexers and dictionary expressions for cleaner, more natural, code. You'll learn how these additions streamline common patterns and unlock new techniques.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "159745ae-3682-48d3-8767-b83f9a40bb16",
            "name": "Scott Kay"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196108",
        "title": "Command Your Droids: Creating your own AI software factory",
        "description": "Lots of prestigious names in software development have talked about having an autonomous \"software factory\" powered by coding agents, where teams can feed user stories to the factory and have features pop out the other side.\r\n\r\nIt sounds grandiose, almost fictitious, but you as a regular developer can have your own software factory! Join me as I demonstrate how to scale the software factory to your local machine with the kanban tool Backlog.md, agent tools, and model mixing. You may not become a mythical 10x developer after this, but 2x is pretty good!",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "02e1a2d0-d91f-44a7-a138-8f3f32da4343",
            "name": "Jonathan Markman"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1177056",
        "title": "Competence is Overrated",
        "description": "Or, How to Succeed at Your Job When You Don’t Know What You’re Doing. It can be hard to stay positive and motivated at work when you don’t know what you’re doing. Let me, a software developer with a Studio Art degree, teach you my secrets on how to succeed at your job even when you lack the skills and experience in that “Required” list on the job description.  ",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "645adf23-f177-4ca8-b3c5-f2217624f488",
            "name": "Amy Norris"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1170137",
        "title": "Cost-Aware Data Engineering: Lessons from Building at Scale on AWS",
        "description": "Our data platform costs tripled in eighteen months while business value grew thirty percent. Finance noticed. The audit that followed was humbling: full table scans on partitioned datasets running dozens of times daily, Glue jobs provisioned for peak load running at ten percent utilization, Kinesis shards sitting idle since the original estimate, and S3 objects in Standard storage because lifecycle policies never made it to the sprint.  This session is a practical guide to cost-aware AWS data engineering drawn from that audit. We start with a cost attribution framework that maps pipeline components to specific spend categories — compute, storage, data transfer, API calls — so engineers can see the financial impact of their architectural choices before they compound.  The bulk of the session covers the optimizations that moved the needle most: right-sizing EMR and Glue job configurations, S3 lifecycle tiering automation, Kinesis shard management, and the Redshift vs. Athena decision tree most teams get wrong because they evaluate data volume instead of query frequency. The 60-minute format gives us time to go deep on the Spark join and partitioning anti-patterns that quietly inflate costs in ways code review never catches, and to close with a governance model — cost tagging, budget alerting, ownership assignment — that keeps spend visible and accountable before it becomes a difficult conversation with leadership.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "08912244-37a1-4f0d-b6d9-f9c376d86be7",
            "name": "Anusha Kovi"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1175272",
        "title": "Data Modeling for Software Engineers",
        "description": "Really, data modeling?  Is that even a thing any more?\r\n\r\nThe days of formal data modeling are definitely years in the rearview mirror, empowered teams define their data as they see fit, implement, and move on.  Done.  And we'll deal with short-comings down the road when they arise, that's Agile, let's keep moving forward (to data architects' frustration when trying to make sense of it all after the fact).\r\n\r\nBut \"modeling data\" extends beyond what is persisted in a database server: API Payloads, messages, configuration files, document metadata, Redis indexes are forms of data we define and work with regularly.\r\n\r\nIf I've got your attention, join me to discuss data modeling, this time from a software engineering perspective!",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "4f28bf74-2f7e-4dc2-bcd2-2ccac8b4c3c9",
            "name": "Scott Sosna"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197237",
        "title": "Decision Driven Architecture",
        "description": "Software architecture succeeds or fails not because of technology, but because of the decisions behind it. Yet those decisions are often made under bias, pressure, or poor visibility — leading to rigid systems, technical debt, and frustrated teams. Decision Driven Architecture tackles the root cause: how architects think, decide, and record their reasoning.\r\n\r\nThis session addresses questions teams rarely ask out loud:  \r\n- How do we recognize flawed thinking before it shapes our code?\r\n- Who should make which architectural decisions — and why?\r\n- What models and tools actually help teams reason better, rather than faster?\r\n\r\nYou’ll learn a practical approach for making architectural decision-making transparent, structured, and improvable — from simple documentation patterns (ADRs) to emerging AI/LLM-based assistants. Join to discover how improving how you decide can improve what you build.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "8b4c27b4-294a-4609-9794-9b4dcddb941e",
            "name": "Marcin Samsonowski"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1181048",
        "title": "Designing APIs for Smart Data Consumption",
        "description": "An API can be an excellent means to expose your internal data safely and securely to external apps over the internet. But you can only build an efficient and effective API if you know how to design and build it for smart data consumption. This is especially true in low-resource environments like mobile apps.\r\n\r\nThis session will cover:\r\n* Designing for app usage patterns instead of database storage layouts\r\n* Understanding how skilled mobile developers cache API data\r\n* Adding narrower slices of data for just-in-time consumption\r\n* Building only what you need instead of autogenerating CRUD\r\n* Guaranteeing identity and uniqueness in a stateless world\r\n* Returning context to failed results instead of just status codes",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "643eee56-af5a-4502-8b8b-5aa06e77d7f1",
            "name": "Andy Lech"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197509",
        "title": "Dev Containers. What are they and why do you need them?",
        "description": "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 there was a way to accomplish this with little to no effort on your part?  Well, with Visual Studio Code, Docker, and the Dev Containers extension, you can.  Dev containers can help you easily on-board new people to your projects, allow for cleaner machines with greater support for multiple SDKs/Framework, and be able to develop/debug/run your solution from anywhere without Visual Studio Code. Oh, and put an end to \"It works on my machine\"\r\n\r\nIn this talk, I’ll walk through how you can set up a dev container to support your application development, without installing the SDK/framework on your machine. I’ll show you how to get started and how you can solve the age-old problem of “It works on my machine!”.  As a bonus, if your code is hosted on GitHub, I’ll show you how you can run/edit/debug your project right from GitHub.com without Visual Studio Code on your machine.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "137fb55c-d120-4a6b-9e15-98123df17302",
            "name": "Joseph Guadagno"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197547",
        "title": "Develop Your Personal Note Taking Practice",
        "description": "Good notes are life savers, bad notes will slow you down, confuse you, and kill your productivity.\r\n\r\nWhat makes the difference? Come learn about the strengths & weaknesses of different tools, organizational structures, and taxonomies. Whether you are just getting started taking notes or you are a note taking ninja you will learn something - I guarantee it!",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "60fe2f7f-a6ca-44ea-9ec3-670a46be86bd",
            "name": "Matthew Burleigh"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1190113",
        "title": "Eliminating Hidden Dangers to Your Applications: Patterns for Reliable Systems",
        "description": "There is a danger lurking in every system that hasn't taken explicit steps to eliminate it. This under-recognized data killer can cause inconsistencies in your system which can be as difficult to find as they are to correct. Fortunately, recognizing this monster is easy, and there are a number of great techniques you can use to keep it away for good.\r\n\r\nIn this talk, we will learn about the Dual-Writes anti-pattern: how to spot it, and what to do to avoid it. In doing so, we'll discuss several well-known patterns that when implemented can help prevent the difficult errors often caused by dual-writes so you protect the nights and weekends of your development and support teams.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "1aeeb749-1d7f-4bf8-be80-6c78ab20429a",
            "name": "Barry Stahl"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197617",
        "title": "Engineering Excellence: A Deep Dive into the Next.js 16 Ecosystem",
        "description": "We’ve spent years balancing developer speed against app performance, but Next.js 16 is finally closing that gap. This talk is a practical roadmap for building high-quality apps using the most stable version of the framework yet.\r\n\r\nWe’ll dive into how the React Compiler handles the heavy lifting for you, how the new caching model simplifies data delivery, and how the Build Adapters API lets you deploy wherever you want. No more compromising—just a deep dive into how to get the most out of the full Next.js 16 stack.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "e2a6d4ef-340c-462c-b35a-81fa681766b1",
            "name": "Cleyrol Santana Cristopher"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1181029",
        "title": "Find Bugs Faster through ViewModel and API Library Testing",
        "description": "Mobile devs are used to testing the JSON or XML that comes across the wire, the standalone logic of their app backend, and the whole app.  But what about the gaps between testing the API output, unit testing your Models and ViewModels with mocks, and testing through the UI?\r\n\r\nThis session will cover:\r\n* Testing the translation of API data into app Models\r\n* Testing how ViewModels use and cache your app Models\r\n* Testing your API library for fault-tolerance and unusual API responses\r\n\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "643eee56-af5a-4502-8b8b-5aa06e77d7f1",
            "name": "Andy Lech"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1166786",
        "title": "From 8-Bit to Table Top: Inclusive Design in Gaming",
        "description": "Games are an amazing outlet for people to be imaginative, socialize, or just blow off some steam. Games can even help keep people's minds flexible and healthier as they age. That is why Inclusive Design is becoming more and more of a hot topic among game companies whether they are making video games, card games, board games, etc.\r\n\r\nWe'll learn to think more about inclusive design by looking at the various ways already used across various game environments. Learn how to identify what games might be accessible to those you love and care about, or even what you can do to help them join the fun.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "a9f6a949-c457-482d-b321-b0c6849fecec",
            "name": "Erissa Duvall"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1166886",
        "title": "From Idea to Design for Non-Designers",
        "description": "You learned to code and want to start applying for jobs, but don't want anyone to look at your portfolio. Your app functions well, but you're pretty sure your buttons need some styling. Here are some practical tips on how to get from your idea to minimum styling without knowing anything about design.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "d634fb03-b0d6-4077-8242-958204650751",
            "name": "Abbey Perini"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197539",
        "title": "From Idea to Working Application in 50 minutes!",
        "description": "Does Agentic AI (Large Language Models, LLMs) deliver on the promises of being able to make things faster?  What happens when the LLM hallucinates?  What happens when the LLM just gets it entirely wrong and you need to change direction?\r\n\r\nDuring this session, we will walk through a real pre-recorded coding session where we go from idea to working application in roughly 50 minutes.  No cherry-picked demos, no curated happy paths.  You'll see the full unfiltered experience, from the moments where the LLM nails it, the moments where the LLM thinks it nails it but gets it drastically wrong, the decisions a developer makes to keep things on track, and a few \"you're exactly right moments\".\r\n\r\nAlong the way, we'll explore what \"working effectively with LLMs\" actually looks like in practice.  When you should trust but validate the output, when to push back, when to throw it away and redirect, how to validate what you're getting from a non-deterministic guessing machine, and what to do with mood-misalignment (when the LLM's interpretation of your intent drifts from what you actually want).\r\n\r\nWhether you're already using Agentic coding tools daily, or still skeptical about the hype, you'll leave with a realistic picture of what Agentic AI can (and can't) do, practical strategies for getting the most out of it, and a few laughs and stories along the way.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "1cb0c774-3d4a-4491-bc40-4935aba8be07",
            "name": "Andrew Potozniak"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1184937",
        "title": "From Legacy to Modern: AI-Assisted Legacy Application Modernization",
        "description": "Every enterprise has legacy code that \"just works\" — until something breaks and you want to modernize the tech stack. In this session, I'll show you how to use AI tools to systematically modernize legacy applications. Using a real legacy codebase as our starting point, we'll walk through a structured approach: extracting business rules with AI analysis, identifying anti-patterns, documenting workflows, and generating a phased migration plan. You'll see how GitHub Copilot and AI agents can turn weeks of archaeological code review into hours of structured analysis. Whether you're dealing with MFC, WinForms, Web Forms, or classic ASP, the methodology applies.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "4df9611c-03a4-4b36-b82e-a34b2ddbfea2",
            "name": "Rich Ross"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1181235",
        "title": "From Skepticism to Security: The MFA Advocacy Playbook",
        "description": "Abstract:\r\nForced MFA adoption is high, but no one really wants to be using it. Let's fix that!\r\n\r\nThis session deconstructs why people actively resist improving their security posture, and explores a practical approach for effective communication. Open to folks of all technical levels, this presentation will focus on communication strategies, how to identify different personas and rejections, and give an example framework for \"human-focused\" communication.\r\n\r\nDescription:\r\n'From Skepticism to Security' tackles a dilemma many security teams quietly recognize: multifactor authentication is everywhere, but enthusiasm for using it is not. We’ve succeeded at rolling out MFA across platforms, yet created a wave of frustrated users who see it as a point of friction rather than protection. This session reframes the problem as a communication failure, not a technical one, and demonstrates that “just explain the security benefits” is rarely enough to change behavior.\r\n\r\nGrounded in real-world stories and production case studies, the talk introduces a simple but powerful communication pattern: What? So What? Now What?. You’ll learn how to use this story-shaped framework to make MFA conversations concrete, relevant, and actionable for three key groups: non-technical users, business leaders, and technical teams. We’ll look at what actually lands with each audience, what reliably backfires, and how to spot the real sources of resistance hiding behind “this is too annoying.”\r\n\r\nThis session equips you to talk about MFA by meeting people where they are, with language that respects people’s time, intelligence, and context, without sounding like yet another security researcher. By digging into the skills of impromptu speaking, you’ll leave with practical ways to have better MFA conversations, whether you’re helping one colleague enroll or guiding an entire organization through adoption.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "9814ae37-0c46-44a8-a4e2-4b9e5d182703",
            "name": "Sam Fleming"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1171355",
        "title": "Git Configuration secrets THEY don't want you to know about",
        "description": "In 2021 the Git core developers were asked to reset their config settings to see what working on Git \"Out of the Box\" was really like. They were then challenged to come up with the top settings that they really wanted to change. What came from that exercise was a list of 9 settings that the core development team mostly unanimously agreed should be the defaults.\r\n\r\nAttendees will leave this session with the following take ways:\r\n\r\n* How to configure Git so it is more ergonomic and pleasant to work with\r\n* How Git settings may change depending on our workflow\r\n* A deeper understanding of the internals of Git",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "53ac8546-b51e-4755-8d18-67c519a981c0",
            "name": "Ken Versaw"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1180534",
        "title": "GitOps in Practice: What Nobody Tells You About Multi-Environment Deployments",
        "description": "The theory of multi-environment CI/CD pipelines is clean and satisfying: code flows from dev to staging to production, environments are identical, deployments are predictable. The reality is messier and the biggest culprit is something almost nobody talks about: environment drift. Staging never actually matches production. It starts small like a config value here, a slightly different connection string there. Then one day your staging pipeline goes green and production goes on fire. If you've been there, this talk is for you. Drawing on hands-on experience building and managing CI/CD pipelines across Azure DevOps, GitHub Actions, GitLab CI, Octopus Deploy, and Jenkins for large organizations, I'll share what the documentation doesn't cover: the operational realities of keeping multiple environments honest over time.\r\n\r\nWhat I hope you walk away with:\r\n\r\nWhy environment drift happens and the organizational and technical patterns that accelerate it.\r\n\r\nInfrastructure-as-Code strategies that actually enforce environment parity (and what to do when IaC isn't fully adopted).\r\n\r\nHow to use pipeline gates, automated environment validation, and deployment manifests to catch drift before it hits prod.\r\n\r\nConfig and secret management approaches that don't become a maintenance nightmare at scale.\r\n\r\nHard-learned lessons from real enterprise pipelines — including what I'd do differently.\r\n\r\nThis is a practitioner's session. We'll skip the happy-path demos and focus on what happens after your pipeline has been running in the wild for 18 months.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "8d0b8e69-504a-485e-99b8-e41926b34ede",
            "name": "Ben Hooper"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1192792",
        "title": "I tested different prompt injection mitigations, here is what actually works",
        "description": "AI agents have unlocked powerful new use cases, but they also expand the attack surface in ways that traditional application security often underestimates. In particular, prompt injection can silently turn an otherwise helpful agent into an attacker operating with your application’s full permissions.\r\nThis talk walks through a realistic sample application that uses an AI agent as part of its core feature set and shows, end-to-end, how those capabilities can be abused and then defended. Attendees will see:\r\n- How to use prompt injection to abuse the permissions of the agent.\r\n- How to create an Attack AI agent that generates prompt injection payloads using [Arcanum's Prompt Injection Taxonomy](https://github.com/Arcanum-Sec/arc_pi_taxonomy) techniques and uses them against the application to find the list of working payloads.\r\n- Then, using the list of working prompt injection payloads, we will test the different mitigations to check which ones work best. The mitigations include:\r\n1. Add proper isolation when implementing the AI agent tools.\r\n2. Using an AI agent that detects prompt injection payloads as a guardrail.\r\n3. Testing free prompt injection detection tools such as [llm-guard](https://github.com/protectai/llm-guard) and [Lakera Guard](https://www.lakera.ai/lakera-guard)",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "a3dab988-9478-4b89-871c-3961452df6d0",
            "name": "Mohamed AboElKheir"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1196848",
        "title": "Influence is a technical skill",
        "description": "You love your job and your team, but you’ve spotted problems that won’t fix themselves. Maybe your roadmap is shaped by the wrong priorities, your team is solving the same problem five different ways, or tech debt is piling up faster than you can pay it down. You’ve gathered the data and have a clear plan, but the changes that would actually fix the problem are well outside your scope.\r\n\r\nIn many engineering organizations, some of the most important work doesn’t belong to any one team – it lives in the gaps between ownership boundaries. So how do you push for meaningful change when you don’t have the authority to make it happen? And how do you do it without creating friction or burning yourself out?\r\n\r\nWe’re trained to approach every technical challenge the same way: define the problem, evaluate tradeoffs, design a solution, and iterate. But when it comes to influencing decisions or aligning teams, that process disappears. Instead, we hope our ideas speak for themselves and learn through frustrating trial and error.\r\n\r\nIn this talk, we’ll cover what it looks like to apply that rigorous engineering approach to organizational change. I’ll share examples of trying to drive major initiatives in my organization, how those situations played out (spoiler alert: they didn’t go well at first!) and what I learned that’s helped me shift my mindset about influence. We’ll talk about how to map your organizational “system,” identify constraints, build alignment, and present ideas in a way that gains buy-in instead of creating resistance.\r\n\r\nYou’ll leave with practical strategies to approach influence like any other engineering challenge, and the tools to turn your ideas into meaningful change, even when it’s “not your job” to make it happen.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "8da1c589-4fe6-4403-bc4b-150ec01b8de4",
            "name": "Nicole Tibaldi"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197505",
        "title": "Influencing workflows in an AI-driven world",
        "description": "AI is changing the way engineers work, but not always in ways that actually make teams more effective. Tools can accelerate coding, automate tests, or even suggest features, but they can’t replace human judgment, collaboration, and strategic thinking. In an AI-enabled world, engineers can’t just produce more code – they need to think holistically about how their teams work, and what work is actually worth doing.\r\n\r\nAI can create unexpected friction: workflows become fragmented, hidden dependencies slip under the radar, and teams lose a shared understanding of system architecture. The problem isn’t the tech – it’s trying to bolt AI onto processes that weren’t built for it. Engineers need to understand the impact of AI on cross-functional processes, so they can identify bottlenecks, make smarter decisions, and influence workflows that deliver impact.\r\n\r\nIn this talk, we’ll cover practical strategies for individual contributors: how to tell where AI will help (and where it can mislead), how to keep processes clear, and how to push for changes that improve delivery and quality. You’ll see how an AI future requires thoughtful collaboration, not just coding, and how to turn speed gains into meaningful outcomes. You’ll walk away with a framework for understanding the larger systems at play, influencing how work happens, and making sure human insight and AI capabilities actually complement each other.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "8da1c589-4fe6-4403-bc4b-150ec01b8de4",
            "name": "Nicole Tibaldi"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1191399",
        "title": "Is This Test Worth It? Evaluating the Real Value of Testing",
        "description": "The differences between unit tests, integration tests, contract tests, end-to-end tests, and behavior tests—and which type is best to use—are often debated. Principles like \"don't mock what you don't own\" or \"test behavior, not implementation\" are often cited in those conversations. But there's one key question we should always ask when writing tests: is this a valuable test?\r\n\r\nSo let's put those other concepts aside and ask a simple question as we look at some real-world examples: \"What is the value of this test?\" Answering that can lead to more nuanced questions. Does this test continue to deliver value over time? How much value comes from the act of writing this test? Are there ways to increase the immediate value as well as the long term value?\r\n\r\n Join me as we rethink testing—not in terms of types and categories, but in terms of the practical, meaningful value that testing brings to our codebases and our teams.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "5867ec6d-e5ce-45a9-a797-c9ab070afe60",
            "name": "Tim Lytle"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1178450",
        "title": "Justifying AI Without Sacrifice of Functionality",
        "description": "AI has rapidly become the most requested feature in modern software development. Product managers ask for it, executives expect it, and marketing teams often treat it as a competitive requirement. Yet many development teams are discovering a difficult reality: adding AI to an application does not automatically improve the product. In many cases, poorly integrated AI features introduce friction, increase failure points, and degrade the user experience the application was designed to deliver.\r\n\r\nThis session explores how development teams can responsibly evaluate, justify, and implement AI features without compromising core functionality or end-user satisfaction. We will examine how the pressure to “add AI everywhere” often results in duct-taped architectures, increased latency, unreliable authentication flows, confusing interfaces, and new security risks. These problems are especially visible in mobile applications, where limited screen space, connectivity challenges, and constrained interaction models already create design complexity.\r\n\r\nRather than asking “How can we add AI?”, developers will learn to start with the more important question: “What user problem does AI uniquely solve?” This session introduces practical frameworks for evaluating when AI delivers real value through automation, decision support, personalization, or operational efficiency that cannot be achieved through traditional deterministic software logic.\r\n\r\nWe will also address operational and architectural challenges such as model latency, data governance risks, reliance on external AI services, and the difficulty of testing nondeterministic systems. Attendees will learn best practices for isolating AI from critical workflows, implementing clear fallback logic, measuring success through real user outcomes, and navigating stakeholder pressure to adopt AI primarily for marketability rather than meaningful product improvement.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "cbfc10e5-647f-4898-bce3-4579e9e3935b",
            "name": "Kellyn Gorman"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196232",
        "title": "Keeping Secrets Out of Your Pipeline",
        "description": "Commit your code, push a button, and everything is deployed – the Holy Grail of DevOps. Nobody has to type any commands or passwords to push your app live, everything lives in source control and it all just works.\r\nWait a second! My passwords are in source code? How did they get in there? How can I stop it from happening again? And how can I keep credentials out of source code and still make them available to my DevOps pipeline?\r\nWe’ll talk about using the open-source TruffleHog tool to find sensitive information in our source code repositories. And how to catch credentials before they are exposed. Finally, we’ll look at HashiCorp Vault, another open-source tool designed specifically to securely store and retrieve secrets from the pipeline without making them available to everyone. \r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "870ab107-e506-49e2-83f4-ba483e72aec6",
            "name": "Gene Gotimer"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196141",
        "title": "Laid Off and Leveled Up: My Journey to Challenge the Team I Once Called Mine!",
        "description": "Ever been laid off and wondered, what’s next? Me too. After 17 years at Comcast, climbing to Distinguished Engineer, I thought I was set—until I wasn’t. On the Lightning team, I built a faster, better alternative to their LightningJS framework. When I integrated SolidJS with their renderer, I created competition against my boss’s pet project. That marked the end of my time there—but it was just the beginning of something greater. Join me to hear how getting let go turned into my biggest career breakthrough.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "268cd425-0655-47ab-99e8-d4f0082c0ca4",
            "name": "Chris Lorenzo"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197231",
        "title": "Launching Rockets",
        "description": "It’s not rocket science… oh, but actually, it is!\r\n\r\nIn this fun and hands-on workshop, you will build and launch safe, small-scale straw rockets propelled by air while exploring aerodynamics, propulsion, and Newton’s Laws. You’ll design, tweak, and test your rocket, aiming for either maximum distance or pinpoint accuracy. Along the way, you’ll see how small design changes can make a big difference in performance, all in a safe and supervised setting.\r\n\r\nWill you hit the target first, or will your rocket sail across the room? Either way, you’ll walk away with new skills and a big smile.\r\n\r\nTakeaways: Basic physics principles in action, creative problem solving, and an unforgettable launch day experience.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "1cb0c774-3d4a-4491-bc40-4935aba8be07",
            "name": "Andrew Potozniak"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1196146",
        "title": "Less JavaScript, More Platform: Modern Browser APIs Front-End Developers Should Actually Use",
        "description": "Front-end developers have more built-in platform features than ever, but a lot of teams still reach for extra JavaScript before checking what the browser can already do. In this session, I'll show how modern browser APIs can help you build smoother, lighter, and more maintainable interfaces with less code.\r\n\r\nWe'll look at features that are actually useful in real apps, including View Transitions, the Popover API, better native form behavior, and progressive enhancement patterns that help you adopt new capabilities safely. The goal is not to replace every library. It is to help you recognize when the platform now gives you a better default. You'll leave with practical examples, adoption guidance, and a sharper instinct for when less JavaScript is the smarter choice.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "fb198ed4-83c5-45dc-9298-9321d1cd9731",
            "name": "Courtney Yatteau"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197454",
        "title": "Leveraging Azure's Free Tier for Home Automation",
        "description": "With energy getting more expensive, many are looking towards smart devices to help bridge the gap and take advantage of things like hourly pricing. But what happens when your disparate systems don't talk seamlessly together?\r\n\r\nIn this talk, I will walk through how to use Azure's free tier to do basic home automation tasks by showcasing my own home's temperature controls. I will talk through the different considerations including how to handle things that require user authentication even over an API. At the end, we will review potential future enhancements, like integration into solar generation or EV charging",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "51261179-6de0-4802-81b8-dc0366ca988d",
            "name": "Dan Mallott"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1168374",
        "title": "Micro Frontend Architecture in Enterprise Applications: Benefits and Challenges",
        "description": "Micro frontend architecture represents a transformative approach to building large-scale web applications by extending microservices principles to the frontend layer, enabling independent development, testing, and deployment of discrete application modules. This architectural pattern addresses critical challenges faced by enterprise organizations managing monolithic frontend applications, including lengthy build times, complex deployment processes, and coordination bottlenecks among multiple development teams.\r\nThrough comprehensive analysis of real-world implementations across various organizational contexts, this presentation examines architectural foundations, implementation strategies, and organizational impacts of micro frontend adoption in enterprise environments. The analysis reveals that micro frontends deliver significant advantages in team autonomy, scalability across multiple dimensions, technology flexibility, and fault isolation. Organizations achieve horizontal scalability where adding new teams doesn't proportionally increase coordination complexity, while technology diversity enables gradual modernization of legacy systems without complete rewrites.\r\nHowever, these benefits introduce substantial complexity in system architecture, performance optimization, consistency maintenance, and testing strategies. Performance considerations include managing multiple JavaScript bundles and potential dependency duplication, while maintaining consistency across independently developed modules requires dedicated design systems and governance frameworks. Testing strategies become more sophisticated, requiring comprehensive approaches spanning individual modules and their integrations.\r\nSuccessful implementation extends beyond technical considerations to organizational transformation: evolution from feature teams to autonomous product teams with full ownership from development to production, establishment of frontend guilds for lightweight governance through shared principles rather than rigid rules, adoption of DevOps practices with \"you build it, you run it\" culture, and cultural shifts emphasizing explicit communication and modular design. Drawing from comparative analyses between startups and established enterprises, CRM system implementations, and monolithic-to-micro frontend conversions, this presentation provides practical insights and lessons learned to guide organizations considering or implementing micro frontend architectures in their enterprise applications.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "2b5f58f9-c8b5-42cd-a311-2caace719bcb",
            "name": "Madhu Rebbana"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1191045",
        "title": "Microsoft SQL in VS Code: The Complete Developer Workflow",
        "description": "If you are new to the MSSQL extension for VS Code, or you have been using it but suspect you are only scratching the surface, this session is for you. \r\n\r\nWe will move fast and cover the full picture: connecting to local SQL containers, Azure SQL, and Microsoft Fabric; designing schemas visually; writing and documenting queries in SQL Notebooks; searching objects, importing files, and managing databases without leaving your editor; exposing data as REST, GraphQL, or MCP endpoints; and using GitHub Copilot to accelerate all of it. \r\n\r\nOne session, everything you need to work faster and smarter with Microsoft SQL in VS Code.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "9fb0d0d5-a74d-4ca2-9ff4-3f7fae0c8694",
            "name": "Carlos Robles"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1195196",
        "title": "MITRE ATT&CK for Developers",
        "description": "While OWASP has become the gold standard for application security, the MITRE ATT&CK framework offers developers a powerful complementary perspective for building truly defensible applications. This session bridges the gap between threat intelligence and practical development, showing how to apply adversarial thinking to your code.\r\nOWASP focuses on vulnerabilities, but MITRE ATT&CK focuses on adversary behavior. While OWASP tells you what can go wrong, ATT&CK tells you what attackers actually do. This combination creates more robust, defendable applications that can withstand sophisticated attacks.\r\nWe'll explore practical applications of ATT&CK techniques in development scenarios.\r\nPerfect for developers who want to elevate their security mindset beyond traditional vulnerability scanning, security engineers working with development teams, and anyone building systems that need to withstand sophisticated, persistent attacks.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "2ebd8578-298f-45ae-b71b-dc076037b080",
            "name": "Chris Ayers"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1191748",
        "title": "Modern .NET Configuration",
        "description": "Remember the good ol' days when configuration meant hardcoding a few constants and commenting out everything but PRODUCTION before a commit? Life was simple—and dangerous.\r\n\r\nThankfully, things have evolved.\r\n\r\nSince the introduction of the .NET Generic Host, we've gained a powerful and flexible configuration system that works across all types of applications. But with great power comes great complexity.\r\n\r\nIn this talk, we'll dive deep into the .NET configuration model. We'll explore when to use configuration files, environment variables, and cloud-based solutions like Azure App Configuration. We'll also cover common pitfalls, real-world patterns, and how to choose the right configuration strategy for your app.\r\n\r\nWhether you're building cloud-native microservices or desktop apps, you'll leave with a clear understanding of how to wrangle configuration in a clean, secure, and scalable way.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "37313769-11ae-4245-93b3-e6e60d5d187c",
            "name": "Kevin Griffin"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1176567",
        "title": "Modern Angular 🤝 Modern CSS",
        "description": "Ever wondered how the powerful combination of Modern Angular APIs and Modern CSS styling techniques can empower you to build lightning-fast, highly performant, and maintainable applications? Angular and CSS are constantly evolving, and keeping up can feel like daunting. This session is packed with real-world examples and actionable insights, empowering you to architect Angular applications with modern CSS, no matter the complexity.\r\n\r\nTogether, we will explore practical applications of the View Transitions API, discover simple yet scalable techniques for theming, learn how to leverage CSS Custom Properties, Container Queries, and much more! We will see several examples of how these modern CSS techniques seamlessly integrate within Angular component architecture and application design.\r\n\r\nLet us unlock the full potential of this powerful combination and build Angular apps that are as beautiful as they are performant!",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "4155f206-df69-4f88-a20d-ee2e44532fc5",
            "name": "Ankita Sood"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196237",
        "title": "My First Kubernetes Cluster",
        "description": "Kubernetes seems to be everywhere today, but many organizations have yet to take the plunge. The Kubernetes ecosystem has so many options that it feels scary to start, especially when you are still working with traditional servers and applications. But that ecosystem also contains tools to provide guardrails to keep you safe.\r\n\r\nIn this workshop, you’ll start up a Kubernetes cluster in AWS and install utilities to give you valuable insights into what the cluster is doing. You will use Kubernetes commands to deploy, upgrade, scale, and manage your application. You’ll use tools to keep your cluster and applications secure and implement recommended practices. By the end of the workshop, you’ll know the basics of Kubernetes and see how your projects could work differently as containerized Kubernetes workloads. \r\n\r\nThis is a hands-on tutorial. You will need your laptop and a web browser with internet access.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "870ab107-e506-49e2-83f4-ba483e72aec6",
            "name": "Gene Gotimer"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1194041",
        "title": "New shapes of software teams with Agentic AI",
        "description": "Are traditional software teams a thing of the past? With a world of new and constantly changing AI agents, tools, and assistants, software development techniques and patterns are changing.  There are new patterns and practices to evaluate, and new shapes of effective teams.  As AI further integrates into our world of software development at the lowest levels, How will you develop your career to stay relevant?  As a manager or director, how will you separate people into roles and teams to take advantage of these new tools?\r\nWe will be examining a set of anonymized work from real teams at enterprises that are optimized to use AI tooling to develop new software as well as build on existing software.  ",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "600a07b7-039d-47bc-af90-f7a18addaf6a",
            "name": "Richard Goforth"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1170752",
        "title": "No Leaks Detected!! Building Secure Azure Apps",
        "description": "Developers often inherit security risk the moment a credential lands in code or configuration. This session shows how to build secretless Azure applications by relying on managed identities, which replace secrets like access keys and passwords and can be granted permissions using Azure role-based access control (RBAC).\r\n\r\nYou’ll also see how Private Endpoints / Private Link shrink your attack surface by keeping service traffic on private connectivity, plus how the private endpoint connection approval flow changes depending on RBAC permissions (automatic vs manual approval).\r\n\r\nBy the end, attendees will be able to map an app’s dependencies to least-privilege RBAC assignments and pair them with private network access patterns—reducing credential leakage and unintended exposure while keeping developer workflows practical.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "ce34303c-233e-497a-bb12-70c8e32febf0",
            "name": "Jason Farrell"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1176093",
        "title": "Not Your Mother's or Father's C#",
        "description": "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 think after this session!\r\n\r\nWhether you're using C# every day, or you haven't looked at the language in a while, this fast-paced session will show you what has been changing in the C# world. \r\n\r\nUnlike the classic \"coming soon\" session where you can't take what you learn home and apply it, you can take what you learn here back home to remove redundant code, streamline your classes, and add flexible type constraints. This is a fun, fast-paced session that will provide you with the insight you need to make the changes you want in your code.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "1dbfb6bc-c1f2-44af-9294-3614597b165e",
            "name": "Brendan Enrick"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1194131",
        "title": "Packing Light with VS Code 🧳",
        "description": "You want modern consistent development experience across Windows/macOS/Linux? You want an AI-powered code editor where you get to pick your tools & workloads? You want to code anywhere like in browser/Codespaces/DevBox and carry your developer settings?\r\n\r\nVisual Studio Code does all that & more. VS Code is uber popular for a reason – a lightweight code editor solution with multi-language support and a rich Extensions ecosystem. With plentiful Extensions for C#/JavaScript developers, VS Code is more than capable of checking all the boxes for developers building modern experiences for web, mobile, desktop, cloud native & more. \r\n\r\nModern AI is big opportunity to streamline and automate developer workflows for better productivity. VS Code brings GitHub Copilot/Claude Code for Agentic workflows – developers have access to latest AI Models and optimized CLI tools for customized productivity. Developers can also bring deeply contextual RAG-powered intelligence to VS Code with GitHub Copilot Extensibility. VS Code fully embraces Model Context Protocol (MCP), Agent Skills, SubAgents and latest AI technologies – developers have multiple ways of bringing context to AI for elevated productivity.\r\n\r\nWith infinite configurability and a thriving ecosystem, modern VS Code is all about developer productivity with AI – packing light makes you go places. Come see how!\r\n\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "fc1d0cd3-9675-4188-aa98-e0088069f1a4",
            "name": "Sam Basu"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1175276",
        "title": "Personalizing Your Random Numbers",
        "description": "Random number generators (RNGs) generate \"supposedly\" random numbers for use in your application or solution.  However, most RNGs are algorithmic, \"pseudo\", that anyone who deeply understands the algorithm may be able to regenerate the \"random\" numbers.  Often this isn't too concerning: go ahead, recreate the shuffled songs played by Sonos.\r\n\r\nBut when it's important, it's REALLY important: cryptographic keys, digital signatures, authentication challenges, statistical analysis, gaming and gambling.  Different algorithms have different entropy: higher entropy leading to better randomness - assuming, of course, no back doors were injected!  That said, even strong algorithms displaying high entropy _may_ have faults to exploit.  Should you be concerned?\r\n\r\nIn this session we'll dig into RNGs, pseduo-RNGs and, for the truly concerned or paranoid, learn to create custom true RNGs that are impossible to hack.  Hope you can join us!",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "4f28bf74-2f7e-4dc2-bcd2-2ccac8b4c3c9",
            "name": "Scott Sosna"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1167114",
        "title": "Polly Want a 500? Chaos engineering for .NET apps",
        "description": "Arr matey! The downstream servers are firing errors like cannonballs—500s everywhere. The database is sinking, and the API gateway seems lost in a fog of timeouts. We attempted to engineer an application for calm seas and instead find ourselves in a maelstrom. Instead, what if we engineered the chaos ourselves and could predict failures? In .NET applications, we have a solution for instability and injecting it: Polly.\r\n\r\nIn this session, we will dive into the depths of chaos engineering, introducing Polly as our mate for improving HTTP resiliency and orchestrating controlled chaos. From adding a little extra turbulence, simulating downstream systems gone adrift, or flooding our application with faults, we’ll explore how to manage and learn from the mayhem. As the storm passes, we’ll discuss mitigation and game day plans to turn our engineered chaos into actionable testing. By the end of our voyage, you’ll leave with not only an understanding of theoretical chaos engineering but also practical insights for building systems that can weather the toughest squalls. Together, we will bring chaos to the software seas.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "ac76d40e-1703-43ab-8b89-9402befdf3b1",
            "name": "Victor Frye"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1179726",
        "title": "Practical Jumpstart: Building Enterprise Apps with .NET MAUI Blazor",
        "description": "This full-day, hands-on workshop takes attendees from zero to a working cross-platform application using .NET MAUI Blazor Hybrid. Designed for developers new to MAUI or looking to adopt it in enterprise environments, the session covers architecture, project setup, tooling, authentication, API integration, and device-specific features. Participants will configure their local development environments, build shared libraries, connect to backend services, and implement platform capabilities such as storage and notifications. Throughout the day, we’ll discuss performance considerations, deployment strategies, and real-world design patterns. Attendees leave with a complete reference application and the knowledge needed to confidently start production MAUI Blazor projects.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "a9011c65-6287-4529-ac91-56a8b9daa9a9",
            "name": "Mitchel Sellers"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197455",
        "title": "Pragmatic AI in .NET: 10 AI Features Users Want in Your .NET Apps",
        "description": "At many companies right now, the directive is coming from the top: “We need AI in our product.” CTOs hear it from boards. Product leaders hear it from executives. Engineering teams hear it from everyone. Everyone except the end users, that is.\r\n\r\nDrawing from real production systems, we’ll look at 10 AI-driven features that actually deliver value by automating work users currently struggle with. These pragmatic patterns will give you ideas where places you can use AI to reduce friction, save time, and get things right more often.\r\n\r\nWe'll explore how the real question isn’t “where can we add AI?” but “what problems can AI best solve for the users?” You’ll leave with practical examples for where AI might belong in your product, how to explain those decisions to leadership, and how to ship AI features that users actually want.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "d108027a-7e26-46f5-b92d-9f6cb59eb283",
            "name": "Jonathan \"J.\" Tower"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1190232",
        "title": "Real-Time Data Visualization in Blazor",
        "description": "Dashboards full of stale numbers don't tell the whole story. When your data has a heartbeat — sensor readings, vehicle positions, weather alerts, transaction volumes — your UI needs to keep up. Blazor gives .NET developers a component model that's naturally suited to streaming updates, but bridging the gap from a SignalR hub or an IoT message broker to a responsive, visually rich front end takes more than just calling `StateHasChanged`.\r\n\r\nIn this session, we'll build a real-time data pipeline from back to front: ingesting live feeds, pushing updates through SignalR, and rendering them as interactive map layers and charts in Blazor — without drowning the browser in redraws. You'll see how to throttle high-frequency streams, batch UI updates for smooth rendering, and layer live data on top of maps and spatial context so users can see not just *what* is happening, but *where*. We'll work through practical scenarios like fleet tracking, environmental monitoring, and live sales activity — the kind of problems where a table of numbers fails and a real-time visualization clicks.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "b1bd4d43-a244-4aab-95bb-92bcaf427ee4",
            "name": "Tim Purdum"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1170134",
        "title": "Real-Time Everything: Blending Streaming and Batch on a Modern AWS Stack",
        "description": "Most data teams end up running streaming and batch side by side — not by design, but because batch never fully disappears. The fraud pipeline needs sub-second latency. The financial report still runs overnight. And nobody warned you that adding streaming to an existing batch platform means owning two systems, two operational models, and twice the on-call surface area.  This session gives you the decision framework and architecture to make them coexist. We start with a workload classification model for deciding when real-time is worth the complexity — over-engineering toward streaming is one of the most expensive mistakes a data platform team makes, and this framework helps you avoid it before the infrastructure is already in place.  From there we walk through the hybrid AWS architecture: Kinesis Data Streams and MSK for ingestion, Lambda and Managed Flink for real-time processing, Glue and Step Functions for batch orchestration, and Apache Iceberg on S3 as the unified storage layer that keeps both worlds consistent. The 60-minute format lets us go deep on the operational problems most talks skip: exactly-once semantics across paradigm boundaries, late-arriving data that silently corrupts aggregates, schema evolution that breaks consumers downstream, and unified observability across streaming and batch. Every pattern is drawn from production systems processing petabytes of data.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "08912244-37a1-4f0d-b6d9-f9c376d86be7",
            "name": "Anusha Kovi"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1180518",
        "title": "Real-World .NET in the Enterprise: What Changes When Your Codebase Has 10 Years of History",
        "description": "Greenfield .NET projects are a joy. Clean architecture, modern patterns, the latest NuGet packages. Then you get your look at the codebase that's been running in production since .NET Framework 3.5, and everything you know gets stress-tested.  I'll walk through the most common patterns I've encountered in decade-old .NET systems: the tightly coupled monoliths where everything depends on everything else, the business logic buried in SQL stored procedures, the God classes no one dares touch, and the complete absence of any seam to refactor against. Then I'll share the practical, incremental strategies that actually work inside organizations that can't just stop the world and rewrite.\r\n\r\nWhat I hope you walk away with:\r\n\r\nHow to read and map a tightly coupled codebase quickly so you can find safe entry points.\r\n\r\nThe Strangler Fig and other incremental modernization patterns applied to real .NET solutions.\r\n\r\nHow to introduce interfaces, dependency injection, and testability into code that was never designed for it.\r\n\r\nWhen to modernize and when to leave well enough alone (a more important skill than people admit).\r\n\r\nLessons learned from enterprise .NET modernization engagements.\r\n\r\nWhether you're inheriting a legacy system or trying to future-proof what you're building today, I hope that I give you a pragmatic toolkit to keep you grounded.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "8d0b8e69-504a-485e-99b8-e41926b34ede",
            "name": "Ben Hooper"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197604",
        "title": "Red, Green, Refactor… What TDD Taught Me About Managing People",
        "description": "Stepping into management can feel like being dropped into a system with no tests, unclear requirements, and production-level consequences.\r\n\r\nAs developers, we’re trained to think in feedback loops. We write tests to define expectations, we watch them fail (red), we make the smallest change to get them passing (green), and then we improve the system (refactor). It’s a discipline built on clarity, fast feedback, and continuous improvement.\r\n\r\nBut when we start managing people, we often abandon that mindset. Expectations live in our heads instead of being made explicit. Feedback comes too late. Failures feel like surprises instead of signals. We end up debugging humans in production.\r\n\r\nThis session explores what happens when you apply TDD thinking (not dogma) to people management.\r\n\r\nWhat does it look like to “write the test first” for onboarding a new engineer? How do you create tight feedback loops that reduce ambiguity without micromanaging? What are the management equivalents of brittle tests, false positives, or skipping refactor entirely? And how do you evolve your “system” as your team grows?\r\n\r\nThis isn’t about turning people into code. It’s about applying the engineering instincts you already trust, iteration, observability, and incremental change, to one of the most complex systems you’ll ever work with.\r\n\r\nIf you’ve ever felt like management and collaboration is more guesswork than engineering, this talk will give you a new mental model to make it more predictable, more intentional, and a lot less surprising.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "541aa751-e4b9-4318-8436-89e14ee489cd",
            "name": "Jim Vomero"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1166872",
        "title": "Restoring Lost Work in Git: A Forbidden Love Story",
        "description": "Explore git's internal world, full of fanfiction about the relationships between your changes. Learn to love git's refs and reflog as git's forbidden love for its colleague, user anvw, grows. Discover the many ways git helps you write your own fanfiction. Even if you think you know fetching, merging, and rebasing, you've never learned about them like this. After this story, you should be comfortable with commands that use git's fanfiction to restore lost work and confident that git loves you.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "d634fb03-b0d6-4077-8242-958204650751",
            "name": "Abbey Perini"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197514",
        "title": "Scaling Your .NET Application Using Azure",
        "description": "Azure provides a lot of services! Azure provides scalable, durable cloud storage, backup, and recovery solutions for any data, large and small. Azure also provides compute services like App Service to create applications in the code, and Azure Functions to build event-driven \"server-less\" code with ease. Azure can easily work with the infrastructure and application you already have to enhance your existing applications and business continuity strategy cost-effectively.\r\n\r\nIn this talk, let's take a look at how we can take an existing .NET application and leverage some of Azure's services to improve the reliability, scalability, and performance of our application.  We'll introduce some key and common Azure services like Azure Functions, Azure Blob Storage, Azure Table Storage, Azure Queues, and more. We'll even add some application monitoring and telemetry to that application using Azure Monitor Application Insights so you can see how the application is performing and being used.\r\n\r\nBy the end of this talk, you'll be exposed to some of the most common... and simplest ways... to make your application reliable, scalable, and performant.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "137fb55c-d120-4a6b-9e15-98123df17302",
            "name": "Joseph Guadagno"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1196190",
        "title": "Skills to Bills: A Users Guide to Demonstrated Competency",
        "description": "In today’s tech environment and job market, one needs to be able to discuss how to build solutions to resolve business problems and articulate the “why” and \"how\" behind one's choices. This concept can be best explained as demonstrated competence. This session aims to focus on bridging the gap between technical competence and professional confidence by showcasing how to present your work effectively, share your knowledge, and solidify your standing as a capable developer.\r\nWe will break down this talk in the following steps: \r\n\r\nSpeak to it.\r\nIn this talk, you will learn how to share your experiences of what you worked on at the workplace, in personal projects or in the open-source community.  \r\n\r\nBuild it (Demonstrate it)\r\nYou will also learn that the workplace isn’t the only place where you build your repertoire of experience, there are other places you can do this.  \r\n\r\nShare it\r\nShare the word with social media and other means to share what you know.  We will discuss options that you can take advantage of.\r\n\r\nThe emotional wherewithal ( Beware of Imposter Syndrome)\r\nFinally, we’ll discuss how you can handle some of the emotional traps that can cause you to trip up as you demonstrate your competence A.K.A. imposter syndrome raising its ugly head and how to head off and prevent it from happening to you.\r\n\r\n\r\nBy the end of this session, you’ll be equipped with practical tips for developing, presenting, and confidently discussing your work, proving that you truly know what you’re talking about.\r\n",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c",
            "name": "Nerando Johnson"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1190233",
        "title": "Spatial Data in .NET: From Database to Dashboard",
        "description": "Most .NET developers have worked with dates, strings, and decimal columns their entire careers — but the moment someone asks \"show me all the customers within 30 miles,\" the usual LINQ query falls short. Spatial data isn't exotic; it's just a data type most of us were never taught to use. And once you know how, it unlocks queries, analyses, and visualizations that are impossible any other way.\r\n\r\nThis session walks the full path from database to dashboard. We'll start in the schema — defining geometry and geography columns in SQL Server and PostgreSQL, mapping them through EF Core with NetTopologySuite, and writing spatial queries (intersections, distance calculations, containment checks) that run on the database, not in memory. From there, we'll serialize results as GeoJSON, feed them into a Blazor front end, and render them as interactive map layers users can explore. Along the way, you'll see how spatial indexes actually work, when to choose `geography` vs. `geometry`, and how to avoid the performance traps that catch most first-timers.\r\n\r\nNo GIS background needed — just a willingness to think of your data as shapes on a map instead of rows in a grid.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "b1bd4d43-a244-4aab-95bb-92bcaf427ee4",
            "name": "Tim Purdum"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1167053",
        "title": "Speak Geek: Unlocking Communication Superpowers",
        "description": "As a developer, you speak in code, but what happens when you need to translate that into “human”? Whether you’re chatting with UX folks, wrangling with management, or just trying to explain your latest bug hunt to someone outside tech, communication is a superpower you can actually level up. In this hands-on workshop, we’ll break down the quirks of dev-to-dev, dev-to-UX, and dev-to-everyone-else conversations. We’ll play games inspired by “Poetry for Neanderthals” and “Just One,” and even challenge you to meme your message—no words allowed! Come ready to laugh, learn, and unlock your inner communication hero. Learn to challenge ambiguous conversation into actionable thoughts/items. You’ll leave with practical tools and a fresh perspective to help your team work (and talk) better, together.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "7d4fa35a-43fd-4bed-bc8b-e88b417152a5",
            "name": "Emily Harden"
          },
          {
            "id": "645adf23-f177-4ca8-b3c5-f2217624f488",
            "name": "Amy Norris"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1191044",
        "title": "Spec to Shipped: Building AI-Ready Apps with GitHub Copilot and Microsoft SQL",
        "description": "What if your product spec was also your starting point for database schema design, API generation, and deployment? In this session, you will see how GitHub Copilot in the MSSQL extension for VS Code turns natural language descriptions into working schemas, generates ORM models, creates endpoints, and guides cloud provisioning without switching tools. \r\n\r\nYou will see how GitHub Copilot skills give your AI agents direct, structured access to your database, enabling workflows where Copilot does not just assist but acts. One session, both angles: using AI to build faster, and shipping apps that are AI-ready from the data layer up.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "9fb0d0d5-a74d-4ca2-9ff4-3f7fae0c8694",
            "name": "Carlos Robles"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": false
      },
      {
        "questionAnswers": [],
        "id": "1195289",
        "title": "Stop Scraping, Start Generating: Why Synthetic Data is the Startup Superpower",
        "description": "For most early-stage startups, data is the \"chicken and egg\" problem. You need data to build a product, but you need a product to get data. Historically, the solution was scraping: building fragile, legally-dubious web crawlers that break the moment a website changes its CSS. In 2026, there is a better way.\r\n\r\nThis talk introduces Synthetic Data Generation (SDG) as a superior alternative to traditional scraping for startups. We will compare the high technical debt of maintenance-heavy scrapers against the scalability of generative models. You’ll learn how to go from \"zero data\" to a production-ready test suite or training set in hours rather than months.\r\n\r\nWe will cover:\r\n\r\nThe Hidden Cost of Scraping: Why maintenance, cleaning, and legal compliance (GDPR/EU AI Act) are startup killers.\r\n\r\nThe \"Cold Start\" Solution: Using Python to generate balanced, diverse datasets before your first user ever signs up.\r\n\r\nA Startup Toolkit: A walkthrough of open-source Python libraries (like SDV, Faker, and Gretel-python) that allow you to \"architect\" your data instead of \"hunting\" for it.\r\n\r\nReal-world Case Study: How to build a synthetic \"Customer Feedback\" loop to test your NLP models without a single real customer.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "7222febe-8d7b-48e9-8072-6a427bd72e7e",
            "name": "Varun Joshi"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1166724",
        "title": "The Accidental Leader: How to Succeed When You Weren’t Planning to Lead",
        "description": "One day, you’re just doing your job—writing code, managing projects, or contributing to a team—and the next, you’re in charge. Whether it’s by necessity, opportunity, or pure accident, many tech professionals find themselves in leadership roles without formal training or preparation. So, what now?\r\n\r\nThis talk is for those who never set out to be leaders but suddenly find themselves responsible for teams, projects, or communities. We’ll explore the essential skills that make accidental leaders successful, from navigating imposter syndrome to managing up, down, and across. Through real-world stories, practical strategies, and lessons learned the hard way, you’ll gain the confidence and tools to lead effectively—without losing yourself in the process.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "7d4fa35a-43fd-4bed-bc8b-e88b417152a5",
            "name": "Emily Harden"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1195287",
        "title": "The Anatomy of DuckDB: How an In-Process OLAP Engine Works in Pure Python",
        "description": "Most Python developers reach for DuckDB because it is fast. This talk explains why it is fast — and what that means for how you should use it. We start at the engine layer: columnar storage, the push-based vectorised execution model, and how DuckDB's query planner differs from row-oriented databases. We then move to the Python integration layer: zero-copy exchange with Arrow and pandas, the relation API versus raw SQL, and how DuckDB manages memory within your process. The second half is benchmarks — DuckDB vs pandas vs PySpark on aggregations, joins, and window functions at 10M, 100M, and 1B rows — with honest commentary on where each tool belongs in a modern data stack. Leave with a mental model, not just a tutorial.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "7222febe-8d7b-48e9-8072-6a427bd72e7e",
            "name": "Varun Joshi"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197501",
        "title": "The Engineers AI Can’t Replace",
        "description": "AI is changing how software is built – but it will not change what makes the best engineers invaluable. Think about the top performing engineers on your team. What do they do differently? What makes their contributions impactful? What are they praised for by leadership? \r\nArticulating these differences isn’t always easy, but it’s likely the talented engineer you thought of is someone who understands which problems matter, makes thoughtful tradeoffs, and connects technical decisions to business outcomes. As AI increasingly makes code a commodity, it is no longer the primary indicator of engineering talent.\r\nIn this talk, we’ll explore how organizations view engineering value – and how that definition is shifting  from code production to product thinking. We’ll examine why engineers who focus on outcomes, question unnecessary scope, and improve team decision-making are better positioned to thrive in an AI-enabled environment.\r\nWe’ll also cover common pitfalls in AI-assisted software delivery, including overemphasizing code output and completeness, confusing delivery with organizational progress, and using AI to ship changes without considering their downstream impact.\r\nYou’ll leave with a practical framework for rethinking your impact and adapting your role to an AI future by operating as a product engineer: aligning work to business priorities, focusing on the highest-leverage problems, and contributing to a focused and impactful implementation.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "fb15ff76-cecc-4b45-a53e-efd4adbcd29a",
            "name": "Eric Adamski"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197560",
        "title": "The Great Broadening: How AI Is Reshaping Roles, Not Replacing Them",
        "description": "AI is not just making engineers faster – it’s expanding the range of work they can meaningfully contribute to.\r\nTasks that once required waiting on another function – such as design, product, or QA – are now far more accessible to engineers. That shift creates new opportunities, but also new responsibilities. The challenge is no longer just “getting work done.” It’s knowing where to step in, what problems are actually worth solving, and how to work without creating more noise, or confusion.\r\nIn this talk, we’ll explore how AI is changing the day-to-day reality of individual contributors by broadening the practical scope of their role. We’ll look at what happens when engineers can move more easily across traditional boundaries, and where that creates both leverage and risk. We’ll examine opportunities like sharing QA workload, reducing dependency bottlenecks, and improving requirement clarity.\r\nWe’ll also look at the challenges that come with broader roles: stepping into adjacent work without enough context, and prematurely accelerating tasks with AI. As execution gets cheaper, the value of good judgment, prioritization, and coordination rises.\r\nYou will leave with a clearer understanding of how to operate effectively in a broader role: when to go beyond your formal lane, how to add value across functions without overreaching, and how to turn increased capability into better outcomes for your team and business.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "fb15ff76-cecc-4b45-a53e-efd4adbcd29a",
            "name": "Eric Adamski"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1175423",
        "title": "The How and Why of DevOps",
        "description": "DevOps is a set of principles aimed at helping organizations execute better and provide more value with greater efficiency. It does this by emphasizing that organizations constantly self evaluate according to The Three Ways and seeking to improve communication within and between teams. By doing this, organizations can look to improve process and culture enabling them to achieve greater maturity and autonomy.\r\n\r\nWhile that all sounds great the truth is, for many organizations, DevOps represents a radical shift in the way they do things and has so many variations that finding their own path is very challenging. As a result, many merely look to automate various tasks or embrace techniques such as Infrastructure as Code or GitOps. While these are noble achievements, they represent but a sliver of the potential offered through the DevOps principles.\r\n\r\nIn this talk I will share techniques and strategies I have employed at organizations over the course of my career to help foster better communication and team efficiencies. This goes beyond automation and focuses on how organizations structure teams, how those teams communicate within themselves and with other teams. How the communication and structure within an organization impact the type of and quality of software that is attainable. And I will share various anti-patterns that can make it hard, if not impossible, to get value from a DevOps transformation.\r\n\r\nMy goal is for attendees to leave the talk armed with new perspectives and techniques they can use to start, accelerate, or course correct a DevOps transformation for their organization.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "ce34303c-233e-497a-bb12-70c8e32febf0",
            "name": "Jason Farrell"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197452",
        "title": "The S in MCP is for Security",
        "description": "The Model Context Protocol gives AI models a powerful way to call into your .NET applications through tools and resources. It also creates a new class of security problem: the person using the AI client may end up seeing data or performing actions they would never be allowed to do in your usual UI or APIs.\r\n\r\nThis session shows how to secure MCP endpoints in .NET with OAuth 2.0 and OpenID Connect so that AI interactions stay within the actual permissions of the current user. We look at how to flow identity and claims into MCP calls, apply scope and role checks, respect tenant boundaries, and prevent over-broad tools that let an agent “wander” into other users' data.\r\n\r\nUsing practical examples, we walk through securing MCP tools that wrap APIs, databases, and files, and show how to shape them so they only operate on data the user is allowed to access. We also cover auditing and monitoring so you can see what AI-driven traffic is doing in production.\r\n\r\nThis talk is for developers and architects who want to adopt MCP in .NET without creating a surprise escalation path for their users.",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "d108027a-7e26-46f5-b92d-9f6cb59eb283",
            "name": "Jonathan \"J.\" Tower"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197251",
        "title": "Threat Modeling with AI – Half-day Workshop",
        "description": "This workshop will introduce Security Professionals, Developers, Architects, and Product Managers to integrating AI assistance into their threat modeling workflows. Participants will learn how to leverage AI for diagramming, threat identification, and countermeasure recommendations to speed up threat model analysis.  \r\n\r\nTo bring these concepts to life, the workshop includes a guided case study on a Digital Wallet / Payment App. Participants will use AI tools to generate a data flow diagram, identify threats using STRIDE, propose mitigations mapped to industry standards, and summarize findings for business stakeholders. This integrated exercise provides an engaging, end-to-end view of how AI can support—but not replace—human judgment in threat modeling. \r\n\r\nWhile participants should have a working knowledge of Generative AI and LLM concepts and tools (e.g., prompt engineering), no prior experience with threat modeling is required.  \r\n\r\nParticipants will earn 4 CPE credits for this workshop. ",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "39a9166c-43f9-4b8f-a8b1-eba4e06b58c3",
            "name": "Robert Hurlbut"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      },
      {
        "questionAnswers": [],
        "id": "1197459",
        "title": "Unit Testing Your Transactional Database",
        "description": "We all have business logic in our databases, whether simple foreign keys, unique constraints, or default constraints, or more complex stored procedures, functions, or views. However, we often do not test that business logic outside of the initial development, when we test as we write. Unlike our application development brethren, we database developers do not have a tradition of continuous testing, or easy to reach for tools to help us on the journey. \r\n\r\nJoin this session to learn what unit testing is, how to unit test T-SQL code, and how to ensure the most important part - that the tests are run frequently. You will learn how to safely test T-SQL and how to use tSQLt to automate repetitive setup steps. You will learn how to structure database code to be more easily testable. Finally, we will review how to integrate our unit tests into the CI/CD pipeline to ensure our tests are run regularly. Database code can suffer from unexpected bugs when others change column names, table names, or even database settings, but we can insulate ourselves from some of those issues by unit testing!",
        "startsAt": null,
        "endsAt": null,
        "isServiceSession": false,
        "isPlenumSession": false,
        "speakers": [
          {
            "id": "51261179-6de0-4802-81b8-dc0366ca988d",
            "name": "Dan Mallott"
          }
        ],
        "categories": [],
        "roomId": null,
        "room": null,
        "liveUrl": null,
        "recordingUrl": null,
        "status": "Accepted",
        "isInformed": true,
        "isConfirmed": true
      }
    ],
    "isDefault": false
  }
]