Finding concurrency bugs in a .NET application using Coyote

And more news, tutorials and articles about C# and .NET in this week's issue.

#366 — June 07, 2021 View in browser

C# Digest

Spread the word, build the community, share the knowledge – invite your friends.

sponsor

The last CSV importer you'll ever build

Building your own data migration system means weeks of development cycles. That's dollars down the drain. Flatfile Portal integrates with your app in minutes to automatically validate and transform messy spreadsheet data. This slick import wizard guides users through an intuitive import flow and lets your users import their own data, securely, and with confidence. No Excel formatting, no custom import scripts, and no need to build vs. buy.

this week's favorite

Finding concurrency bugs in a .NET application using Coyote

Coyote is .NET library and tool designed to help ensure that your code is free of concurrency bugs. Concurrency bugs are hard to find and reproduce as they often depends on non-deterministics things such as timeout or message ordering. For instance, if multiple threads are waiting for a locked object, which one will acquired it first?

Asynchronous C#: Making a simple cup of tea

Years ago, programs ran sequentially, line by line and function by function. Only one task processing at a given unit of time. If a function relied on another function, it had to wait till it got the result from that function before continuing to process, even if it meant that the application's main thread would get blocked for an amount of time, waiting for some network call to return a response or for a piece of work that requires a heavy calculation to yield a result.

Benchmarking 4 reflection methods for calling a constructor

The typical way to create an object in .NET/C# is to use the new keyword. However it's also possible to create a new instance of an object using reflection. In this post I compare 4 different methods, and benchmark them to see which is fastest.

Aggregate design: Using invariants as a guide

How do you compose an aggregate? For me, aggregate design involves understanding the invariants. Invariants are business rules that must always be consistent. Understanding the invariants will guide your aggregate design. Everything I seemingly post ends up being about defining boundaries! Aggregates are yet another example of defining boundaries based on invariants and consistency.

C# REPL

C# REPL is a tool for rapid experimentation and exploration of C# expressions, statements, and NuGet packages. It provides a command line REPL for C# that supports syntax highlighting, intellisense, and type/method documentation.

newsletters


© 2021 Bonobo Press
Would you like to advertise or post a job with us? Check out our latest media kit.
If you no longer wish to receive these emails, click to unsubscribe.

Older messages

Introducing the .NET Hot Reload experience for editing code at runtime

Sunday, May 30, 2021

And more news, tutorials and articles about C# and .NET in this week's issue. #365 — May 31, 2021 View in browser C# Digest Spread the word, build the community, share the knowledge – invite your

Create a colored CLI with System.CommandLine and Spectre 🎨

Sunday, May 23, 2021

And more news, tutorials and articles about C# and .NET in this week's issue. #364 — May 24, 2021 View in browser C# Digest Spread the word, build the community, share the knowledge – invite your

Evolving modular monoliths: An architecture for .NET

Sunday, May 16, 2021

And more news, tutorials and articles about C# and .NET in this week's issue. #363 — May 17, 2021 View in browser C# Digest Spread the word, build the community, share the knowledge – invite your

Why is your ASP.NET server so slow? 10 performance problems and solutions

Sunday, May 9, 2021

And more news, tutorials and articles about C# and .NET in this week's issue. #362 — May 10, 2021 View in browser C# Digest Spread the word, build the community, share the knowledge – invite your

LINQ behind the scenes

Sunday, May 2, 2021

And more news, tutorials and articles about C# and .NET in this week's issue. #361 — May 03, 2021 View in browser C# Digest Spread the word, build the community, share the knowledge – invite your

You Might Also Like

NVIDIA AI Software Party at a Hardware Show

Sunday, January 12, 2025

A tremendous number of AI software releases at CES. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Laravel 11.37, Recurr, Streaming Responses, and more! - №547

Sunday, January 12, 2025

Your Laravel week in review ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

NATO Alphabet Converter/Huge If True/Framework for letting "it" go

Sunday, January 12, 2025

Recomendo - issue #445 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Kotlin Weekly #441

Sunday, January 12, 2025

ISSUE #441 12th of January 2025 Announcements Become a KotlinConf 2025 volunteer! The KotlinConf has started a Call for Volunteers to help out at the conference in May! If you are interested, check out

Healthy life, Meta's AI and legibility

Saturday, January 11, 2025

Neologism #25, 11.01.2024 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Daily Coding Problem: Problem #1665 [Medium]

Saturday, January 11, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by LinkedIn. A wall consists of several rows of bricks of various integer lengths and

📊 Every Smartphone I've Ever Owned, Ranked — This Tiny Smart Remote Is the Most Exciting Thing at CES

Saturday, January 11, 2025

Also: 5 Android Notification Features to Make Your Day Easier, and More! How-To Geek Logo January 11, 2025 Did You Know On March 12, 1951, a curious thing happened. In the United States and the United

Ranked | The Top Grossing Movies Worldwide in 2024 🎬

Saturday, January 11, 2025

Established IP dominated the 2024 box office, with top films mostly being sequels, spin-offs, or franchise continuations. View Online | Subscribe | Download Our App FEATURED STORY Ranked: Top Grossing

📖 Your Step-by-Step Guide to Securing AI in the Enterprise

Saturday, January 11, 2025

January 11, 2025 | Read Online Subscribe | Advertise Good Morning. Welcome to this special edition of The Deep View, brought to you in collaboration with Tines. When it comes to adopting AI securely,

🐍 New Python tutorials on Real Python

Saturday, January 11, 2025

Hey there, There's always something going on over at Real Python as far as Python tutorials go. Here's what you may have missed this past week: Iterators and Iterables in Python: Run Efficient