Videos

Posted by on . Last Updated on

Change happens. People will leave your team and people join your team. But what if there was an easy way to get new people up to speed in minutes, not weeks. Imagine clippy could hold your hand through a code base which you can easily refer back to at any time. The best bit? Anyone can do this.

Posted by on . Last Updated on

In this video, Stu demonstrates how to use the dotnet test feature to debug two types of test failures: test crashes and test hangs. Stu shows how to use the “blame-crash” parameter to generate sequence and memory dump files to help diagnose test crashes, and the “blame-hang” parameter to collect hang dumps when tests exceed the given timeout. He also shares how to set these parameters as csproj properties to achieve consistent debugging behavior. By the end of this video, viewers will have a valuable tool to help them save time when debugging test failures.

Posted by on . Last Updated on

In this first interview of a series, we’re meeting the founders of WeAreDotnet, a new .NET community. Tim shares his motivations for starting a new community with Matthias & Gerald and their plans for its future. We dive into what sets WeAreDotnet apart from other .NET communities, how they aim to help developers grow their skills, and the kind of events and resources they offer. Join us as we get to know this exciting new addition to the .NET community landscape!

Posted by on . Last Updated on

In this video, I will show you the power of wildcards, health checks, and, my favourite, a Netflix-style multi-region DNS setup for scenarios on AWS Route 53. You’ll learn about the many capabilities of this service and how to use it to your advantage. Each section is accompanied by Terraform code. This video was originally was posted under DevOpsWithStu, but since then I have merged the channels together.

Posted by on . Last Updated on

This video will look at how to log in with AWS IAM Identity Centre and what to do when Terraform doesn’t work out of the box! Learn some of the inner mechanics behind AWS SSO Login. This video was originally was posted under DevOpsWithStu, but since then I have merged the channels together.

Posted by on . Last Updated on

In this video, we’ll look at a technique you can use to upgrade your Terraform modules. Over the course of the last 4/5 years, I’ve noticed that there is always a trend within companies to build modules for specific things/use cases. Rarely do I see these teams account for the one thing they need to operate the infrastructure they make. This video was originally was posted under DevOpsWithStu, but since then I have merged the channels together.

Posted by on . Last Updated on

Go from zero to docker image in 30 seconds! In this video, we’re going to discuss the changes that are happening with publishing apps in .NET 7. I’ll show you how to make the changes backwards compatible with .NET 6 and how to customize your experience.

Posted by on . Last Updated on

Let’s look at how to use AWS Timestream in .NET. Timestream is a managed time series database from AWS. It’s fast and scalable, with advanced features like scheduled queries.

Posted by on . Last Updated on

Mockaco is an HTTP-based dotnet API mocking server with fast setup - great for when you need to setup a mock API to test locally. As Mockaco is also a docker image, we can utilize this in our build pipelines to get some confidence in our tests without requiring external dependencies.

Posted by on . Last Updated on

If you’re relying on your CI pipeline to start up your docker containers, or not seeding your data in localstack before your tests start then this video is for you. Learn how to spin up a localstack aws instance correctly with xunit and never worry about doing anything else other than start docker & dotnet test.

Posted by on . Last Updated on

Versioning API’s can be extremely important for your product. Learn 4 different ways to version your APIs in .NET minimal APIs and .NET MVC APIs. The techniques you’ll learn are: content type negotiation versioning, custom headers versioning, query string versioning and URL versioning.

Posted by on . Last Updated on

In this session, I’m going to build out a design for a serverless SaaS solution on AWS. This takes into account things like budgetting and technology choices. The aim will be to to deploy a regionally independent solution.

Posted by on . Last Updated on

Recently, I needed to compare the current performance of .NET serializers for a project. In this video, I compare the current state of the serializers and produce some interesting results.

Link to the benchmarks repository: https://github.com/Im5tu/SerializationBenchmarks

Json Serializers


Binary Serializers


Posted by on . Last Updated on

With .NET 7 just around the corner, we have a better idea of the features that are going to in it. Let’s take a look at 10 features you can use today. Links to all of the features can be found below.

Posted by on . Last Updated on

For the full video, go here: https://www.youtube.com/watch?v=oNQdDjvS_54

Creating a restricted file download with S3 is easy with pre-signed URLs. But what your endpoint isn’t a file? Or you’re not sourcing it from S3? In this video, we take a look at an upcoming technology called PASETO (platform agnostic security token) and see how to create an endpoint that is restricted by time.

Posted by on . Last Updated on

In this session, we are going to design a typically Payments Gateway that you would be expected to design as part of the hiring process for a FinTech. We will about some of the considerations to take into account when facing this question in a systems design interview.

Posted by on . Last Updated on

Creating a restricted file download with S3 is easy with pre-signed URLs. But what your endpoint isn’t a file? Or you’re not sourcing it from S3? In this video, we take a look at an upcoming technology called PASETO (platform agnostic security token) and see how to create an endpoint that is restricted by time.

Posted by on . Last Updated on

In this session, we are going to design an AWS Multi-Account structure and the networking behind it. We will learn how to connect different accounts together and some of the considerations to take into account when facing this question in a systems design interview.

Posted by on . Last Updated on

In this session, we are going to design a fairly typical stock trading API. We are going to go through some of the considerations that you need to have as well as looking at some of the curve balls that you may face. This will help you design distributed systems and data intensive applications using an event driven architecture.

Posted by on . Last Updated on

Inspired by a blog post and video from two of .NET’s biggest content creators, I decided to take a look an old trick I knew to see how it compared to the performance improvements in .NET 7 using .NET 6 as a comparison. Stay until the end for something really mind bending!

Posted by on . Last Updated on

OpenTelemetry loves Kubernetes, which is clear to see from the OpenTelemetry Operator for Kubernetes. In this video, you will learn:

  • How to install the OpenTelemetry Operator
  • How to automatically inject a sidecar into a pod
  • How to create a new collector configuration
  • How to add automatic instrumentation for supported languages

Posted by on . Last Updated on

Recently we’ve looked into adding logs, metrics & traces using console exporters. In reality, we want to send this telemetry to one or more places. Collectors allow your service to offload data quickly, standardise access to protected exporter endpoints and can take care of additional handling like retries and batching.

In this video, you will learn:

  • The difference between the standard collector and the contributors collector
  • How to run an OpenTelemetry Collector using docker compose
  • How to configure an OpenTelemetry Collector

Posted by on . Last Updated on

Metrics are often handled via one of many protocols. The new contender to this is OpenTelemetry - a system for sending your logs, traces and metrics. This OpenTelemetry tutorial will guide you through how to setup a .NET Application to export your .NET metrics and do basic processing. You’re going to learn the following:

  • How to edit and drop metrics
  • How to setup application metrics with OpenTelemetry using the console exporter
  • How to add external instrumentation like runtime metrics

Posted by on . Last Updated on

You’ve discovered that OpenTelemetry can send logs as well as traces but you’re not sure how set this up? This OpenTelemetry tutorial will guide you through how to setup a .NET Application to include log exports and do basic processing. All your logs and traces will be linked automatically.

Posted by on . Last Updated on

Learn two slightly different approaches to using NuGet Packages as part of the C# Source Generators you’re building. You may want to do this to parse a configuration file from a YAML based format. Now, you could either write the YAML parser yourself, or like most others, I would prefer to use a pre-built and tested NuGet package.

Posted by on . Last Updated on

Ever wanted to see the files generated by .NET Source Generators? Ever wondered what the effect of your changes to your generators are? Well this is the video for you. See how you can output the generated files and potentially save them in Git.

Warning: if you generate thousands of generated files and don’t tell you co-workers first, they might be annoyed…. :D

Posted by on . Last Updated on

Want to know how to set your global usings across all your packages simply by using a .NET NuGet package? Then this is the video for you. I’ll show you how to setup your NuGet package and which properties and files to create for all the magic to happen.

Posted by on . Last Updated on

In this video, we’re going to talk about how to increase the reliability of your applications using Polly. Polly is a software that allows you to monitor the reliability of your applications and make improvements as needed. By using Polly, you’ll be able to identify and fix reliability issues early, saving you time and money in the long run. This video will teach you how to use Polly to increase the reliability of your applications, so be sure to watch it!

Posted by on . Last Updated on

In this video we’re taking a look at how to extend the AWS SDK for .NET, which can be useful for various tasks like adding in some custom observability components into the request pipeline. This article is a companion resource for the video linked above in case you prefer a written version. I’m actively using the approach described here to implement distributed tracing for all my AWS calls.

Posted by on . Last Updated on

In this Github Actions Tutorial, we take a look at three Github Action Workflows that I use on a regular basis for different projects that I work on, including:

  • Validation of commit messages (follow on from my previous Githooks video)
  • Ensuring that a file is edited inside of a PR, and
  • Updating all of my NuGet packages inside of 1 PR (rather than dependabots’ 20)

You can use the principals of the workflows shown and customise to your specific use cases to speed up your workflows.

Posted by on . Last Updated on

Git is a powerful version control system, but often we need to ensure certain patterns and practises are followed. Some of these workflows can be automated with Git Hooks. In this video, we will focus on client side git hooks and I’ll show you how to write a quick commit message validation hook.

Posted by on . Last Updated on

Following on from our introductory video, this OpenTelemetry tutorial walks through how to add custom ActivitySources that can be used in many libraries such as OpenTelemetry to support a distributed tracing scenario, without creating any dependencies. This is incredibly powerful for .NET library authors as they don’t have to wait for .NET 5 to take advantage of this amazing capability.

Posted by on . Last Updated on

In this OpenTelemetry Tutorial, take a look at how to quickly get up and running with OpenTelemetry in an ASP.NET Core application. You’ll learn how to setup the automatic instrumentation for both inbound and outbound web requests and how to configure the Jaeger Exporter (https://jaegertracing.io) - running it all in a local environment.

For more information about the differences between OpenTelemetry and what is available in .NET out of the box, also checkout this article by Rehan Saeed: https://rehansaeed.com/deep-dive-into-open-telemetry-for-net/

Posted by on . Last Updated on

Ever wondered how to answer the architecture design questions in interviews? If so, this video is for you. I take a sample of what I often receive as an architecture test and walk through how I would design the architecture on AWS explaining each design decision on the way - often with notes about the technology capabilities along the way. We will also go through some common questions that are often thrown in as curve balls during the process - including how to prevent them through efficient design.

Nothing in this video is scripted or prepared in anyway, just the scenario, the camera (which died) and my thoughts. Please do your own research on the techniques presented here before you implement them in your architectures to make sure you have a real understanding of how it all works.

If you like this video and want to see more like this, or have a scenario you would like me to cover, please let me know in the comments below and we can explore new scenarios together :)

Posted by on . Last Updated on

In this NuGet tutorial, learn how to set common package tags in your csproj, enable deterministic builds, enable SourceLink for your packages and validate them using dotnet validate and NuGet Package Explorer.

Posted by on . Last Updated on

Ever wish that you could share your .NET project properties across multiple projects? Or debug that funky build? In this video, you’ll learn at least 5 different tips and tricks to hack and improve your .NET builds by leveraging some cool features that MsBuild has to offer.

Posted by on . Last Updated on

Following on from the previous video, you’ll learn how to implement a basic incoming and outgoing call filter in Microsoft Orleans. This video is part of the Running Microsoft Orleans in AWS series. If you missed the introduction, or want to watch more in the series, see the playlist here: https://bit.ly/orleans-code-with-stu

Posted by on . Last Updated on

In this video, I’m going to take you through an Introduction to the Microsoft Orleans actor framework. You’ll learn:

  • What is the virtual actor model?
  • What is a grain?
  • What is a silo?
  • How this works in conjunction with AspNetCore using the Generic Hosting Model

Stuart Blackler is a seasoned technologist with over 15 years of commercial experience in the .NET ecosystem. Holding a degree in Computer Science, Stuart has earned certifications as a C# developer through Microsoft and as an AWS Solutions Architect and Developer. Stuart is the creator of the popular YouTube channel CodeWithStu, where he delves into topics close to his heart, including .NET, AWS, DevOps, and software architecture with a commitment to sharing knowledge and fostering a community of learners.