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

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your