Mocking is risky due to the fact that it does not capture a realistic environment.

That is why you should use real dev versions of services for:

  • Better production alignment. Your tests reflect real-world conditions, including API changes, security updates, and unexpected behavior.
  • Lower maintenance. Real services stay consistent with production, eliminating the need for constant mock updates and reducing technical debt.
  • Accurate testing. Complex workflows like authentication, payments, or multi-step integrations behave correctly, uncovering edge cases early.
  • Developer confidence. With realistic tests, you ship features knowing they’ll perform reliably in production.

Source: Why Mocking Sucks

This course covers the basics of Generative AI for the .NET ecosystem, including how to set up your .NET environment, core techniques, practical samples, and responsible use of AI. You’ll learn how to create real-world .NET AI-based apps using a variety of libraries and tools including Microsoft Extensions for AI, GitHub Models and Codespaces, Semantic Kernel, Ollama, and more.

Source: Announcing Generative AI for Beginners – .NET – .NET Blog

This is a free online resource for learning TLA+. To help both beginners and experienced users, the guide is divided into three parts: The Core: a linear introduction to all of the TLA+ language. It starts with basic operators and gradually progresses all the way to advanced topics. The core is intended to be read linearly: people new to TLA+ should start with the conceptual overview and then work forward from there. People comfortable with TLA+ should skim until they find new material. Topics: “Optional” advanced material. Any individual lesson will be useful to many but not all TLA+ users. Unlike the core, these are designed to be mostly independent of each other. If topics have dependencies on other topics, I will call them out. Examples: Applications of TLA+ to specs, showing both how to write and understand specs.

Source: Learn TLA+ — Learn TLA+