ASP.NET Community Standup - Exploring the ABP web app framework ABP Framework is a complete infrastructure to create modern web applications by following the software development best practices and conventions. Join ABP team member Halil İbrahim Kalkan to learn how you can use ABP in your ASP.NET Core projects. Commu...
Case Study: Using Visual Studio Profiler to reduce memory allocations in the Windows Terminal console host startup path A case study in using the Visual Studio Profiler to investigate memory allocations during the startup of Windows Terminal's Console Host.
dotNetTips.Spargine/Validate.cs at main · RealDotNetDave/dotNetTips.Spargine Open-source .NET assemblies from dotNetTips.com and David McCarter - dotNetTips.Spargine/Validate.cs at main · RealDotNetDave/dotNetTips.Spargine
Canonicalization Attacks Against MACs and Signatures Canonicalization Attacks occur when a protocol that feeds data into a hash function used in a Message Authentication Code (MAC) or Digital Signature calculation fails to ensure some property that&#…
Working around expired Root Certificates Should clients care about when a Root Certificate expires? That's a bit of an odd question, and the first time I asked myself this question, the answer was a resounding 'yes, of course'! On further inspection though, it seems like there could be a case to...
Why Is Equity Compensation Common in Tech? Equity is often a significant element of compensation in the technology industry. It has a long history in Silicon Valley: companies dating back to the 1950’...
1Password Refugee’s Guide to KeePass Introduction Passwords are the gateway to our digital identities. I have been relying on 1Password to manage my passwords in local vaults for a few years. But as you may know from the recent news, …
Different Realms, Different TLD’s | Kevin Burke Many companies break up their internal environments into different realms. A typical setup might look like:
A Tale Of Two Optimisations A couple of months ago I wrote a toy program called whitespacer. Ever since, I’ve had this gnawing feeling that I could have done it better; that it could have been written in a more performant manner.
How SQL Injection attack works 💉🔓 I share a funny story where I found a SQL Injection vulnerability in an IBM service, also how it works, how to explore it using Python and Flask....
To Catch a Hacker in My Home Lab Today I wanted to write a blog post to answer the questions to the Noabar scenario located here: A little background on what Noabar is, this is a Windows machine in my home lab that I attacked to c…
Announcing .NET MAUI Preview 9 .NET Multi-platform App UI (MAUI) Preview 9 is available today with .NET 6 RC2 and in the preview channel of Visual Studio 2022 Preview 5. While much of the work in this preview is focused on completing and stabilizing the 50+ controls and layouts,
Rethinking GIS Sambo sivam, jagame thandiram. The deregulation of Indian geospatial data sector may have opened opportunities for some leeway in India’s st...
mazzo.li — blag — Remote, encrypted ZFS storage server with NixOS I explain how to remotely setup a storage server with full disk encryption. The server is rented from [Hetzner](https://www.hetzner.com/), and many of the details are specific to Hetzner. The system is configured with [NixOS](https://nixos.org/), survives...
Agenda - NDC London 2022 | Conference for Software Developers NDC London 2022 is a 5-day event for Software Developers, 24-28 January at the Queen Elizabeth II Centre, Westminster.
.NET October 2021 Updates – 5.0.11 and 3.1.20 Releasing .NET 5 and .NET Core Updates for October 2021 which contains reliability and other improvements.
How Livewire works (a deep dive) <p>The experience of using Livewire seems magical. It’s as if your front-end HTML can call your PHP code and everything just works.</p> <p>A...
Why I host my blog on Cloudflare Pages My initial goal was to write a post comparing two major hosting offerings for a static tech blog at zero cost. Turns out, there’s an abundance of «Github Pages vs Cloudflare Pages» posts on the web. So the premise shifted to why do I pick Cloudflare Pages...
Classes often aren't the simplest tool for the job Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function. — John Carmack When programming, you sho
AWS Lambda battle 2021: performance comparison for all languages (cold and warm start) Let’s compare the performance of all supported runtimes + 2 custom runtimes (Rust and GraalVM).
ASP.NET Core updates in .NET 6 Release Candidate 2 .NET 6 Release Candidate 2 (RC2) is now available. .NET 6 RC2 is very close to the final build of .NET 6 that we expect to ship in November this year in time for .NET Conf 2021. It’s also a “go live”
Rockin’ The Code World with dotNetDave – Special Guest: Chris Voisey Join me live on Saturday, August 21st, 2021 at 10:00 PST on C# Corner Live for season 2, show #34 where I will interview Chris Voisey, Principal Solution Engineer with OverOps.
GitHub - martinet101/ElevenClock: ElevenClock: A secondary clock for secondary taskbars on Windows 11 ElevenClock: A secondary clock for secondary taskbars on Windows 11 - GitHub - martinet101/ElevenClock: ElevenClock: A secondary clock for secondary taskbars on Windows 11
Join us November 8 for the Launch of Visual Studio 2022 Visual Studio 2022 is launching November 8, join us for a free virtual launch event to learn about what Visual Studio 2022 can do for you!
Major nuclear fusion milestone reached as ‘ignition’ triggered in a lab | Imperial News | Imperial College London Ignition is a key process that amplifies the energy output from nuclear fusion and could provide clean energy and answer some huge physics questions.
ASP.NET Community Standup - Exploring MudBlazor In this edition of the Blazor community standup learn more about MudBlazor, a Material Design framework for Blazor with co-creators Jonny Larsson & Meinrad R...
The New JSON Serializer In .NET Core 3 The release of .NET Core 3 today includes a brand new serializer for JavaScript Object Notation (JSON) under the System.Text.Json namespace.
Rockin’ The Code World with dotNetDave – Special Guest: Joost van Schaik Join me live on Saturday, October 9nd, 2021 at 10:00 PST on C# Corner Live for season 2, show #39 where I will interview Joost van Schaik, Senior Mixed Reality Software Architect and a Microsoft MV…
Collection Performance: Looping Over a Collection There are four main ways to loop through a collection by using for(), foreach(), do() and while(). Let’s see which one of these methods are the most performant.
Self Diagnosing Deployments with Oakton and Lamar So here’s the deal, sometimes, somehow you deploy a new version of a system into a testing, staging, or production environment and it doesn’t work. Shocking and sometimes distressing wh…
GitHub - rahul-thakoor/air-pi-play: Turn a Raspberry Pi into an Airplay server using RPiPlay to enable screen mirroring on tvs, monitors and projectors. Turn a Raspberry Pi into an Airplay server using RPiPlay to enable screen mirroring on tvs, monitors and projectors. - GitHub - rahul-thakoor/air-pi-play: Turn a Raspberry Pi into an Airplay server...
Rockin’ The Code World with dotNetDave – Special Guest: Carl Franklin Join me live on Saturday, April 17th, 2021 at 10:00 PST on C# Corner for season 2, show #21 where I will interview Carl Franklin, C# Dev, Azure Wonk, Blazor Warrior/Trainer, Musician, and Producer.…
Rockin’ The Code World with dotNetDave – Special Guest: Allen O’Neill Join me live on Saturday, April 3rd, 2021 at 10:00 PST on C# Corner for season 2, show #20 where I will interview Allen O’Neill, CTO, The DataWorks. I’m really excited for this show sin…
Rockin’ The Code World with dotNetDave – The Agile Show Join me live on Saturday, October 16th, 2021 at 10:00 PST on C# Corner Live show #40 where the show will have it’s very first panel (that includes a certified Scrum Master) show all about Agi…
Champion: Simplified parameter null validation code · Issue #2145 · dotnet/csharplang Proposal added Discussed in LDM Decision in LDM Finalized (done, rejected, inactive) Spec'ed Specification: https://github.com/dotnet/csharplang/blob/main/proposals/null-arg-checking.md In shor...
Amazon.com: Rock Your Code: Coding Standards for Microsoft .NET eBook : McCarter, David: Kindle Store Buy Rock Your Code: Coding Standards for Microsoft .NET: Read Kindle Store Reviews - Amazon.com
Rockin’ The Code World with dotNetDave – Special Guest: Sam Cogan Join me live on Saturday, July 31st, 2021 at 10:00 PST on C# Corner Live for season 2, show #31 where I will interview Sam Cogan, Solution Architect & Microsoft Azure MVP.
Rockin’ The Code World with dotNetDave – Special Guest: David Neal Join dotNetDave live on Saturday, August 7th, 2021 at 10:00 PST on C# Corner Live for season 2, show #32 where I will interview David Neal, Manager of Developer Relations.
New Code Rules – Conference Sessions Must Include What Devs Need To Learn In show #28 of Rockin’ the Code World with dotNetDave I am discussing the lack of session about code quality, performance and architecture. Watch and let me know your comments below or Tweet …
Collection Performance: Creating Collections with Capacity & AddRange() Using List is perfectly fine when creating a collection when the number of items is not known beforehand. If the number of items is known, or even a close estimate, it could be more performant sett…
The Adventures of Inspector Cody: An Introduction These are the adventures of Inspector Cody who is one of only five certified Super Coders in the world. He is the guardian of code quality and software engineers across the land and the leader of D…
Coding Standard Survey for Microsoft .NET Developers Coding Standard Survey for Microsoft .NET Developers
Sponsor @RealDotNetDave on GitHub Sponsors David McCarter is a Microsoft MVP (Most Valuable Professional) for 16 years, C# Corner MVP, solutions architect, speaker, consultant, professional code reviewer, and interviewer in San Diego, Calif...
3 TypeScript Tricks I wish I knew when I learned TypeScript TypeScript is a big Superset of JavaScript which has many features which might not be shown in every beginner tutorial. This post has three of them to make your life easier learning TypeScript.
A PKI-less secure communication channel: Using TLS After spending so much time building my own protocol, I decided to circle back a bit and go back to TLS itself and see if I can get the same thing for it tha...
Learn C# with CSharpFritz: The AMA Show Join Fritz for a stream where the focus is on YOU. We're answering some of your questions from the last few streams that needed a little more time to explore...
IoT Hacking and Rickrolling My High School District This is the story of how I created a botnet of IPTVs to rickroll 10,000+ students for my senior prank.
How I use Polywork to overcome impostor syndrome Polywork is a new social media platform that I’ve been using to track my recent achievements, both big and small, and to tackle my ongoing impostor syndrome.
Easy Way to Create CLI Scripts with JavaScript and Node Did you know you can use JavaScript to build scripts to help automate tedious tasks? Let's say you want to bulk rename a list of files? Or you want to name y...
Introducing SSL/TLS Recommender Introducing customized recommendations to improve the security of your website.
Supporting EF Core migrations with WebApplicationBuilder: Exploring .NET Core 6 - Part 5 In this post I describe how HostBuilder had to be updated to support the EF Core tools after the introduction of WebApplication and WebApplicationBuilder
The Windows Package Manager The Windows Package Manager or winget has recently got quite good with the version 1.1 release. Here is my new machine setup script
Mapping .NET Timestamps to PostgreSQL Npgsql 6.0 contains some significant changes to how timestamps are mapped between .NET and PostgreSQL - most applications will need to react to this (although a compatibility flag exists). This post gives the context for these changes, going over the time...
Updating NuGet packages from command-line - deep dive I set out to find a better way to update NuGet packages across multiple projects and solutions. This post is a summary of the things I learned.
How to Create a Web API with .NET 6 Minimal APIs #aspnetcore #minimalapiIn this video, I will show you how to leverage .NET 6 to create a simple Web API.No startup.cs, no controller... only what is necessar...
Web Wednesday: ASP.NET Razor tips and tricks with Jon Galloway (hosted by GeekTrainer) Razor is a server-side, page-centric programming model for building webpages with ASP.NET Core. Razor has continued to mature over time, and has expanded to include numerous
Kubernetes and container management on the desktop Building, running, pushing, and pulling containers Running your choice of Kubernetes versions Local application development in Kubernetes
The efficiency of Microsoft. TL, DR: If you have MFA enabled on your Microsoft account, this automatically adds your phone number as a sign-in alias, supplementing an…
Let's Encrypt Root Expiration - Post-Mortem Well, the Internet Apocalypse came and went! Due to the recent expiration of the Let's Encrypt intermediate and root certificates, I saw more widespread issues than I was expecting, but on different devices and for different reasons than I thought. Let's ...
Build MAUI Apps in an Azure VM — App vNext I love using a cloud-based virtual machine as my developer machine. A moment’s thought will reveal why. A VM is isolated. You can set up a developer environment on a per-project basis. You can access it from anywhere, untethering yourself from your office...
Sunsetting of .NET Framework and .NET Core runners in Cake 2.0 Note that the following explanations are only about required platforms to run Cake. Cake will continue to support building of .NET Framework and .NET Core projects.
Business as usual for Azure customers despite 2.4 Tbps DDoS attack The pace of digital transformation has accelerated significantly during COVID-19 pandemic, alongside the adoption of cloud services. Bad actors, now more than ever, continuously look for ways to take applications offline. Azure DDoS Protection Standard pr...
Hidden IDisposable Issues in Microsoft .NET Out of all the millions of lines of code I have reviewed in the past 20 years of .NET, hands down the #1 issue are developers not properly disposing of objects that implement IDisposable. In this p…
The simplicity of ASP.NET Endpoints Keepings it simple with ASP.NET Endpoints and its dependency system
ongoing by Tim Bray · Worst Case Suppose you’re running your organization’s crucial apps in the cloud. Specifically, suppose you’re running them them on AWS, and in particular in the “us-east-1” region? Could us-east-1 go away? What might you do about it? Let’s catastrophize!
World's Smallest C# Program (featuring `N`) TLDR: Tongue in cheek post on how - in .NET 5+ and C# 9+ - the smallest possible C# program appears to be {} or 2 characters long. This doesn’t do much, though. Using N (github, nuget) you can write a program doing something in 4 characters with e.g. N...
Relational Databases Aren’t Dinosaurs, They’re Sharks Oh relational databases, that tired old relic of another age. Codd and friends were great in their time, but serious software engineers need to move on. People building Web Scale™ software You’ve probably heard a similar sentiment at some point. That rela...
Peter Norvig: Today’s Most Pressing Questions in AI Are Human-Centered The AI expert, who joins Stanford HAI as a Distinguished Education Fellow, discusses building inclusive education and broadening access to students.
Introduction to ASP.NET Core SignalR - Learn In this introduction module to ASP.NET Core SignalR, you'll learn what SignalR is, how it works, and when to use it.
VS Code Python Tool Now Debugs Jupyter Notebooks -- Visual Studio Magazine The October 2021 update to Python in Visual Studio Code continues to boost notebook functionality, now adding the ability to debug Jupyter Notebooks.
Windows App SDK ('Project Reunion') Polished Ahead of v1.0 GA Debut -- Visual Studio Magazine It was designed to alleviate the complexity of Windows app development that was caused by the emergence of two disparate sets of APIs: for the older Win32 platform and the newer Universal Windows Platform (UWP).
Solar-powered aircraft flown for nearly three weeks without landing Airbus has completed test flights for its solar-powered Zephyr aircraft which is designed to stay airborne for weeks at a time in order to provide internet to users on the ground.
Silicon Valley VC Firm Leaked 'Deal Flow' Data A Silicon Valley venture capital firm that runs a matchmaker service linking investors with startups exposed 6GB of data, including deal flow information pertaining
Parsing JSON is a Minefield [2016-10-26] First version of the article [2016-10-28] Presentation at Soft-Shake Conference, Geneva (slides) [2016-11-01] Article and comments in The Register [2017-11-16] Presentation at Black Alps Security Conference, Yverdon (slides) [2018-03-09] Pres...
A preview of WSL in the Microsoft Store is now available! The Windows Subsystem for Linux (WSL) preview is now available in the Microsoft Store as a store application for Windows 11 machines! Installing WSL through the store will allow you to get the latest WSL updates and features faster, and without needing to...