Weekly notesWeekly Notes - #77Stay up to date with the latest news in the .NET world: C#, Microservices, CQRS, Distributed systems
Weekly notesWeekly Notes - #76Stay up to date with the latest news in the .NET world: ASP Net Core, C# 10, .NET 6, Threading, Saga, State machine, test, codespaces, htmx
Weekly notesWeekly Notes - #75Stay up to date with the latest news in the .NET world: Testing, Mock, Messaging, Load test, fiddler, OOS, Security
Weekly notesWeekly Notes - #74Stay up to date with the latest news in the .NET world: CQRS, performance, clean code, microservices, GitHub, blazor, vscode, MAUI, CSLA
Weekly notesWeekly Notes - #73Stay up to date with the latest news in the .NET world: Code Review, gRpc, microservices, enum, C#, Functional Programming, javascript, azure
Weekly notesWeekly Notes - #72Stay up to date with the latest news in the .NET world: ASP.Net, MAUI, Windows Terminal, Entity Framework, Visual Studio 2022, C# 9, CAP, Microservices, dev team productivity
Weekly notesWeekly Notes - #71Stay up to date with the latest news in the .NET world: CloudEvent, StringBuilder, GraphQL, SignalR, ASP.Net, Azure, Asynchronous stream, Windows Terminal, PowerShell, Unquote, F#, C#
CloudEventA type-safe CloudEventA strongly typed implementation of the cloudevent spec that provides a safe way to use it in your domain layer
Weekly notesWeekly Notes - #70Stay up to date with the latest news in the .NET world: Exception, Property-based testing, fp, c#, monads, partition testing
Weekly notesWeekly Notes - #69Stay up to date with the latest news in the .NET world: cloud, messages driven architecture, technical complexity, agile, performance, Windows 11
Weekly notesWeekly Notes - #68Stay up to date with the latest news in the .NET world: VS 2022, Dapper, ASP.Net Core, C#, Pattern matching, record struct, LINQ, F#, Azure, VSCode
Weekly notesWeekly Notes - #67Stay up to date with the latest news in the .NET world: Date, Time, .NET 6, Dapr, DDD, Event-Driven architecture, Azure
Weekly notesWeekly Notes - #66Stay up to date with the latest news in the .NET world: Tye, .NET, Code Review, Terminal, BUILD 2021, HTML
Weekly notesWeekly Notes - #65Stay up to date with the latest news in the .NET world: ASP.NET, .NET 6, F#, Visual Studio, Azure, Static WebApp, Blazor, Serilog
Weekly notesWeekly Notes - #64Stay up to date with the latest news in the .NET world: Azure Static Web Apps, Async await, C#, EventSourcing, Ports and Adapters, Tests
Weekly notesWeekly Notes - #63Stay up to date with the latest news in the .NET world: Azure Static WebApp, Event based architecture, VisualStudio, Performance, C#, Testing, FrontEnd, Code coverage, Priority queue, .NET 6
Weekly notesWeekly Notes - #62Stay up to date with the latest news in the .NET world: gRPC, ASP.NET, Razor, Architecture, C#, Test, Structural Equality, Verify
Weekly notesWeekly Notes - #61Stay up to date with the latest news in the .NET world: ASP.NET, TDD, Leaky abstraction, DDD, API Testing, Azure ServiceBus, Farmer, GraphQL, LINQ
Weekly notesWeekly Notes - #60Stay up to date with the latest news in the .NET world: .NET 6 DateTime, WSL2, Visual Studio 2022, Windows Terminal, xUnit, Architecture, git
Weekly notesWeekly Notes - #59Stay up to date with the latest news in the .NET world: .NET 6 hot reload, C#, DDD, NoSQL, dapr, OWASP
Weekly notesWeekly Notes - #58Stay up to date with the latest news in the .NET world: ASP.NET, NuGet, Azure, ServiceFabric, Event, Serverless, js, F#, KEDA, ServiceBus
Weekly notesWeekly Notes - #57Stay up to date with the latest news in the .NET world: REST, API, Microservices, Static methods, Test, Azure, F#, C#, javascript, Asynchronous programming
Weekly notesWeekly Notes - #56Stay up to date with the latest news in the .NET world: Azure, EventGrid, ASP.NET, REST, CQRS, C#, Tuple, DDD, EventSourcing, PowerShell, Windows Terminal
Weekly notesWeekly Notes - #55Stay up to date with the latest news in the .NET world: NuGet 5.9, C#, Exceptions, Pure methods, Password reuse, ASP.Net, EventSourcing, WebApi Test, event-driven
Weekly notesWeekly Notes - #54Stay up to date with the latest news in the .NET world: ASP.NET, .NET 6, CRUD, Task-Based UI, C#, SPA, F#, Agile, Security, nuget, Azure, Static WebApp
Weekly notesWeekly Notes - #53Stay up to date with the latest news announced at Ignite last week! Visual Studio, F#, Windows Terminal, .Net, Azure, Farmer, Tests, Pipeline, SQL
Weekly notesA full year of Weekly Notes! - #52Stay up to date with the latest news in the .NET world: Tye, Blazor, ASP.NET, CORS, architecture, F#, Records, Dependabot, Azure, DevOps, DevOps, SRE
Lifestyle7 changes to improve the ergonomics of your home officeEvery change I made to my lifestyle to reduce the discomfort of working long hours in front of the computer
Weekly notesWeekly Notes - #51Stay up to date with the latest news in the .NET world: .NET 6 Preview, Dapr, Blazor, F#, DTO, test, azure
Weekly notesWeekly Notes - #50Stay up to date with the latest news in the .NET world: DDD, ASP.NET, Azure, Farmer, React, GraphDB, Test, Git, .NET
Weekly notesWeekly Notes - #49Stay up to date with the latest news in the .NET world: Viva, Code review, IaC, git, DDOS, Azure, .NET, Authorization, ASP.NET
Weekly notesWeekly Notes - #48Stay up to date with the latest news in the .NET world: Visual Studio, Azure, CosmosDB, TDD, DDD, BDD, C#, Source generator, .NET, Git, Managed Identities
Weekly notesWeekly Notes - #47Stay up to date with the latest news in the .NET world: Entity Framework, Visual Studio, Azure DevOps, YAML, Events, ASP.NET, Blazor, Azure Static WebApp, .NET, Garbage Collector, IdentityServer
DevOpsFiguring out Stages in YAML pipelinesStages are an essential part of a successful CI/CD pipeline. Discover how to use them and get the most value with Azure DevOps
Weekly notesWeekly Notes - #46Stay up to date with the latest news in the .NET world: Networking, Microservices, F#, ASP.NET, Docker
Weekly notesWeekly Notes - #45Stay up to date with the latest news in the .NET world: .NET, F#, C#, Tests, Azure, ASP .NET
dotnetSolving the Advent of Code 2020 with F#Each year I participate in the Advent of Code challenge. Yes, it's an advent calendar for geeks! I also give myself the challenge to complete it in F#
Weekly notesWeekly Notes - #44Stay up to date with the latest news in the .NET world: .NET, F#, C# Performance, Functional programming
Weekly notesWeekly Notes - #43Stay up to date with the latest news in the .NET world: ORM, Git, C#, F#, Microservices, PowerShell, Windows Terminal
Weekly notesWeekly Notes - #42Stay up to date with the latest news in the .NET world: PowerShell, MediatR, CQRS, Microservices, Azure, ServiceBus, RubberDocking, Functional Programming, .NET Translation
Weekly notesWeekly Notes - #41Stay up to date with the latest news in the .NET world: Visual Studio, GitHub actions, Docker, .NET, Azure, Feature Flags, Infer#, Tests, DDD, React, Vue
Weekly notesWeekly Notes - #40Stay up to date with the latest news in the .NET world: ASPNET Core, .NET Core, DDD, CosmosDB, Azure, Pentest
dotnet.NET 5 & C# 9 with me in the VisualStudio TalkShow Podcast (FR)Retrouvez-moi dans le VisualStudio Talk Show où on discutera de .NET 5 et C# 9! Nous ferons aussi un survol de l'histoire de .NET depuis ses débuts jusqu'à aujourd'hui.
DevOpsBuild a complete Web App hosting a SPA in Azure DevOps YAMLDiscover how to build a flexible YAML pipeline in Azure DevOps to support both back-end-only applications and more complex applications like ASP.Net back-end with a SPA.
Weekly notesWeekly Notes - #39Stay up to date with the latest news in the .NET world: YAML, Azure DevOps, Tests, BDD, .NET 5, Identity, C# 9.0
DevOpsEfficiently manage your YAML pipelines in Azure DevOps with reusable templatesAzure DevOps offers a powerful way to reuse parts of your build pipelines with YAML templates. Discover the recipe that I use in all my projects.
Weekly notesWeekly Notes - #38Stay up to date with the latest news in the .NET world: GitHub, .Net, AspNet, C# 9, CAP, Microservices, DDD, DevOps, yaml, UX
Weekly notesWeekly Notes - #37Stay up to date with the latest news in the .NET world: .NET 5, C# 9, F# 5, AspNet Core, EF, VS, WindowsTerminal, Cake, DDD, Micro FrontEnd, OpenApi, AutoRest
dotnet.NET 5 - The breaking changes you need to know about.NET 5 is here, and there's also some breaking changes coming with it that you need to be aware of.
Weekly notesWeekly Notes - #36Stay up to date with the latest news in the .NET world: .NET Conf, KEDA, Blazor, DevOps, Unit testing, F#, C#, CQRS, Farmer
Weekly notesWeekly Notes - #35Stay up to date with the latest news in the .NET world: gRPC, .NET 5, OpenAPI, Angular, React, Blazor, Test, Azure, SQL
CSharpC# 9 The unknown goodiesDiscover all the hidden gems in C# 9 that nobody talks about. Module initializers simplified null check, covariant returns, and native sized integers
Weekly notesWeekly Notes - #34Stay up to date with the latest news in the .NET world: Dapr, Farmer, Azure, C#, F#, Test, architecture, SQL, EF, Azure DevOps
Weekly notesWeekly Notes - #33Stay up to date with the latest news in the .NET world: ASPNet, .Net 5, C# 9.0, WindowsTerminal, Kubernetes, TDD, Pure functions, gRPC, Azure DevOps, CodeSpaces
CSharpC# 9: Partial Methods get more flexibilityC# 9 brings a lot of new flexibility around partial methods, making them a useful tool to extend third-party generated code and unlock new extensibility scenarios
Weekly notesWeekly Notes - #32Stay up to date with the latest news in the .NET world: CosmosBD, OOP, Git, Windows Terminal, C#, Blazor, Sagas, agile
Weekly notesWeekly Notes - #31Stay up to date with the latest news in the .NET world: .NET 5, Functional Programming, C#, Blazor, Microservices, CodeSpace, Git, AspNet, Dapr
Weekly notesWeekly Notes - #30Stay up to date with the latest news in the .NET world: Ignite, K8s, Azure, .NET, Blazor, serverless, SOLID, ASPNET, Functional programming, microservices
ConferenceMy full recap of Microsoft Ignite 2020 for devsAll you need to know about Microsoft Ignite 2020, must-watch sessions, announcements, and more
ConferenceMy Ignite watchlist for developersHere's my personal watchlist of session for developers. Ignite 2020 sept 22-24
Weekly notesWeekly Notes - #29Stay up to date with the latest news in the .NET world: .NET5, GitHub, AspNet, EF, WSL2, SOLID, Microservices, WASM, JS, F#, CQRS
CSharpC# 9.0: Target-typed expressionLearn all about the new target-typed capabilities in C# 9.0. It helps simplify your code and make it more readable.
javascriptHow to dynamically add a query string to all links in a pageLearn how to dynamically rewrite links on a page or even a whole website with an unknown yet simple javascript trick
Weekly notesWeekly Notes - #28Stay up to date with the latest news in the .NET world: CodeSpaces, CSharp 9, Azure, Blazor, AspNet, Functional Programming, CSS, CQRS, DDD, Git, ARM template
CSharpC# 9.0: Improved pattern matchingDiscover all about the new logical expressions in C# 9.0 and how they improve pattern matching
Weekly notesWeekly Notes - #27Stay up to date with the latest news in the .NET world: Windows Terminal, TDD, Functional Programming, F#, ASP.Net Core, Microservices, Containers
Weekly notesWeekly Notes - #26Stay up to date with the latest news in the .NET world: C# 9.0 init-only properties, WSL 2, .NET 5, F# 5, Blazor, REST
CSharpC# 9.0: Init-only propertiesObject initializer is one of the most loved features of C#. However, it comes with some annoying limitations. Fortunately, it's getting fixed in C# 9.0 with init-only properties.
Weekly notesWeekly Notes - #25Stay up to date with the latest news in the .NET world: C# 9.0 Records, CosmosDB, Functionnal Programming, Microservices, TDD, DevOps, Azure, API, JS
CSharpC# 9.0: RecordsImmutability as always been challenging to implement properly in C#, or at least was very painful. C# 9.0 introduces the concept of records which will greatly simplify all of that.
Weekly notesWeekly Notes - #24Stay up to date with the latest news in the .NET world: C# 9.0, Blazor, Angular, Functionnal programming, AAD, VisualStudio, Micro frontend, Azure, F#, OpenSilver
CSharpC# 9.0: Primary constructorsDiscover how you can simplify your POCOs with the new syntax introduced by the primary constructors of C# 9.0
Weekly notesWeekly Notes - #23Stay up to date with the latest news in the .NET world: VisualStudio, TypeScript, Angular, F#, AspNet, DDD, Roslyn, eventual consistency, microservices
dotnetC# 9.0 PreviewMicrosoft is doubling down in the evolution of the C# language. They released C# 8.0 last year with many new features, and there's already a preview of C# 9.0 in the making.
dotnetA big thank you for my MVP awardI'm thrilled and humbled to receive my first MVP award in the Developer Technologies category.
Weekly notesWeekly Notes - #22Stay up to date with the latest news in the .NET world: DevOps, WSL, Microservices, DDD, Markdown, EventSourcing, Blazor, Messaging
Weekly notesWeekly Notes - #21Stay up to date with the latest news in the .NET world: Docker, VsCode, Windows Terminal, EF, Tests, DDD, async, AspNet, Coyote
dotnetC# 9.0 Top-Level programsLearn all about the new simplified way to write top-level program statements.
dotnetThe code smell every project suffers fromDiscover how to fix a code smell (primitive obsession) that plague almost every project.
Weekly notesWeekly Notes - #20Stay up to date with the latest news in the .NET world: F#, .NET 5.0, Coyote, EF, JS, EventSourcing, Microservices, DDD, Azure function
Weekly notesWeekly Notes - #19Stay up to date with the latest news in the .NET world: Microservices, F#, TDD, Blazor, NuGet, EventSourcing, C# 9.0, js
Weekly notesWeekly Notes - #18Weekly notes: AspNet Core, EF, TypeScript, F#, Tests, Microservices, SQL, CQRS, C# 9.0, EventSourcing, Blazor
DockerIntroduction to network communication between Docker containersLearn the basics of Docker virtual networks, how to diagnose connections issues and how to fix them.
TestLetters order | Solving the diamond kata with property-based testingDiscover the last and final property that will conclude our journey of creating a complete implementation of the diamond kata using TDD and property-based testing.
Weekly notesWeekly Notes - #17Weekly notes: Azure, Docker, IdentityServer, CSharp 9, Test, AspNet, PairProgramming, EventSourcing, Microservices, performance
TestNo padding for input letter row | Solving the diamond kata with property-based testingDiscover a new kind of property that will reinforce our test suite and help us get to a working implementation of the diamond kata
Weekly notesWeekly Notes - #16Discover the latest announcements in the .NET world: Windows Terminal, gRPC, MAUI, EF, AspNet, SQL, Blazor, Microservices, DDD
dotnetSymmetry around the horizontal axis | Solving the diamond kata with property-based testingIn this article, we'll inspect our diamond to find some symmetry and make it a property based test.
Weekly notesWeekly Notes - #15Discover the latest announcements in the .NET world: DotNet 5.0, FSharp, Blazor, Azure, Serilog, Seq, Docker, EventSourcing, AKS
dotnetSymmetry around the vertical axis | Solving the diamond kata with property-based testingIn this article, we'll inspect our diamond to find some symmetry and make it a property based test.
dotnetOutside space symmetry | Solving the diamond kata with property-based testingIn this article, we'll try to find some patterns in the global shape of our diamond, specifically with the spaces surrounding each row.
Weekly notesWeekly Notes - #14Discover the latest announcements in the .NET world: Enum, IaC, Pure Function, Concurrency, Feature flags
dotnetHeight equals Width | Solving the diamond kata with property-based testingIn this article will try to find some patterns in the global shape of our diamond.
Weekly notesWeekly Notes - #13Discover the latest announcements in the .NET world: EF Core, CosmosDB, Git, Feature flags, Performance, Serilog, DDD
Weekly notesWeekly Notes - #12Discover the latest announcements in the .NET world: MS Build, VisualStudio, VS Code, Blazor, SQL, F#, C# 9.0, LiveShare
dotnetMy full MS Build 2020 recapDiscover my notes on MS Build 2020 in this exhaustive recap of everything I was able to watch.
CSharpFirst and Last line content | Solving the diamond kata with property-based testingIn this article will try to find some patterns in the first and last line of our Diamond.
Weekly notesWeekly Notes - #11Get the latest news from the .NET world: VisualStudio, TypeScript, Blazor, SQL, F#, EventSourcing
Weekly notesWeekly Notes - #10Get the latest news from the .NET world: Helm, CNCF, MS Certification, VS CodeSpace, Source generator, EventSourcing, Azure, LINQ, and more
TestInput generators in property-based tests with FsCheckDiscover how to write your first property-based test using FsCheck
Weekly notesWeekly Notes - #9Get the latest news from the .NET world: #msbuild, #Blazor WASM, #DevOps, #Kubernetes, #Exception, #dapr, #EventSourcing, #Database
Weekly notesWeekly Notes - #8Get the latest news from the .Net space: .NET 5, #Azure, #Git, #DevOps, #Messaging, #YAML, #FP
dotnetHow to get started with Property-based Testing in C#Discover how to apply TDD with Property-Based testing while solving the Diamond Kata
Weekly notesWeekly Notes - #7Get the latest news from the .Net space: CosmosDB, Git, Blazor, VS Code, GitHub, MS Teams, JS
Weekly notesWeekly Notes - #6Get the latest news from the .Net space: Azure monitor sourceMaps, DB integration tests, CQRS + ES, Https, LiveShare
TestHow many unit tests are good enoughOne of the biggest problems with unit testing is to know for sure when we have enough tests to be confident to release in production.
Weekly notesWeekly Notes - #5Get the latest news from the .Net space: Stability during pandemic, Regex Performance, Secure DNS, Remote pairing tools, FP JS, Test C# api, DDD, Tech Debt
Weekly notesWeekly notes - #4Get the latest news from the .Net space: Blazor WebAssembly 3.2.0 Preview 3 release now available, CQRS, Getting Started With .NET Localization, Easily adding Security Headers to your ASP.NET Core web app and getting an A grade, What's wrong with the current state of unit testing
dotnetEverything Wrong With The State of Unit Testing TodayExample-based testing is simple but tends to fall short in some scenarios. Discover an alternative approach: Property-based testing.
Weekly notesWeekly notes - #3Every week, I share my engineering notes. They include everything I can dig up on the internet, and that is worth sharing.
Weekly notesWeekly notes - #2Every week, I share my engineering notes. They include everything I can dig up on the internet, and that is worth sharing.
Weekly notesWeekly notes - #1Every week, I share my engineering notes. They include everything I can dig up on the internet, and that is worth sharing.
dotnet5 tips to improve your productivity in C# 8.0Microsoft added a lot of new syntax goodies in their latest release of C#, namely: index from the end, range operator, null coalescing operator, using variables, verbatim string with interpolation.
dotnetWhat are default interface methods in C# 8.0?In this post, we'll explain what are Default interface methods, show a few examples and provide guidance to avoid common pitfalls.
dotnetC# 8.0 Indices and rangesCompared to other languages, C# was way behind in capabilities to handle data efficiently. Well, those days are over now. Microsoft just improved the C# syntax, making it easier for developers to manage data in arrays.
dotnetAsynchronous streams in C# 8.0Asynchronous streams are a new way to iterate over a stream of data. It was previously possible to do this synchronously in C#. Now you can do it even if the stream producer is asynchronous! Woot, woot!
dotnetWhat's pattern matching in C# 8.0?Is it me or Functional programming (FP) seems to be trending lately? FP languages like Haskell, Elixir and F# are stronger than ever and large frameworks try to adopt a more functional approach. Even C# tries to include functional constructs in the language.
dotnetC# 8.0 Nullable Reference types are here!C# 8.0 just rolled out with a lot a new features. One of the most important one is the support of nullable reference types (NRT). Lot of words that doesn't seem to explain what it does. I mean aren't all types (except value types) already nullable?
dotnetBounded-Context | Our Journey to World class DevOpsIf microservices are the foundation of our DevOps practices, Bounded-Contexts are probably the glue that holds it all together.
dotnetDeploy Ghost blog with Azure DevOps - Part 2Let's build an Azure DevOps pipeline that will automatically deploy Ghost Blog
DevOpsDeploy Ghost blog with Azure DevOpsLearn how to create a build pipeline in Azure DevOps to deploy Ghost blog automatically on every new release.
Micro ServicesMicroservices | Our Journey to World class DevOpsLearn the story of our DevOps transformation. In this first chapter we talk about the foundation of our system and how we applied microservices principles.
AzureHow to backup your Azure Storage AccountsThis service is simple, works great, and has crazy SLA and redundancy capabilities. However, it doesn't provide a point in time restore
dotnetWhy null in C# is so badIn my career, more than half of the bugs I encountered were related in a way or another to a null value being propagated where it shouldn't have been—therefore resulting in unexpected behaviors or a nasty NullReferenceException. The problem Why is null such a problem in C#? Well... the null problem (a.k.a the billion-dollar mistake) breaks many assumptions you can make about the programming language. In more theoretical terms, it breaks the Liskov substitution principle. (One of the famous SOL
dotnetSimplified approach to the Decorator pattern with AutofacThe Decorator pattern is an elegant way to compose behavior without changing existing code. It makes the separation of concerns very clear between each class. Everything is then very easy to test and reuse.
dotnetYou need these tools to be more efficient at Testing with AutoFixture and FakeItEasyDiscover a simplified approach to write unit tests to be more efficient.
SecurityHow to mix Security and Productivity with Service FabricService Fabric is a great framework, but yet a complicated one. Often, when we try to improve the security of the cluster, we end up adding a lot of complexity in our development pipeline. The local development experience become a nightmare and there's a big lost in productivity for team. But! It doesn't have to be that way. Productivity and security could play well together if you think about them from the start. Let's take a look at how we can improve our cluster security following all the in
AzureAzure Governance - Part 2 - Naming conventionsA good naming convention will help a lot to build a strong Azure governance
AzureAzure Governance - Part 1 - How to organize your subscriptionsPutting in place a good set of governance guidelines will help you keep everything under control in Azure
AzureAzure Application Gateway for Micro ServicesApplication Gateway is a level 7 load balancer which means it understands HTTP and can route traffic according to a specific URL pattern
dotnetSemantic Logging with .net EventSourceApplication logging is the kind of software problem that has been solved so many times, in so many ways. It makes it really hard to choose THE right framework to use when starting a new project. Sometimes it almost feel like coding your own framework will be a good idea (Please don’t do that). The first thing you should ask yourself is what are your requirements. Try to think about what will the development, testing, and debugging experience be like. How will you search through your logs to find