Chris Woody Woodruff
Architect at Real Time Technologies
Grand Rapids, Michigan, United States
Actions
Chris Woodruff, also known as Woody, is an Architect at Real Time Technologies and brings nearly three decades of industry expertise, having launched his career before the first .COM boom. Renowned for his contributions to software development and architecture, Woody is a regular speaker at international conferences, where he shares his deep knowledge on topics ranging from database development to APIs and web technologies.
A dedicated mentor, Woody thrives on guiding fellow developers and enhancing their skills through his talks, written work, and digital content. He co-hosts the popular "Breakpoint Show" podcast and YouTube channel, which he uses to connect with and educate the tech community. He is also writing a book covering network programming with C# and .NET.
Woody's interests extend beyond his professional life, adding a personal touch to his character. He is a passionate bourbon enthusiast, often embarking on adventures along the Bourbon Trail in search of unique finds to savor and share with friends. Family time is a cherished part of his life, and he often shares insights from his professional journey on his blog at https://woodruff.dev. To stay updated on his latest projects and adventures, follow him on Twitter at @cwoodruff and Mastodon at https://mastodon.social/@cwoodruff, where he shares his thoughts and experiences, fostering a sense of connection with his audience.
Area of Expertise
Topics
You Are the Key: Decentralized Identity with C# and ATProto
The AT Protocol (ATProto), which powers the BlueSky social media platform, introduces decentralized identity and data management, allowing developers to create user-centric applications. This session dives into the mechanics of ATProto's identity system and how to integrate it into .NET applications. We'll walk through implementing identity verification, managing data across decentralized networks, and creating C# code for seamless ATProto integration. By the end of the talk, you'll have the practical knowledge to develop robust decentralized identity solutions.
ASP.NET's Local-First Revolution: Where Your Data Takes Center Stage
Join a data-driven adventure as ASP.NET breaks free from the data center's grip and puts your device in charge. Explore the world of 'Local-First' ASP.NET, where offline doesn't mean off-duty, and data sync is a piece of cake. Get ready to revolutionize your app's performance, privacy, and user experience. Don't miss this quirky journey into the heart of ASP.NET's Local-First revolution!
Decentralize Everything: Building ATProto-Powered Apps with .NET
BlueSky’s AT Protocol (ATProto) provides a practical foundation for creating secure and interoperable decentralized applications, a crucial skill as the web transitions towards decentralization. In this session, we'll show you how to practically apply ATProto within the .NET ecosystem, demonstrating the tools and techniques for building decentralized apps using ASP.NET Core and C#. We'll cover the ATProto architecture, setting up .NET-based services, and implementing core features such as identity, data federation, and interaction protocols. Whether you're a seasoned .NET developer or new to ATProto, this talk will provide a practical roadmap to creating next-gen applications.
Mastering Terraform
Dive into the world of Infrastructure as Code (IaC) with our comprehensive eight-hour Terraform workshop. Designed for professionals seeking to master Terraform, this workshop offers a blend of theoretical knowledge and hands-on practice to ensure you can leverage Terraform’s full potential in real-world scenarios. Starting with the basics, we’ll introduce you to the concept of IaC and the foundational principles that make Terraform a leader in cloud infrastructure automation. You’ll learn how to set up Terraform, manage configurations, and execute basic commands essential for infrastructure management.
The workshop progresses into deeper Terraform concepts, covering providers, resources, data sources, input and output variables, and state management. We’ll explore the power of Terraform modules and workspaces for efficient infrastructure as code organization and environment management.
A significant portion of the afternoon is dedicated to a hands-on lab where you’ll apply what you’ve learned to build a comprehensive cloud infrastructure setup. This practical session is designed to solidify your understanding and skills in using Terraform for automating cloud infrastructure.
Whether you’re a developer, system administrator, or a cloud professional, this workshop will equip you with the skills needed to implement and manage infrastructure with Terraform effectively.
Blazing a Trail with Blazor: Revolutionize Your Web Development!
Introducing Blazor, Microsoft's innovative framework for building interactive client-side web UIs using .NET. Central to this discussion is an explanation of WebAssembly (WASM), a cutting-edge web standard enabling high-performance applications directly in the browser, allowing C# and .NET to function without plugins or recompilations to JavaScript. This talk delineates between Blazor WebAssembly, which runs .NET code in the browser via WASM, and Blazor Server, which executes .NET code on the server, maintaining a real-time connection with the client through SignalR.
Attendees will gain insights into implementing reusable components, a cornerstone of efficient Blazor development. These components encapsulate functionality self-contained, promoting code reuse and maintainability. The session will cover practical demonstrations of building and consuming such components, including parameterization and event handling.
The talk will explore state management, application structuring, and performance optimization, equipping developers with the knowledge to build robust, maintainable, scalable Blazor applications. Attendees will leave with a comprehensive understanding of Blazor, poised to leverage its full potential in modern web development projects.
Rust-ifying Your C# Codebase: A Tale of Adventure and Transformation
As the software development landscape evolves, so too must the tools and languages at the disposal of developers. For professionals proficient in C# and .NET, exploring new languages and paradigms can be exciting and challenging. Among the emerging languages, Rust stands out as a powerful systems programming language with a focus on safety, concurrency, and performance. This conference abstract presents an overview of a talk aimed at developers experienced in C# and .NET who are interested in making the transition to Rust.
By the end of this session, developers familiar with C# and .NET will have a solid understanding of Rust's unique features, its advantages, and the practical steps for transitioning to Rust development. Whether you're interested in building high-performance systems or exploring new horizons in software development, this talk will equip you with the knowledge and confidence to embark on your Rust journey.
Join us to discover how Rust can expand your toolkit and empower you to tackle a broader range of software challenges while maintaining the safety, performance, and productivity you've come to expect from your C# and .NET experience.
Harnessing the Power of Open Data: Designing APIs with OData and .NET
The Open Data Protocol (OData) has emerged as a powerful and flexible standard for building and consuming RESTful APIs, enabling developers to create rich, interactive user experiences. This talk will demonstrate how to design and implement APIs using OData and .NET.
Key topics covered in this talk will include:
• An introduction to the Open Data Protocol and its core principles for designing efficient and flexible APIs.
• Implementing OData services in .NET, including EF Core design, data access, and routing configuration.
• Advanced querying and data manipulation techniques include using $filter, $orderby, $top, $skip, and $expand OData query options.
• Tips for optimizing the performance of OData APIs, including server-side caching, client-side data fetching, and pagination strategies.
We will introduce the OData standard and its core principles, including its ability to enable seamless querying, sorting, filtering, and data paging. We will then explore the key benefits of OData combined with .NET, such as improved performance and simplified client-side development.
Unlocking Discoverability: Integrating Hypermedia with ASP.NET 8 Web API
In the vast, intricate web, our journeys from one digital realm to another are guided by unassuming hyperlinks, forging pathways and making the web an exploratory terrain for humans. But what about services? Enter Hypermedia APIs – the unsung heroes making services just as discoverable, ushering us into the future where every API is a well-lit avenue rather than a hidden alley.
Roy Fielding enlightened us with the quintessence of Hypermedia in REST APIs, portraying it as the linchpin of the architectural style. Echoing this, the Richardson REST Maturity Model declared Hypermedia as the zenith of REST evolution. Despite the accolades and pivotal role, Hypermedia remains an underutilized treasure, overshadowed by its more ubiquitous counterparts, thus dimming the luminescence it can bring to APIs.
This talk embarks on an expedition to uncover the untapped potential of Hypermedia in enhancing ASP.NET 8 Web API solutions. We will delve into the whys and hows, demystifying Hypermedia’s significance and illustrating its implementation. Why is it, despite its heralded status, that Hypermedia is still a rare gem in the API landscape? And, more importantly, how can we harness its capabilities to bring about a paradigm shift in the way services are discovered and interacted with?
We will explore practical examples, illuminate best practices, and unravel the strategies for seamlessly integrating Hypermedia into your ASP.NET 8 Web API. By the journey’s end, you will be equipped with the knowledge and tools to elevate your API, making it a beacon of discoverability in the digital labyrinth and ensuring that the glory of Hypermedia is no longer confined to the annals of theory but is vibrantly alive in practice. Join us as we traverse the path less traveled and bring the brilliance of Hypermedia to the forefront of ASP.NET 8 Web API development.
Caching in ASP.NET 9 Web API
Caching stores frequently used data or information in local memory for a specific period. When a client requests the same information, instead of retrieving the information from its permanent data store, it will give the information from the local memory. The main advantage of caching is that it improves performance by reducing the processing burden.
In this talk, we will discuss and learn how to use caching in ASP.NET 9 Web API on both the server and client sides to improve its performance by decreasing the response time to the user. The talk's result will include local and distributed cloud solutions for caching and guidance on when and how to use the technique.
Embracing Sustainability: Developing Green Software Architectures with .NET 9
In today's environmentally-conscious world, it is more important than ever to create software that performs efficiently and minimizes its impact on the environment. This talk will explore how to develop sustainable, green software architectures using .NET 9, the latest version of the popular development platform.
We will begin by discussing the concept of green software and its fundamental principles, including energy efficiency, resource conservation, and electronic waste reduction. We will then dive into the features and enhancements introduced in .NET 9 that can aid in creating eco-friendly software solutions.
By the end of this talk, attendees will understand the role that .NET 9 can play in creating sustainable software architectures. They will also be equipped with practical tips and strategies to implement green software principles in their own .NET projects, contributing to a cleaner, greener future for us all.
Globalizing Your Digital Presence: Building ASP.NET 9 Apps for an International Audience
In an increasingly interconnected world, creating applications with global appeal necessitates a deep understanding and implementation of internationalization. This talk delves into leveraging ASP.NET 9’s advanced services and middleware to localize applications across diverse languages and cultures, thereby widening your app’s reach beyond English-speaking users.
Participants will gain insights into crafting universally accessible websites with a special emphasis on ASP.NET 9 Internationalization. The session will demystify techniques for dynamically altering currency and date formats in alignment with user location, enhancing user experiences across geographical boundaries.
Attendees will explore:
- The foundational principles and best practices of internationalization within ASP.NET 9.
- Practical strategies for integrating localization middleware to cater to a multilingual and multicultural user base.
- Dynamic adaptation of currency and date formats, underpinned by real-time detection of user location, fostering seamless user interaction.
- Real-world examples and case studies demonstrating the impactful application of ASP.NET 9 internationalization features.
- Potential challenges and solutions in developing globally competent applications, with a focus on scalability and performance.
This session is designed for developers and tech enthusiasts seeking to elevate their skills in developing inclusive ASP.NET 9 applications, ultimately broadening the scope and impact of their digital offerings. Whether you are a seasoned developer or new to ASP.NET, join us to unlock the potential of your applications in the international arena!
Entity Framework debugging using SQL Server: A Detective Story
What happens when the code for your Entity Framework LINQ queries looks good, but your app is very slow? Are you looking for the right place? Don't be afraid to start looking at your database. Knowing how to investigate and debug what your LINQ queries are doing in SQL Server is as important as the actual LINQ query in your .NET solutions. We will look at database server configurations, using MSSQL database profiling tools and understanding Query Execution Plans to get the most out of Entity Framework. In the end, learning to be an Entity Framework detective will make your project sound and snappy.
Removing the SELECT * - Helping your App Developers and Yourself
Are you finding slow queries against your database? Want to make the application developers better with their operations on the database? Do you want to make yourself more valuable by understanding how applications impact the databases you support? All this and more will be discussed during the talk. Get to know ORM frameworks like Entity Framework and C# LINQ statements and how they perform operations to get, create and update data. The knowledge taken away from this talk will help you become a better Data Developer!
Another AI Path: Building Genetic Algorithms in C# and .NET
Genetic Algorithms are based on the ideas of natural selection and genetics. This branch of Artificial Intelligence provides a search with historical data to direct the search into the region of better performance in solution space. They are commonly used to generate high-quality solutions for optimization problems and search problems. Learn how to develop and use this type of AI for real-world problems and solutions using C# and .NET on your favorite cloud platform.
Developing Great Web APIs Architectures with ASP.NET 9
You know you must have a great experience when you develop your apps. The most significant experience for your users centers around their data. That's why creating a great set of APIs is so important. Using ASP.NET 9 Web API is a modern cross-platform framework for the Web. ASP.NET 8 Web API can be run on Windows and Linux using all modern web servers. The secret is knowing how to architect your Web APIs for the best experience.
Using the architecture in this talk allows your APIs specifically to work better due to the following:
• Designing the API for communications with the consumer of the API
• Allowing an apparent decoupling of the API endpoints, Data Access (Synthetic or Production), and, finally, the Data Domain classes.
• The API Endpoints (Controllers) have no knowledge or responsibility of the Data Domain, and behind it, Data Access
• Because of the decoupling and separation of responsibilities, testing can be done quickly and without issues.
• Data Access segments of the architecture can easily be switched out without impacting the Domain or API Endpoints.
The development story becomes more comfortable using the architecture, and your end users get a much more stable API set to consume. The talk will explain and get you started using these concepts with your ASP.NET 9 Web API solutions.
Building Web APIs with ASP.NET 9 (Workshop)
Web APIs drive the most popular and powerful Web and mobile apps—making the developer who can build a robust web API a developer that's in demand. Get started creating your own with ASP.NET 9, the open-source framework for Windows, macOS, and Linux.
First, learn about attribute routing, the preferred method of handling HTTP requests in ASP.NET 9. Then learn how to set up controllers, connect them to the data model, set up validation for incoming requests, and configure HTTP responses. Chris Woodruff also shows how to implement CRUD operations on the SQL database server where the data is stored. An advanced development section provides insights on using a repository layer and dependency injection to make your API more abstract and testing projects with tools such as MSTest and xUnit. Demonstrations on optimization and caching show how to improve the performance of your APIs.
Follow along with Chris to learn all these concepts and more, and complete the web API shown in the course: an eCommerce engine for creating and viewing customer orders and assigning orders to sales reps.
Prerequisites
It is strongly recommended that you have some knowledge of the following:
• C# and .NET 9
• LINQ
• Entity Framework Core
• Microsoft SQL Server
• ASP.NET MVC
You will need the following software installed on your machine.
• Your favorite .NET IDE
• .NET 9 SDK
• Microsoft SQL Server or Windows Azure or AWS account for MSSQL
• An HTTP debugging tool like Fiddler or Postman
• Git
Takeaways
• Learn about ASP.NET 9, where it came from and how to start using it for web and API development
• Learn how to use ASP.NET 9 Web API's built-in dependency injection for more robust and easier-to-maintain projects.
• Learn how to create routes for your API calls with the MVC pattern.
• Learn how to work with domain models and data in your API, along with caching.
• Learn how to test and debug your ASP.NET 9 Web API solution.
• Learn advanced architecture techniques in ASP.NET 9 Web API
The 10 Things Every Developer Doesn’t know about Entity Framework Core
Entity Framework (EF) Core is the lightweight, extensible, and cross-platform version of Entity Framework, the popular Object/Relational Mapping (O/RM) framework for .NET. This talk will give an in-depth look at the features most developers don't know about to improve their apps and APIs. There will be an explanation of each feature, code examples, and a GitHub repository with a .NET solution that includes a C# project for each example.
You are Not Using Entity Framework Core Migrations Right
Would you want your DBA to build your app just from the designed database without you being involved? Then why do you keep thinking that using Entity Framework Core Migrations is good? If you are going to use EF Core Migrations, then at least do it right and have it create a robust, optimized database! This talk will get you started understanding the power of Migrations beyond the simple demos you have seen. There will be code examples and a GitHub repository with a .NET/C# solution and projects that will accompany the talk.
Turbo Charging Entity Framework Core 8: Performance
Software performance engineering (SPE) aims to build predictable performance into systems by specifying and analyzing quantitative behavior from the beginning of a system to its deployment and evolution. We should also apply this thinking to the data portions of our applications and systems. Performing data operations with Entity Framework Core 8 can seem simple, but there is a hidden part of this framework that can allow developers to unlock the performance users expect. We will lean into this, explore those EF Core features, and leave the talk as better developers.
Enhancing ASP.NET Core Razor Pages with HTMX: A Simplicity-First Approach
Dive into the dynamic world of web development in this engaging talk, where we explore the innovative blend of HTMX with ASP.NET Core Razor Pages. Discover how to bring simplicity back to your web applications without sacrificing power or scalability. We'll navigate through practical examples demonstrating how HTMX can make your Razor Pages more interactive with minimal JavaScript. Learn to enhance user experiences with easy-to-implement features like long polling, modals, and server-side validation that feel like the client side without a full page refresh. Whether you're a seasoned developer or new to the ASP.NET ecosystem, this talk will equip you with the knowledge to create more responsive and efficient web applications. Get ready to transform your approach to web development by leveraging the best of both worlds: the robustness of ASP.NET Core and the simplicity of HTMX.
Michigan Technology Conference 2024 Sessionize Event
Live! 360 Orlando 2023 Sessionize Event
Beer City Code 2023 Sessionize Event
KCDC 2023 Sessionize Event
DevSum 2023 Sessionize Event
Rome .NET Conference 2023 Sessionize Event
CodeMash 2023 Sessionize Event
Update Conference Prague 2022 Sessionize Event
KCDC 2022 Sessionize Event
DevSum 2022 Sessionize Event
Update Conference Prague 2021 Sessionize Event
Atlanta Code Camp 2021 Sessionize Event
KCDC 2021 Sessionize Event
Code PaLOUsa 2021 Sessionize Event
Code PaLOUsa 2020 Sessionize Event
CodeMash 2020 Sessionize Event
dev up Conference 2019 Sessionize Event
Code PaLOUsa 2019 Sessionize Event
NDC Oslo 2019 Sessionize Event
CodeStock 2019 Sessionize Event
CodeMash 2019 Sessionize Event
dev up Conference 2018 Sessionize Event
Vermont Code Camp 2018 Sessionize Event
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