• 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

    Online event

    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.

  • 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

    Online event

    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!

    Guy works for Redis Labs as a Developer Advocate. Combining his decades of experience in writing software with a passion for sharing what he has learned, Guy goes out into developer communities and helps others build great software. Teaching and community have long been a focus for Guy. He is President of the Columbus JavaScript Users Group, an organizer for the Columbus Functional Programmers, and has even helped teach programming at a prison in central Ohio.

    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

    Online event

    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).

    About Jeremy:
    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

    Online event

    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

    Online event

    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.

  • [Virtual] Combined Holiday Event -- Lightning Talks

    Online event

    Once again, the valley's two .NET User Groups are combining for a special December event, this time featuring YOU (and maybe a surprise guest or two)!

    We will be getting together for an evening of Lightning Talks, 5-10 minute talks on any topic the speaker is passionate about and is of interest to .NET developers.

    We've already got a number of great talks lined-up but we'd love to have more. You'll find the details below on how to submit. We encourage everyone, especially 1st time speakers, to give a Lightning talk on a topic you are passionate about.

    If you're interested in (or even just thinking about) giving a Lightning Talk please fill out the form at https://forms.gle/SM23pFxMsyNnX5mW6 so we can gauge interest. You can also let us know if you'd like to discuss your topic with one of the organizers.

    Ideas for Lightning Talks:

    * An interesting design pattern to use
    * A tool or technology you should know about
    * An Open-Source Project you should use or contribute to
    * A cool thing I did recently
    * How and why I use a tool, pattern or technology differently (even slightly) from some others
    * Why I think this pattern, tool or technology is over or under utilized and what to do about it
    * What people forget or need to know about a technology, tool or pattern

    The FAQs:

    Q: Do I have to give a talk to attend?

    A: No, anyone is welcome to attend. We'd just love to have as many different speakers as we can to keep things fresh and interesting.

    Q: What if my talk is too short?

    A: No big deal. If you find that you've run out of things to say after just a few minutes, there will likely be questions from the audience. Otherwise, we'll just move on to the next speaker.

    Q: What if my talk is too long?

    A: We hope you'll practice your talk at least a bit to try and get a feel for how long it will take, and try to cut out everything extraneous so you can keep your talk under 10 min. We'll be as flexible as we can, but to give everyone a chance to speak we'll bring out the hook (without judgement) after 12 minutes.

    Q: What if I'm nervous about speaking?

    A: It is normal to get a little nervous when giving a talk. Fortunately, we are a friendly, supportive environment and are always willing to share feedback both before and after your talk.