Matt Eland
AI Specialist & Wizard at Leading EDJE
Columbus, Ohio, United States
Actions
An AI Specialist and Wizard at Leading EDJE who is known to teach software engineering, AI, and data science concepts in the most ridiculous ways possible. Matt has used machine learning to settle debates over whether Die Hard is a Christmas movie, reinforcement learning to drive the behavior of digital squirrels, data analytics to suggest improvements to his favorite TV show, and AI agents to play board games and create an AI agent with the personality of a dog. Matt is the author of "Data Science in .NET with Polyglot Notebooks" and "Refactoring with C#" as well as several LinkedIn Learning courses. Matt helps organize the Central Ohio .NET Developer Group, runs several blogs and a YouTube channel, has a Master’s of Science in Data Analytics, and is a current Microsoft MVP in AI and .NET.
Links
Area of Expertise
Topics
Identifying, Analyzing, Communicating, and Resolving Technical Debt
Our software sucks. We're up to our necks in bugs and technical debt, yet we often seem to hit roadblocks explaining things in ways that bring about meaningful change. In this session you'll learn to gather, analyze, and interpret data in order to create effective presentations to communicate quality, technical debt, and other technical matters in ways that tell a compelling story. You’ll master how to communicate effectively with key stakeholders by taking a data-driven approach blended with storytelling techniques to bridge common gaps between development and business stakeholders. We'll cover various architectural and analytical processes that can support the decision-making process, justify paying down technical debt, tips for reducing its accumulation in the future, and focusing on improving our software in the areas that need it most.
This talk was tremendously well-received at CodeMash, StirTrek, and as an online course at Pluralsight for some time. Some of the topics of this talk found their way into my first technical book, Refactoring with C#, though that book is more focused on tactical execution in a specific language.
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. But just like that, AI suddenly seems to actually be changing the world. From self-driving cars to LLMs to GitHub Copilot, AI is causing real and sudden changes in the world around us.
But is this AI future we find ourselves in really for everyone? How ethical and safe are these systems? What even is AI anyway, and how can you get started with it?
In this talk we'll cover the breadth of the AI landscape, common AI tasks, how AI is changing in recent years, ethical concerns in AI, and how and where you personally can get started with AI.
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.
CodeMash 2025 Sessionize Event Upcoming
Momentum 2024 Sessionize Event
AI Con USA
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
Stir Trek 2024 Sessionize Event
Azure CBUS - Azure Global Event User group Sessionize Event
CodeMash 2024 Sessionize Event
Global AI Conference 2023 Sessionize Event
Festive Tech Calendar 2023 Sessionize Event
Momentum 2023 Sessionize Event
Azure Back to School 2023 Sessionize Event
Franklin University Doctoral Student Association Conference 2023
Presented on Visualizing Code
KCDC 2023 Sessionize Event
The #AzureAndAIShow June Meetings!!! Sessionize Event
Stir Trek 2023 Sessionize Event
SciFiDevConMayTheFourthEvent 2023 Sessionize Event
SciFiDevCon 2023
Data Visualization with SandDance
Automating my Dog with Azure Cognitive Services
Azure and AI Show
Presenting on Azure Machine Learning talking about Die Hard
Azure Spring Clean 2023 Sessionize Event
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!
Global AI Student Conference 2022 Sessionize Event
Ohio Linux Fest
AI for Everyone?
Festive Tech Calendar 2022 Sessionize Event
GPSec Tech Summit
Attracting, Retaining, and Developing Talent Panel
TechBash 2022 Sessionize Event
Momentum 2022 Sessionize Event
Indy.Code()
Automating Machine Learning with Python and Azure
Is Die Hard a Christmas Movie? Let's ask Azure!
Cleveland Azure
Empowering your Data Science Experiments with Azure ML
Chat with Hackers Podcast
Discussing getting into Data Science and Software Development along with Azure Machine Learning
Azure Back to School 2022 Sessionize Event
Central Ohio .NET Developers Group (CONDG)
Automating my Dog with Azure Cognitive Services
PyOhio 2022
Introducing Automated Machine Learning with Python and Azure
Franklin University 2nd Annual Doctoral Student Association Conference
Empowering Machine Learning with Azure Machine Learning Studio
MemPy
Automating Machine Learning with Python and Azure
SciFiDevConMayTheFourthEvent Sessionize Event
Central Ohio .NET Developer Group
Using ML.NET to Predict Video Game ESRB Ratings with C#
Cincinnati Machine Learning Meetup
Using ML.NET to Predict Video Game ESRB Ratings with C#
Technology and Friends Podcast
Spoke on how humans learn and how that relates to programming and some aspects of machine learning
Global App Dev User Group
Stand Back; I'm going to try Data Science!
CodeMash 2022 Sessionize Event
Central Ohio Azure
Is Die Hard a Christmas Movie? Let's ask Azure!
Festive Tech Calendar 2021 Sessionize Event
Cincinnati Software Craftsmanship
Is Die Hard a Christmas Movie? Let's ask Azure!
Columbus App Dev User Group
Introduction to Application Architecture and Scalability
Momentum 2021 Sessionize Event
Stir Trek 2021 Virtual Edition Sessionize Event
GLUGNet
Expanding your .NET Testing Toolbox
Cincinnati Software Craftsmanship
Intro to Application Architecture and Scalability
LOPSA
Intro to Application Architecture and Scalability
GLUGNet
Intro to Application Architecture and Scalability
JavaScript and Friends
Intro to Application Architecture and Scalability
CinJuG
Intro to Application Architecture and Scalability
Tea & Tech with Michael
Casual talk about software development, bootcamps, getting into coding, side projects, etc.
Women Who Code Philly
Intro to Application Architecture and Scalability
Momentum 2020 Sessionize Event
Momentum Conf Interview
Discussing Functional Programming in C#
SciFiDevCon Sessionize Event
Stir Trek 2020 Sessionize Event
DotNet Open Source Days
Stand Back; I'm Going to Try Scientist!
CodeMash 2020 Sessionize Event
Central Ohio .NET Developer Group
Expanding Your .NET Testing Toolbox
Columbus App Dev User Group
Accelerating Angular Application Development
Central Ohio Windows Phone User Group (COWPUG)
Prototyping and Building Windows Phone Applications
Matt Eland
AI Specialist & Wizard at Leading EDJE
Columbus, Ohio, United States
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top