David McCarter's Avatar

David McCarter

@dotnetdave.bsky.social

David McCarter is a Microsoft MVP, Solutions Architect, code quality expert, consultant, professional code reviewer, speaker, and author with 25+ years in software engineering. https://bit.ly/davidmvp https://dotnettips.com

323 Followers  |  85 Following  |  2,013 Posts  |  Joined: 18.10.2024  |  2.2392

Latest posts by dotnetdave.bsky.social on Bluesky

Even Analyze does not work properly! How is anyone supposed to validate their code for issues? Ai? Ha, no! 😑

14.11.2025 20:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It really disappoints me that Visual Studio 2026 shipped with so many bugs and missing features. MVPs could’ve helped, but no one reached out. Losing customers is easy β€” winning them back isn’t. πŸ˜”
@visualstudio.com #VS2026

14.11.2025 20:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Discover Unique Sci-Fi Art: Custom AI-Generated Robots and Cyborgs Love sci-fi? Check out my custom AI-generated robots and cyborgs! Perfect for your next project. Contact me for unique creations!

Love sci-fi? Check out my custom AI-generated robots and cyborgs! Perfect for your next project. Contact me for unique creations! πŸš€πŸ€–
#SciFiArt #AIGraphics #GraphicArts #Robots #Cyborgs

14.11.2025 16:25 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Static Fields Are Evil, If Not Coded Correctly Proper coding of static fields in .NET is crucial to avoid data corruption and concurrency issues. Learn from this story of how one simple fix saved an insurance company from legal consequences.

Attention developers: Exercise caution when utilizing static fields in your code. This insightful article dives into the reasons why. dotnettips.wordpress.com/2023/04/11/s...
#dotnet #MVPBuzz #SoftwareEngineering

14.11.2025 16:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Boost Your .NET Projects: Enhancing .NET Logging with LoggingHelper in Spargine Enhance your .NET logging with LoggingHelper from Spargine! This powerful utility streamlines application and system logging while capturing and handling exceptions across assemblies, including dom…

Enhance .NET logging with LoggingHelper in Spargine! πŸ› οΈ Capture system & app details, log exceptions, and boost reliability. Check out the full article here.
dotnettips.wordpress.com/2025/05/07/b...
#dotNET #Logging #Spargine #MVPBuzz

14.11.2025 16:24 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
dotNetDave Says… If You Don’t Keep Up with Technology, Your Apps Will Be Stuck in the Past! The software industry evolves daily, making continuous learning essential for all professionals. Falling behind can hinder team performance, leading to outdated and maintenance-challenged code, shr…

If you're not learning outside of work, you're falling behindβ€”fast. Your career and your code depend on it. Don't let your software get stuck in the past. ⚠️
#DevLife #TechDebt #CareerAdvice #MVPBuzz #SoftwareEngineers
dotnettips.wordpress.com/2021/12/17/d...

14.11.2025 16:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
dotNetDave Says… Taking Care of Technical Debt Many development teams face significant technical debt that accumulates over time, often ignored until it causes major issues. This debt manifests as outdated packages, long build times, and numero…

dotNetDave Says… Take care of technical debt before it takes down your team! One dev shouldn’t be stuck cleaning up a decade of chaos. Fix it early or pay for it later.
#MVPBuzz #dotnet #DotNetDave
dotnettips.wordpress.com/2022/01/25/d...

14.11.2025 16:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Testing Software Engineers During an Interview; There is a Better Way! This article emphasizes the importance of developers continuously working on personal app projects, highlighting how it can lead to career growth and success. It encourages individuals to showcase …

Feeling frustrated with the current technical interview process? It often seems like it doesn't truly showcase your skills. Fortunately, there's a better approach. Check out this article to learn more. dotnettips.wordpress.com/2021/04/16/t...
#Interviewing #interviewtips #techinterview

14.11.2025 16:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
dotNetDave’s Faster or Not!: Optimizing Base64 Decoding in .NET This year, the author explored faster data processing methods using Span in .NET, specifically for converting Base64 strings to byte arrays. The article aims to assist developers in making informed…

πŸš€ "dotNetDave’s Faster or Not!" series! Discover a faster method to decode Base64 strings in .NET. Benchmark results show a 1.45x speed boost! Perfect for performance-critical apps! Read more. dotnettips.wordpress.com/2024/11/14/d...
#dotNet #MVPBuzz

14.11.2025 16:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Microsoft .NET Code Analysis: Leveraging Span-Based String Concatenation for Improved Performance String concatenation in .NET can be optimized by using the Span type to enhance performance and reduce memory usage. By replacing traditional methods with AsSpan() and string.Concat(), memory alloc…

Boost your .NET performance with Span-based string concatenation! πŸš€ Check out how a simple change can cut memory allocation and double your performance.
dotnettips.wordpress.com/2025/02/12/m...
#dotnet #csharp #codeoptimization #span #performance #MVPBuzz

14.11.2025 16:16 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Is anyone seeing issues like this in @visualstudio.com 2026? On my laptop it's fine, but on my desktop, I see this in some of the windows.
#VisualStudio

14.11.2025 15:06 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

OMG, MSTest dropping [ExpectedException] is causing a lot of work!
#dotnet

13.11.2025 19:45 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Have you ever taken a coding test for a job where you had to build a solution from scratch under tight time limits?
πŸ‘‰Did you finish it all?
πŸ‘‰How did it go?
πŸ‘‰Did you land the job?
Your feedback will help shape an article I’m writing. Let’s connect and share stories!

13.11.2025 18:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
dotNetDave Rocks Austin .NET User Group November 2025 Meeting The dotNetDave No Rest for the Wicked World Tour will visit Austin on November 20, 2025, where I will present a session titled β€œRΓΆck YoΓΌr CΓΆde.” This session addresses critical issues i…

πŸš€ Austin developers, get ready! The dotNetDave β€œNo Rest for the Wicked” World Tour hits the Austin .NET User Group on Nov 20, 2025! 🀘

Arrive early… swag will fly. 🎸

#MVPBuzz #dotnet
dotnettips.wordpress.com/2025/11/10/d...

13.11.2025 17:03 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Backgrounds This folder contains a diverse collection of backgrounds suitable for presentations and various other applications.

Need unique backgrounds for your presentation? πŸŽ¨πŸ“Έ Find hundreds, including tech-themed ones, on my photography site! I use them myselfβ€”hope you do too!
#GraphicArts #Presentations

13.11.2025 16:09 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Code It Any Way You Want: Optimizing Span Operations – Clear vs. Fill This article compares two key search methods in dictionaries: using `Contains()` on the Keys collection and `ContainsKey()` method directly on the dictionary. It demonstrates examples for both appr…

πŸ“„Discover surprising performance insights on clearing a Span using Fill() & Clear() in .NET 8. Learn more:
dotnettips.wordpress.com/2024/04/30/c...
#dotnet8 #CodeAnalysis #CodePerformance #MVPBuzz

13.11.2025 16:09 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Mastering the Art of Public Speaking: Creating Captivating Technical Demos The post emphasizes the importance of delivering effective technical presentations through engaging demos that reflect real-world scenarios. It suggests pre-recording demos to avoid failures caused…

Master the art of captivating technical demos! Learn my proven strategies to engage your audience, create fail-proof demos, and ensure your message leaves a lasting impact. Check out my latest article and level up your presentations!
dotnettips.wordpress.com/2024/10/08/m...
#TechDemos #Speaking

13.11.2025 16:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Collection Performance: Optimizing Sequence Comparison The article discusses different methods for comparing two collections for identity in programming. It introduces the use of the SequenceEqual() method for comparing sequences in the LINQ extension …

πŸš€ Enhance your code efficiency! Learn about SequenceEqual() and StructuralSequenceEqual() methods for precise collection comparison. Check out this insightful article.
dotnettips.wordpress.com/2024/05/13/c...
#CodeOptimization #dotnet #MVPBuzz #CodePerformance

13.11.2025 16:06 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Code It Any Way You Want: Constants vs. Read-only Fields The article discusses best practices for checking strings for null in coding. It outlines three common methods: using == null, is null, or string.IsNullOrEmpty().

Discover the performance benefits and intent clarity between constants and read-only fields in C# code! Check out this insightful article: dotnettips.wordpress.com/2024/05/07/c...
#MVPBuzz #dotnet #CodePerformance

13.11.2025 16:06 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Boost Your .NET Projects: Unleashing the Power of Spargine’s ComputerInfo Spargine is an open-source set of assemblies and NuGet packages for .NET 8, developed for use in production. The ComputerInfo class offers methods to retrieve essential system information for loggi…

Unlock the power of Spargine’s ComputerInfo class for .NET! πŸš€ Simplify system metadata access, boost logging, and enhance your .NET projects with these key methods. Learn more πŸ‘‡
dotnettips.wordpress.com/2024/11/12/b...
#dotnet #Spargine #opensource #MVPBuzz

13.11.2025 16:05 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Stop the Leaks: Properly Disposing Objects in .NET The article highlights the persistent issue of failing to call Dispose() on disposable objects in .NET projects, which leads to memory leaks and system instability. The author recommends using IDis…

Avoid memory leaks in .NET! πŸš€ Failing to call `.Dispose()` can slow down or crash apps. Learn how to prevent virtual memory leaks with IDisposableAnalyzers, memory profilers & #Spargine extensions. Read more. dotnettips.wordpress.com/2025/01/13/s...
#dotnet #csharp #performance #MVPBuzz

13.11.2025 16:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@visualstudio.com How do I import extensions in 2026? Menu item is gone?!?!? πŸ˜•

13.11.2025 14:31 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Serializing Objects: JSON Serialization The article explores the significance of object serialization into JSON format, comparing Newtonsoft.Json and JsonSerializer in .NET.

Why does Copilot migration recommend keeping NewtonSoft.Json since it's less performant than what is built into .NET? #dotnetconf
dotnettips.wordpress.com/2021/07/20/s...

12.11.2025 20:31 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Optimizing Array Performance in .NET: Getting the Most from ArrayPool ArrayPool optimizes memory usage by providing a thread-safe pool of reusable arrays, significantly reducing allocations and garbage collection pressure, especially in high-performance scenarios. It…

#dotnetconf crew! 🀘 Steven Toub dropped a gem yesterday β€” ArrayPool can seriously speed up array creation. I broke it all down with benchmarks and a real-world demo. Read my article and rock your performance!
#dotnet #MVPBuzz
dotnettips.wordpress.com/2025/10/01/o...

12.11.2025 18:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Defensive Programming Rule #3: Validate Your Enums (Every Time) Enums enhance code readability but can lead to errors if not validated, as any integer can be cast as an Enum, including invalid values. Validating Enum inputs prevents silent data corruption, ensu…

Hot take: every public API should validate enum parameters. Here’s the why, the how, and production-ready helpers (incl. flags). Defensive Programming Rule #2. πŸ‘‡
#dotnet #MVPBuzz #DefensiveProgramming
dotnettips.wordpress.com/2025/11/09/d...

12.11.2025 17:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Optimizing Hash Code Generation in .NET: A Performance Comparison This article discusses the importance of hash codes in programming and optimization techniques in Microsoft .NET. It explores different methods for generating hash codes, with RuntimeHelpers.GetHas…

Want faster hash code generation in .NET? Explore how RuntimeHelpers.GetHashCode() can boost your app's performance by up to 87x! Learn more and check out the new FastGetHashCode() method in Spargine. πŸ”₯
dotnettips.wordpress.com/2024/09/08/o...
#dotnet #CodePerformance #MVPBuzz

12.11.2025 17:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
dotNetDave Says… Avoid Going Across the Wire Until Necessary! Network calls create significant performance bottlenecks in modern applications due to latency and unpredictability. Developers should prioritize chunky communication and batch requests to improve …

Network calls are expensive. Distance doesn't guarantee speed. Avoid going across the wire unless necessaryβ€”and always batch requests. Your app (and your users) will thank you.
#dotNet #PerformanceTips #dotNetDave #MVPBuzz
dotnettips.wordpress.com/2025/05/12/d...

12.11.2025 17:06 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Wait until you see the next edition of my code performance book! There are some things now I'm having a hard time measuring! I'm seeing very impressive perf increases in .NET 10!

11.11.2025 21:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Warning: Copilot and AI look slick, but don’t trust everything they spit out. They’re Junior Programmers β€” smart, but lacking real-world experience and best practices. Someday that’ll change, but for now you still need your own brain and judgment.
#dotnetconf #Copilot #dotnet

11.11.2025 21:33 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Yes, but it's marketing. I hold off on a real opinion until I try it in the "real world".

11.11.2025 20:57 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@dotnetdave is following 20 prominent accounts