News Radar RSS

dotInsights | August 2026

JetBrains Blog Developers & Open Source Score 7/10

Summary

Did you know? Ever wondered why C# uses the semicolon to terminate a statement? Obviously it comes from the C/C++ heritage it shares with other languages like Java, but where did C get it from? That would be Algol, where the semicolon was used to separate statements. But why the semicolon? In natural language grammar, […]

Original Text

Did you know? Ever wondered why C# uses the semicolon to terminate a statement? Obviously it comes from the C/C++ heritage it shares with other languages like Java, but where did C get it from? That would be Algol, where the semicolon was used to separate statements.

But why the semicolon? In natural language grammar, the semicolon separates two independent but related clauses; it can also be used to separate items in a list (see what I did there?). And what is a program but a list of independent but related clauses?

(Bonus punctuation trivia: the comma is used to separate items in a list, just like the arguments in a function call. The period is used to end a complete thought, like a sentence or paragraph. How did Algol mark the end of a program unit? Why yes, with a period!)

Welcome to dotInsights by JetBrains! This newsletter is the home for recent .NET and software development related information.

🔗 Links

Here’s the latest from the developer community.

Nullable GUID Route Constraints in ASP.NET Core – Sebastian Nilsson

Closed class hierarchies: Exploring the .NET 11 preview – Part 4 – Andrew Lock

No more regressions with Snapshot Tests in C# using Verify: a practical guide – Davide Bellone

HttpClient Streaming in C#: HttpCompletionOption, ReadAsStreamAsync, and Server-Sent Events – Nick Cosentino

Building a Windows Tray App by combining Microsoft.UI.Reactor and a Worker Project – Morten Nielsen

Windows 11 can now run Linux containers with WSL Containers, no Docker Desktop needed (hands on) – Abhijith M B

Add vs AddRange in EF Core: The Performance Myth You Need to Stop Repeating – Chris Woodruff

Code review is theater now – John Bristowe

The .NET Host Process: What Runs Before Main() and Why It Sometimes Hangs – David McCarter

Worse is better: JSON versus XML – Mark Seemann

The best code is the one you shift+delete – Oren Eini

The Docker CLI Commands I Actually Use Every Day – James Joyner

Migrate Your WPF App to the Web, From Your Browser – XAML.io Team

How to Build a Dark Mode Toggle Without JavaScript – Jakub T. Jankiewicz

The role of ActivitySource in OpenTelemetry for .NET – Bart Wullems

Track every EF Core record change with temporal tables – David Grace

The Complete Guide to Tool Selection in AI Agents – Shittu Olumide

Coffee and Open Source Conversations – Jimmy Bogard – Isaac Levin

Available Now in .NET 11 for .NET MAUI – Leomaris Reyes

Multi-Tenancy Isn’t About Databases – Derek Comartin

Composition Ring Spinner [Avalonia] – Stefan Koell

C# Async/Await Made Simple – Lou Creemers

How to Log JSON Without Turning Your Terminal Into a Wall of Text – JavaScript Tools

What is a webhook? Endpoints, examples, and how they work – Jesse Sumrak

C# Tip: Use required members to prevent invalid object initialization (beware of SetsRequiredMembers attribute!) – Davide Bellone

You’re Already Using .NET’s ChangeToken (You Just Don’t Know It) – Khalid Abuhakmeh & Al Rodriguez

Zero-Code Validations in Your .NET API – Pavel Kalandra

A gentle introduction to Git worktrees – Nicholas C. Zakas

Stop Using Singletons in Unity | Game Systems Explained – Stacey Haffner

Guidelines for URL Storage and Comparison – Eric Lawrence

Dijkstra’s Shortest Path Algorithm – Kirupa Chinnathambi

TimeProvider and the End of Untestable DateTime.Now – Maarten Balliauw

Stop Accepting Breached Passwords: Integrating HaveIBeenPwned with Duende UserManagement – Al Rodriguez & Khalid Abuhakmeh

.NET Aspire: The price of forgetting WithReference – Bart Wullems

☕ Coffee Break

Take a break with something a little more fun.

DoomPaint – Doom using MS Paint as a playable display by leveraging clipboard and paste. Includes Doom shareware and plays with music and sound effects – Mark Russinovich. Don’t ask why. There is no why. It just is.

Yes, that’s a trailer for the Java Story in a .NET newsletter, but who doesn’t love a geeky bit of history, right?

200+ Funny Software Developer Puns and Jokes That Only Coders Will Truly Get – brace yourself

🗞️ JetBrains News

What’s going on at JetBrains? Check it out here:

We’ve released the 2026.2 wave of dotUltimate tools – Rider 2026.2, with lots of goodies, including new skills and quality check hooks for agents, Hot Reload for WPF, TypeScript 7 support, improved game dev features for Unreal Engine and Godot. ReSharper 2026.2 gets Junie support, as part of our move to an open AI platform thanks to ACP. It also gets out of process mode enabled by default, so most of ReSharper runs outside of the Visual Studio process.

ReSharper for Visual Studio Code 2026.2 was released, and now includes the #1 requested feature – debugging! As everyone knows, debugging is only half the story, so read Isaac’s first blog post detailing how ReSharper can help you write C# inside not just VS Code, but all other compatible editors (Cursor, Google Antigravity IDE, Devin Desktop, Kiro, and others). Check it out on the Marketplace or the OpenVSX Registry.

We’ve announced our annual gamedev day for September 28. Make sure to save the date, and send us proposals for sessions!

And finally, continuing our series of evaluating skills that claim to reduce token usage, we take a look at the Ponytail skill. Does it really reduce agent code by 54%? #QTWTAIN (You can also check out our evaluation of the rtk skill – does it really cut agent tokens by 60-90%? You might be able to guess from the hashtag…)

✉️ Comments? Questions? Send us an email.

Subscribe to dotInsights

IDEDeveloper ToolsSoftware

News Radar provides aggregated summaries. Full content and copyright remain with the original publisher.