- Local Development Techniques with Kubernetes
It's day 2. The corporate k8s cluster is humming. Everything works perfectly in a local environment, but how do you connect the wires? Your first few steps in Kubernetes may feel like walking through uncharted territory. Yet, several tools can make you just as productive as you were in your comfortable local setup. With only a few changes in your configuration, you can automatically rebuild clusters when a file changes and even debug software running in containers. Add this to some visualization tools and some templating software, and you'll be back on track very quickly. In this talk, you’ll learn how to use some open source tooling available around the Kubernetes ecosystem to become more productive and optimize for developer joy.
Rob Richardson is a software craftsman building web properties in ASP.NET and Node, React and Vue. He’s a Microsoft MVP, published author, frequent speaker at conferences, user groups, and community events, and a diligent teacher and student of high quality software development. You can find this and other talks on https://robrich.org/presentations and follow him on twitter at @rob_rich.
- Serverless Smackdown with Naveen VK
Naveen shares her experience implementing the same serverless function in the big three cloud environments (AWS, Azure, GCP) including an intro to serverless functions, demos and the smackdown.
- Eliminating Hidden Dangers to Your Applications: Patterns for Reliable Systems
There is a danger lurking in every system that hasn't taken explicit steps to eliminate it. This under-recognized data killer can cause intermittent inconsistencies in your data 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.
In 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 the 4 primary patterns for keeping data consistent in modern software systems, so you can spend more time at awesome User Group events and less time troubleshooting your applications. We'll see examples in C# of each pattern, including demonstrations using SQL Server, Cosmos DB and Kafka.
Barry (he/him) is a .NET Software Engineer who has been creating business solutions for enterprise customers for more than 30 years. Barry is also an Election Integrity Activist, baseball and hockey fan, husband of one genius and father of another, and a 30+ year Valley of the Sun resident. When Barry is not traveling around the world to speak at Conferences, Code Camps and User Groups or to participate in GiveCamps, he serves as a Solution Architect for Carvana. Barry's nights are spent working on the next AZGiveCamp, an annual event where software developers come together to build websites and apps for some great, local non-profit organizations.
You can follow Barry on Twitter @bsstahl or read his blog at http://www.cognitiveinheritance.com.
- Developing Great Web API Architectures with ASP.NET 5
You know you have to have a great experience when you develop your apps, right? The greatest experience for your users centers around their data. That’s why developing a great set of Web APIs is so important. Using ASP.NET Web API is a modern cross-platform framework for the modern web. ASP.NET Web API can be run on Windows and Linux using all the modern web servers. The secret to it all 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:
• Designing the API for communications with the consumer of the API
• Allowing a clear 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 Data Domain and behind it Data Access
• Because of the decoupling and separation of responsibilities testing can be done easily and without issues.
• Data Access segments of the architecture can easily be switched out without impacting the Domain or API Endpoints.
By using this architecture not only does the development story become easier but your end users get a much more stable API set to consume. The talk will explain and get you started on using these concepts with your ASP.NET 5 Web API solutions.
Chris Woodruff, AKA Woody, is the Team Leader of Developer Relations at Quicken Loans, the nation’s largest mortgage lender based in Detroit, Michigan. Woody has over 25 years of experience when he started his career before the first .COM boom. He has spoken at many events worldwide, covering software development and architecture topics such as database development, APIs, and web development. He is a proven mentor who enjoys helping, educating, and supporting other developers to gain knowledge through speaking, writing, and online content. When not working or spending time with his family, you can find Woody traveling down the Bourbon Trail to find new bottles to share with friends. You can read more about Woody on his blog at https://chriswoodruff.com and follow him on Twitter at @cwoodruff
- From MS Build: The future of modern application development with .NET
Hello Friends, We have this special event after MS Build about Modern Application Development With .NET. We're meeting together with the Toronto .NET Meetup, and thus the earlier time.
Here is the agenda for this session:
o Introduction and overview by Ehsan Eskandari
o Summary of the talk "The future of modern application development with .NET by Scott Hunter"
o Open discussion and Q&A with Rob Richardson and Ehsan Eskandari
Looking forward to see you there.
- Mystery Machine Learning with Guy Royse
Classifying Text with Recurrent Neural Networks, Keras, and Scoob and the Gang
Jinkies! Spoiler Alert! If you’ve seen Scooby-Doo, you know who the monster always is—Old Man Withers, the guy who runs the amusement park. Amusement park operators like Old Man Withers have caused Mystery, Inc. all sorts of problems over the years. Problems that could be avoided with a properly trained recurrent neural network. With RNNs, Scoob and the Gang could have built a model to classify everyone’s speech. This would show them that Old Man Withers and Redbeard’s Ghost sounded a lot alike!
We can help Mystery, Inc. with this problem by building a recurrent neural network to do just that. You know we got a mystery to solve, and we’re going to solve it by building our model using lines from Scooby-Doo, Keras, and TensorFlow. Once we have our model, we’ll host it on RedisAI so we can quickly build an application to make use of it. Well, we’ve got some work to do now.
Guy will also explain what neural networks are in general, what recurrent neural networks are in particular, and discuss some practical use of this technology. When we’re done, you’ll know how to build RNNs with Keras, use them to classify text, and integrate them into your application. But more importantly, you're going to have yourself a Scooby snack! That’s a fact!
In his personal life, Guy is a hard-boiled geek interested in role-playing games, science fiction, and technology. He also has a slightly less geeky interest in history and linguistics. In his spare time, he volunteers for his local Cub Scout Pack, goes camping, and studies history and linguistics.
Guy lives in Ohio with his wife, his three teenage sons, and an entire wall of games.
- A Tour of Go for the C# Developer with Jeremy Clark
Learning other programming languages enhances our work in our primary language. From the perspective of a C# developer, the Go language (golang) has many interesting ideas. Go is opinionated on some things (such as where curly braces go and what items are capitalized). Declaring an unused variable causes a compile failure; the use of "blank identifiers" (or "discards" in C#) are common. Concurrency is baked right in to the language through goroutines and channels. Programming by exception is discouraged; it's actually called a "panic" in Go. Instead, errors are treated as states to be handled like any other data state. We'll explore these features (and others) by building an application that uses concurrent operations to get data from a service. These ideas make us think about the way we program and how we can improve our day-to-day work (in C# or elsewhere).
Jeremy helps developers by sharing his own struggles, mostly in technology, but also with being more social as an introvert, understanding potential for learning, and playing banjo. He has worked as a corporate developer, as a ChImp at a startup, and as a contract developer. Currently, he teaches developers through online courses, workshops, tech articles, and conference talks. He spends most of his time in C# and has recently ventured into Go (golang) to explore some of his favorite topics: interfaces, delegates, concurrency, and parallel programming.
- Crazy Web Performance with Azure Static Web Apps
One of the recommended methods for building crazy performant web applications is to use statically generated pages. A ton of systems exist for creating these types of apps today: like Jekyll, Gatsy, Gridsome, and more.
Suppose you need resources not generally available with static sites, such as databases. In that case, it's common to turn to Serverless technologies to handle the bulk of that work if you don't have a server available.
If you're supporting the Microsoft ecosystem, deploying these types of applications typically consists of a combination of Azure App Services, Azure Blob Storage, and Azure Functions.
With the new Azure Static Web Apps features, we can combine the power of static web apps with the integrated Azure Functions and drastically reduce or eliminate the cost of running these systems.
In this talk, you'll learn about the new Azure Static Web Apps platform and how you can get the best of all worlds in terms of performance and functionality.
Kevin Griffin is an author, teacher, mentor, and consultant focusing in software development. He is also an 11-time Microsoft MVP, specializing in ASP.NET, Microsoft Azure, and web application development. As an independent consultant, Kevin specializes in helping businesses push their technology stacks into the 21st century. You can often find Kevin speaking at conferences and user groups across the country or blogging at https://consultwithgriff.com.
- At The Helm of Kubernetes: Repeatable Infrastructure Creation for Mere Mortals
As we get deeper into Kubernetes yaml files, we see a lot of duplication. Can we move to a higher level that eliminates this duplication? Let's look at Helm, a tool both for templating k8s yaml files and for installing complex infrastructure dependencies as one package. With Helm 3, we now have deeper integration and more security when working with Kubernetes. Join us on this path to a simpler, more repeatable, and more discoverable yaml experience.
Rob Richardson, aka Rob Rich, is the Evel Knievel of the .NET world, hoping to live his best life by doing his presentations without the safety net of a slide deck. Rob is a software craftsman building web properties in ASP.NET and Node, React and Vue. He's a Microsoft MVP, published author, frequent speaker at conferences, user groups, and community events, and a diligent teacher and student of high quality software development. You can find this and other talks on https://robrich.org/presentations and follow him on twitter at @rob_rich.
- [Virtual] AWS Cloud for .NET Developers with Amit Jha
In this talk we'll explore the typical .NET application migration & modernization journey on AWS and also learn about available DevSecOps tools and services. Finally, we'll learn about how some customers are innovating further by leveraging AWS Platform features & Services in their .NET Applications.
This talk is designed for Microsoft developers/architects/development leads who are building or looking to build .NET applications on AWS. We'll discuss .NET on AWS tools and the .NET integration story for several AWS Services (Lambda, EC2, Containers etc.).
Amit works as Developer Advocate with Amazon Web Services (AWS) and has 20+ years of Industry experience. In his current role, Amit focuses on architecting on AWS, optimizing AWS environments and helping customers & partners with cloud adoption with special focus on Microsoft/.NET workloads. Prior to his current role, he served numerous roles at Microsoft for 11+ years helping large enterprise (Several Industry Verticals) with Cloud/Software architecture and development consulting.