Most Active Speaker

Matt Eland

Matt Eland

Microsoft MVP & AI Specialist at Leading EDJE

Columbus, Ohio, United States

Matt Eland is a software engineering leader and data scientist who has served as a senior engineer, software engineering manager, professional programming instructor, and has helped build enterprise-level software at a variety of organizations before distinguishing himself as a Microsoft MVP in Artificial Intelligence.

Matt is an AI Specialist at Leading EDJE, is the author of "Refactoring with C#" and the upcoming "Data Science in .NET" book. Matt is also building a LinkedIn Learning course on Computer Vision on Azure, a personal AI agent, and pursuing a master's degree in data analytics. Matt occasionally sleeps as well.

Awards

Area of Expertise

  • Information & Communications Technology
  • Business & Management
  • Government, Social Sector & Education

Topics

  • Data Science
  • Machine Learning
  • Artificial Intelligence
  • Azure Machine Learning
  • ML .NET
  • Azure Cognitive Services
  • Microsoft Bot Framework
  • Conversational AI
  • C#
  • F#
  • Vue.js
  • SQL
  • Python
  • Teaching
  • .NET
  • Soft Skills

AI Orchestration and RAG with Semantic Kernel and C#

Chatting with large language models has been all the rage the past year and a half, but ChatGPT and its brethren have their limits. First, their data is only as current as when they were trained. Secondly, they struggle to interact with your data and your systems. Third, AI systems can be hard to ground against hallucinations and safely extend.

In this talk we'll look at Semantic Kernel, Microsoft's new open-source AI Orchestration framework, and see how it supports retrieval augmentation generation and AI Orchestration workflows to address these concerns.

We'll cover the basics of creating and invoking the kernel and attaching it to large language models on a variety of platforms. We'll cover the idea of plugins and planners and see how plugins can be created, selectively integrated, and unit tested. We'll also see how text embeddings and memory can further enhance the chat experience.

By the time we're done you'll see how semantic kernel can integrate new capabilities and connections into your enterprise chat capabilities.

Refactoring with C#

Technical debt and legacy code suck to deal with. Let's take a look at how modern C# and Visual Studio can help make it better.

In this talk we'll cover the built-in code analysis and refactoring tools in Visual Studio, ways of codifying and enforcing code standards in the editor through .editorconfig files and custom Roslyn Analyzers that can provide team-specific code analysis results and refactorings. We'll also discuss how new tools like GitHub CoPilot can assist in analyzing, refactoring, documenting, and even testing your code as you refactor.

Finally, we'll close with a discussion of refactoring code in enterprise organizations and agile environments including getting buy-in for paying down technical debt and rolling out changes in a safe and repeatable manner.

AI Fairness, Transparency, Privacy, and Accessibility

"AI is perfectly safe and has no bias, risks, or safety concerns whatsoever", said nobody ever.

As AI-based systems become more pervasive it's important to remember that these systems are for everyone and should benefit everyone. Sadly, this isn't always the case. Our very data is often biased heavily against different ages, genders, and ethnicities in ways that can be hard to detect.

Additionally, AI systems themselves can often be a new source of data from chat transcripts, user content, and more. How this data is treated matters greatly because even anonymized data may not be as anonymized as we think it is.

Finally, even when AI systems are working properly, they may be used in ways we don't intend or approve of, including ways that might cause real harm to others.

In this talk we'll talk about various ethical, privacy, safety, and fairness concerns in AI systems (generative and otherwise) and how to detect and remediate these issues so our AI systems can truly be for everyone.

Building the Bat Computer with Semantic Kernel, .NET, and OpenAI

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

In this half-day workshop we'll take a starter C# application and progressively expand it by adding speech, vision, language, and decision-making capabilities with Azure AI services, plus a healthy sprinkling of large language models and OpenAI.

By the time we're done, you'll have a better understanding of what AI can do and see how easy it is to integrate it into your applications. You'll also be that much closer to super hero / super villain* status with a modular personal AI companion of your very own to continue extending after CodeMash is over.

* CodeMash does not endorse acts of villainy including but not limited to taking over the world and/or the Kalahari.

Beginning Machine Learning in C# with ML.NET AutoML

Did you know you can train and use machine learning inside of your .NET applications without needing detailed knowledge of machine learning algorithms? In this talk we'll explore the ML.NET AutoML API capabilities and how accessible machine learning in C# really is as we write C# code to solve machine learning problems.

We'll focus heavily on the automatic algorithm selection features of AutoML in ML.NET and talk about the various tasks it can achieve before drilling deeper to apply AutoML to solve a multi-class classification problem. We'll train a machine learning model and have it predict video game ESRB ratings for a few hypothetical games provided by the audience, then host this new model in a .NET 6 minimal Web API project in ASP .NET Core.

We'll also explore evaluating model performance, ideal training times, and how trained models can be saved and loaded for use in production applications, as well as some places you can go to learn more about ML.NET and machine learning in general.

NOTE: This is different than the AutoML CLI or Model Builder. Our core focus is on C# code for Machine Learning using the AutoML as baby steps into Machine Learning

This talk is a mixture of slides and code.

This talk can be performed in person without an internet connection

Using Genetic Algorithms to Breed Killer Squirrels

Can a computer program truly surprise its creator?

In this highly unusual session, you'll get a high-level introduction to genetic algorithms as we look at a simple scenario involving training a virtual squirrel to find an acorn and return to its tree in a 2D world without being eaten by the neighborhood dog.

Not exactly a common business problem, but this code-free overview lets us explore the basics of genetic algorithms, representing potential solutions as genes, evolving solutions over time, the role of crossover and mutation, and the importance of a well-thought-out fitness function.

All of this will be done to see if a computer can evolve a gene capable of solving a specific problem (spoilers: it can), and see if a computer can find solutions its programmer didn't even think were possible.

This is an interesting combination of a talk on what genetic algorithms are as well as a discussion of the role of side projects. It is intended for a shorter time slot, but a longer abstract could be made for a more in-depth talk covering more technical details.

Empowering your Data Science Experiments with Azure Machine Learning

Azure Machine Learning Studio has something for all experience levels of data scientist. In this talk we'll explore what Azure Machine Learning Studio is and how it can help novice, intermediate, and advanced data scientists empower their data science experiments.

We'll start by exploring Automated ML and how it helps data scientists focus on the task they're trying to accomplish while Azure discovers the optimal algorithms and hyperparameters for their experiments - without requiring any code on their part.

Next, we'll explore the Machine Learning Studio designer and how it supports more advanced no-code or low-code approaches to build repeatable machine learning pipelines.

After that we'll discuss the Azure ML Python SDK and how it allows advanced users to customize their experiments, use their own compute resources, and fine-tune and automate the tasks they're trying to accomplish.

By the end of this talk you'll see how Azure Machine Learning Studio reduces barriers to entry and propels experiments further by helping novice, intermediate, and advanced data scientists train, evaluate, manage, and deploy their machine learning models and related datasets.

Automating my Dog with Azure AI

Like many terrier owners, I have a problem. My dog is overworked from the constant need to monitor multiple streets to bark at squirrels or passers by. I'd like to free up more of his time and energy for snuggling and play but the outdoors must still be monitored. Thankfully, it turns out that much of what my dog does can be automated using Azure AI Services and Azure OpenAI.

In this talk we'll use this absurd premise to build an AI dog through the Azure AI Vision, Azure AI Speech, and Azure AI Language APIs as well as Azure OpenAI. We'll explore how these different capabilities can work in tandem to create an immersive application that is able to respond semi-intelligently to what the user says and incorporate that with its knowledge, sight, and personality.

By the end of this session you'll have more of an understanding of what Azure AI Services and Azure OpenAI can do. You'll also learn the basics of how to interact with them from code so that you, like my dog, can take advantage of pre-trained machine learning models to enhance devote more of your energy to other areas.

This will require an internet connection. It is also completely ridiculous.

Rock Paper Scissors and other absurd things you can do with Computer Vision

Computer vision is an interesting and almost magical field. In this talk we'll explore the different forms of computer vision, their uses in everyday applications, and common libraries and languages that help with them. By the time we're done you'll have an understanding of what computer vision is, how it works at a high level using deep learning, and how you can get started with it using either OpenCV, PyTorch, or an API-based approach like Azure Cognitive Services.

Expanding Your .NET Testing Toolbox

Ever wanted to get better at unit testing in .NET but didn't know where to start? In this session we'll go over a variety of tools and libraries that can take your .NET and .NET Core unit tests to the next level.

We'll take a fictitious legacy codebase and add basic tests to it, then diversify into new areas such as mocking, fluent assertions, randomized data, API testing, UI testing, parameterized tests, snapshot tests, behavior driven development, and other techniques.

You'll leave with an even larger bag of tricks and the knowledge that whatever the nature of the application you're developing, you have the tools to test it.

Aimed at new and intermediate .NET developers with an early understanding of unit tests in .NET.

Get Started with OpenAI on Azure

AI transformers have been making unignorable waves over the last few years with innovations in content generation we didn't even think were possible half a decade ago.

In this session we explore how to use OpenAI models hosted on Azure to generate text and images for your applications. Along the way we'll explore the models available, OpenAI pricing, optimizing prompts for OpenAI, and where the service is going from here.

Visualizing Code

What happens if we combine the fields of software architecture and data visualization? In this talk, we'll explore what the code and work item management systems we work with every day can tell us about the evolving nature of software and how we communicate it.

This talk will highlight a variety of ways to visualize codebases ranging from highly experimental perspectives to more practical and polished ways of looking at codebases.

We'll follow a data analysis workflow of seeing what data we can pull out of our systems and exploring what insights that data can tell us. We'll talk a bit more about some of the specific concerns you might have in data cleaning that relate specifically to code, source control, and work item management systems. We'll also include a discussion on how to share insights from code and specific concerns you may need to watch out for when doing so.

While the main point of this talk is to get you thinking differently about your code and how you communicate it, we'll close with a discussion of some tools out there that provide code visualization features.

Managing your AI / ML Pricing on Azure

Machine learning and artificial intelligence are awesome, and Azure makes them affordable and scalable, but there's still some things you should know to understand and plan for your pricing needs using machine learning and AI on Azure.

Let's take a look at the pricing components of Azure Machine Learning, Azure Cognitive Services, and the newer OpenAI offerings that are now part of Azure as well. We'll discuss some common costs you can anticipate and potentially mitigate and using Azure Cost Management to discover the services costing you the most money each month.

Intro to Application Architecture and Scalability

Software is a lot more complicated than it used to be. Twenty years ago most applications lived on individual machines as executables. Today modern applications run in a combination of environments including web applications, mobile apps, APIs, and databases.

In this talk we'll take a look at the various components that comprise modern web applications, explore performance and scalability, and give a general overview of advanced architectural concepts like caching, database partitioning, NoSQL, microservices, and containerization.

By the end of this talk you should have a greater high-level understanding of modern architectural concepts and how the pieces fit together, as well as more knowledge on where and when these approaches are appropriate to use.

Presented at a variety of user groups and aimed at the introductory level, but touching on more advanced concepts.

AI for Everyone?

Artificial intelligence has been promising to revolutionize the world since before the personal computer even existed. And yet, the past few years we've seen a number of "sea change" events in terms of artificial intelligence and machine learning. From self-driving cars to GPT-3 transformers, DALL-E, and GitHub Copilot, AI is starting to cause real and sudden changes in the world around us.

But is this AI future we find ourselves in really for everyone? Is it possible for us to innovate new technologies and not leave entire groups of people in the dust? Bias and fairness around racial, gender, and age groups are a very real concern in machine learning systems. Additionally, we're starting to see the beginnings of AI negatively impacting established industries. Beyond that, there are some very real concerns about privacy and data ownership.

And what of the learning curve for getting into AI? Can artificial intelligence and machine learning truly be for everyone and truly serve everyone?

This is a non-technical talk focusing on ethical issues in AI and recent AI trends. We'll talk about Fairlearn, Responsible AI, and others for overcoming some of these biases, as well as the responsibility of data scientists and ML engineers. We'll also touch on some of the more accessible ways of getting started with AI for those interested, including Azure Cognitive Services and Azure Machine Learning.

Naughty or Nice? Teaching an AI to lie at games

When the pandemic lockdown created some serious obstacles to finding people to play my favorite social deduction card game with, I did what any sensible software engineer would do: I created my own opponents.

In this session we'll explore the various factors that go into designing an artificial intelligence opponent for a game of any type, and explore the potential strategies and concerns in a hidden roles / hidden information social deduction game where bluffing and lying are part of the core game mechanics.

We'll explore building a probabilistic model of the game board in Bezier Games' One Night Ultimate Werewolf, the idea of deduction and deception in an uncertain world, and training techniques to help artificial intelligence find optimal playing strategies and see if AI can innovate new ways of surprising and deceiving their opponents - including humans.

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

Curious about data science and its relation to software engineering? Want to know how to dabble in artificial intelligence or machine learning side projects before taking the plunge? Come check out this session.

In this session I'll highlight my own journey in layering data science skills on top of a software engineering background. I'll teach you the terms, roles, languages, libraries, and technologies you'll encounter and help you understand what aspects of math and programming are helpful in setting down this journey.

You'll discover easy ways to get started with Python, R, and get connected to the data science community. I'll show you how to discover public datasets and visualizations to help inspire your own journey. By the time the session is finished, you'll know how to find out if data science is a good fit for you and how to take it to the next level if you discover you like it.

Is Die Hard a Christmas Movie? Let's ask Azure!

When it comes to popular Christmas movies there's a recurring debate as to whether or not that list of movies should include the 1988 film Die Hard. Thankfully, machine learning has been applied to this problem and we have an answer.

We'll start off by using Python, Pandas, and Jupyter Notebooks to analyze and clean movie data and then prepare it for model training while avoiding factors that might introduce bias.

After that we'll explore using the beginner-friendly features of Azure Machine Learning Studio's Automated ML to train and evaluate a classification model.

Finally, we'll deploy the trained model to Azure as a web service and see what it has to say about Die Hard.

By the time we're done you'll know the truth about Die Hard and have a deeper understanding of machine learning experiments and some common beginner-friendly tools involved in machine learning.

Interactive Notebooks for the Polyglot with Python, .NET, SQL, JS, and more!

Have you ever wanted to run a small experiment or create an example to share with your team but didn't want to go through the boilerplate of setting up a new project? Did you ever wish you could embed interactive code examples alongside your documentation? Project Jupyter and Polyglot Notebooks might be up your alley.

In this talk you'll see how Jupyter Notebooks, Jupyter Labs, and Polyglot Notebooks (formerly .NET Interactive) offer interactive ways of running code in a minimal environment alongside rich markup documentation. We'll cover what notebooks are, what they're used for, setting up your notebook in Jupyter and Polyglot Notebooks, and how the various code blocks can be used.

Along the way we'll feature examples using Python, JavaScript, C#, F#, SQL, HTML, Mermaid diagrams, and more.

Finally, we'll close with a discussion of sharing your notebooks with others and how notebooks can serve as rich interactive documentation, proofs of concept, and might even be considered an entire class of application in their own right.

The first bit of this will cover Jupyter Notebooks and Jupyter Labs. Anaconda individual edition will be discussed as a good way of getting started and cloud-based providers for notebooks will also be discussed.

The second half of this talk will feature Polyglot Notebooks (see https://devblogs.microsoft.com/dotnet/dotnet-interactive-notebooks-is-now-polyglot-notebooks/ ) and show how notebooks can be used for more than just Python development or data science experiments.

Exploratory Data Analysis in Python with Pandas and Plotly

Let's take a look at how Python can be an effective platform for analyzing and visualizing data.

In this talk we'll use Jupyter Notebooks, Pandas, and Plotly to visualize several datasets to find trends in our data.

We'll cover loading and transforming data in Pandas and NumPy, including cleaning missing values and performing feature engineering. We'll also look into the built-in aggregation and statistical techniques in Pandas DataFrames.

Next we'll take our data and see how Plotly can generate compelling scatter plots, box plots, histograms, tree maps, and more with just a bit of code.

By the time we're done you'll see why I often prefer data visualization in Python over dedicated tools like Tableau or Power BI.

AI Con USA Upcoming

Mad Data Science: Using AI to Build Ridiculous Things
Beginning Data Analysis and Machine Learning with Jupyter Notebooks
Augmenting AI Applications with Semantic Kernel and AI Orchestration

June 2024 Las Vegas, Nevada, United States

Stir Trek 2024 Sessionize Event Upcoming

May 2024 Columbus, Ohio, United States

Azure CBUS - Azure Global Event User group Sessionize Event Upcoming

April 2024 Columbus, Ohio, United States

CodeMash 2024 Sessionize Event

January 2024 Sandusky, Ohio, United States

Global AI Conference 2023 Sessionize Event

December 2023

Festive Tech Calendar 2023 Sessionize Event

December 2023

Momentum 2023 Sessionize Event

October 2023 Cincinnati, Ohio, United States

Azure Back to School 2023 Sessionize Event

September 2023

Franklin University Doctoral Student Association Conference 2023

Presented on Visualizing Code

June 2023 Columbus, Ohio, United States

KCDC 2023 Sessionize Event

June 2023 Kansas City, Missouri, United States

The #AzureAndAIShow June Meetings!!! Sessionize Event

May 2023

MemPy May 2023: Exploratory Data Analysis with Python and Plotly

May 2023 Memphis, Tennessee, United States

Stir Trek 2023 Sessionize Event

May 2023 Columbus, Ohio, United States

SciFiDevConMayTheFourthEvent 2023 Sessionize Event

May 2023

SciFiDevCon 2023

Data Visualization with SandDance
Automating my Dog with Azure Cognitive Services

May 2023

Azure and AI Show

Presenting on Azure Machine Learning talking about Die Hard

March 2023

Azure Spring Clean 2023 Sessionize Event

March 2023

Central Ohio .NET Developer Group - February 2023

Our code has baggage. Code rapidly goes from being pristine and green field to being eroded over time as requirements and features change, standards shift, and technologies change.

Beyond that, the very languages we use evolve over time. Dotnet and Java are over 20 years old and still heavily used in the industry. Each year we get reams of new features that can be added to existing codebases. The languages we use are not as simple or focused as they were two decades ago and it's becoming mathematically impossible to teach new learners all the language features they're likely to encounter in the "real world".

So how do we help guide new team members through our codebases? How do we use the latest and greatest features in our codebases while not burdening new developers with a massive learning curve? How do we help seasoned developers learn our team's preferences and standards?

In this talk we'll explore various techniques for determining coding standards for your organization, evaluating if the latest language features are really worth incorporating into your code, communicating the context of code, and guiding new team members of various experience levels through your codebase and its features. And we'll explore ways of doing all of this without sparking a technical civil war in the process!

February 2023 Columbus, Ohio, United States

Global AI Student Conference 2022 Sessionize Event

December 2022

Ohio Linux Fest

AI for Everyone?

December 2022 Columbus, Ohio, United States

Festive Tech Calendar 2022 Sessionize Event

December 2022

GPSec Tech Summit

Attracting, Retaining, and Developing Talent Panel

November 2022 Columbus, Ohio, United States

TechBash 2022 Sessionize Event

November 2022 Mount Pocono, Pennsylvania, United States

Momentum 2022 Sessionize Event

October 2022 Cincinnati, Ohio, United States

Indy.Code()

Automating Machine Learning with Python and Azure
Is Die Hard a Christmas Movie? Let's ask Azure!

October 2022 Indianapolis, Indiana, United States

Cleveland Azure

Empowering your Data Science Experiments with Azure ML

October 2022 Cleveland, Ohio, United States

Chat with Hackers Podcast

Discussing getting into Data Science and Software Development along with Azure Machine Learning

October 2022

Azure Back to School 2022 Sessionize Event

September 2022

Central Ohio .NET Developers Group (CONDG)

Automating my Dog with Azure Cognitive Services

August 2022 Columbus, Ohio, United States

PyOhio 2022

Introducing Automated Machine Learning with Python and Azure

July 2022 Columbus, Ohio, United States

Franklin University 2nd Annual Doctoral Student Association Conference

Empowering Machine Learning with Azure Machine Learning Studio

June 2022 Columbus, Ohio, United States

MemPy

Automating Machine Learning with Python and Azure

June 2022 Memphis, Tennessee, United States

SciFiDevConMayTheFourthEvent Sessionize Event

May 2022

Central Ohio .NET Developer Group

Using ML.NET to Predict Video Game ESRB Ratings with C#

March 2022 Columbus, Ohio, United States

Cincinnati Machine Learning Meetup

Using ML.NET to Predict Video Game ESRB Ratings with C#

March 2022 Cincinnati, Ohio, United States

Technology and Friends Podcast

Spoke on how humans learn and how that relates to programming and some aspects of machine learning

February 2022

Global App Dev User Group

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

February 2022 Columbus, Ohio, United States

CodeMash 2022 Sessionize Event

January 2022 Sandusky, Ohio, United States

Central Ohio Azure

Is Die Hard a Christmas Movie? Let's ask Azure!

December 2021 Columbus, Ohio, United States

Festive Tech Calendar 2021 Sessionize Event

December 2021

Cincinnati Software Craftsmanship

Is Die Hard a Christmas Movie? Let's ask Azure!

December 2021 Cincinnati, Ohio, United States

Columbus App Dev User Group

Introduction to Application Architecture and Scalability

October 2021 Columbus, Ohio, United States

Momentum 2021 Sessionize Event

October 2021 Cincinnati, Ohio, United States

Stir Trek 2021 Virtual Edition Sessionize Event

May 2021

GLUGNet

Expanding your .NET Testing Toolbox

April 2021 Lansing, Michigan, United States

Cincinnati Software Craftsmanship

Intro to Application Architecture and Scalability

April 2021 Cincinnati, Ohio, United States

LOPSA

Intro to Application Architecture and Scalability

March 2021 Columbus, Ohio, United States

GLUGNet

Intro to Application Architecture and Scalability

March 2021 Lansing, Michigan, United States

JavaScript and Friends

Intro to Application Architecture and Scalability

March 2021 Columbus, Ohio, United States

CinJuG

Intro to Application Architecture and Scalability

February 2021 Cincinnati, Ohio, United States

Tea & Tech with Michael

Casual talk about software development, bootcamps, getting into coding, side projects, etc.

February 2021 Cincinnati, Ohio, United States

Women Who Code Philly

Intro to Application Architecture and Scalability

February 2021 Philadelphia, Pennsylvania, United States

Momentum 2020 Sessionize Event

October 2020 Cincinnati, Ohio, United States

Momentum Conf Interview

Discussing Functional Programming in C#

October 2020 Cincinnati, Ohio, United States

SciFiDevCon Sessionize Event

July 2020

Stir Trek 2020 Sessionize Event

May 2020 Columbus, Ohio, United States

DotNet Open Source Days

Stand Back; I'm Going to Try Scientist!

April 2020 Columbus, Ohio, United States

CodeMash 2020 Sessionize Event

January 2020 Sandusky, Ohio, United States

Central Ohio .NET Developer Group

Expanding Your .NET Testing Toolbox

August 2019 Columbus, Ohio, United States

Columbus App Dev User Group

Accelerating Angular Application Development

July 2018 Columbus, Ohio, United States

Central Ohio Windows Phone User Group (COWPUG)

Prototyping and Building Windows Phone Applications

November 2011 Columbus, Ohio, United States

Matt Eland

Microsoft MVP & AI Specialist at Leading EDJE

Columbus, Ohio, United States