21 August 2023

82 links ยท Monday

Do I really want AI to help debug my code?

Do I really want AI to help me debug my code? John Maeda shares his thoughts in today's #OneDevQuestion.Learn more: https://msft.it/605498E80

On .NET Live - Finding joy in minimal APIs

Have you discovered the ease of simplicity of minimal APIs in ASP.NET Core? In this week's episode, community member John Alexander shows he learned minimal ...

The Ugly Truth About Sleep

Sleep has turned into a form of class privilege. It’s also a weapon in class warfare. I’m guessing you don’t need yet another life coach or wellness grifter selling you on the concept of sleep. You’ve probably spent a lot of time and money on it

Concise explanations accelerate progress

If you want to progress faster, write concise explanations. Explain ideas in simple terms, strongly and clearly, so that they can be rebutted, remixed, rewor...

What’s a Website

This post is about what a website1 is from the perspective of how the internet works. For a long time I thought a webpage was an html file, and a website a collection of html files in a directory structure. I had never considered further what’s going on when o…

E-ink is so Retropunk

I’ve long been struggling to describe why e-ink is so much fun for me, but Ithink I’ve finally realized what it is: e-ink is just so so so retropunk.

Why LFI is a tough sell

There are two approaches to doing post-incident analysis: the (traditional) root cause analysis (RCA) perspective the (more recent) learning from incidents (LFI) perspective In the RCA perspective,…

DIY Deliberate Practice — Lynette Bye Coaching

In the spirit of growth and self-improvement, I recently attempted to apply Ericsson’s principles of deliberate practice to my own growth goal: speeding up my writing. If you're unfamiliar with the minutia of Ericsson's methods, don't worry, I was in the same …

The Problem with Friendly C – Embedded in Academia

I’ll assume you’re familiar with the Proposal for Friendly C and perhaps also Dan Bernstein’s recent call for a Boring C compiler. Both proposals are reactions to creeping exploitation of undefined behaviors as C/C++ compilers get better optimizers. In contras…

Don't Fire Your Illustrator

Understanding (and Art Directing) AI image generators

Listen to non-users!

One of the most important things about a program, framework, library, or programming language is how easy it is to get started using it. Unfortunately, the first impressions authors get from users is after the users have already surmounted some initial obstacl…

A Process for Building LLM Classifiers

Large language models (LLMs) can be prompt-engineered to solve a wide variety of tasks. While many consider chat as the primary use case, LLMs can also be used to train traditional...

Metaphors for thinking about LLMs

Not so long ago, I suggested that when it comes to using LLMs for programming, a useful metaphor is to think of them as compilers. I recently came across a couple of papers which are exploring that line of thinking deeper. In their most general sense, compiler…

What's New in Blazor for .NET 8

Come find out about the future of Blazor in .NET 8! We'll explore all the upcoming features and improvements, including our effort to create a unified full s...

Installing Terraform on Windows

In this video, which is part of the Terraform Course, you will learn how to install Terraform on Windows.

New in Visual Studio: Compare Files with Solution Explorer - Visual Studio Blog

Comparing code in different files is a common need for developers, yet it often disrupts the flow of your work. We’ve heard your feedback and are excited to introduce a new compare feature in Visual Studio. This feature enables you to compare code files direct…

GNU Parallel, where have you been all my life?

How to use GNU Parallel to gather stats on long-running flaky tests by running them many times and capturing their results.

Automating Service Registration with Reflection

Hi there. Today we are going to see how to automatically register generic interfaces with their implementations to the DI container, using reflection, so tha...

Background Tasks Are Finally Fixed in .NET 8

Use code ARCH15 and get 15% off the brand new Solution Architecture course on Dometrain: https://dometrain.com/course/getting-started-solution-architectureBe...

NuGet 6.7 Announced With Enhanced Security Features

The NuGet team announced NuGet 6.7, an update that introduces a set of advanced security features. These enhancements span from updated package source mapping to the integration of vulnerability APIs, updated package version dropdowns, and the addition of warn…

Expression-bodied members in properties

Are these two expressions the same? public class MyClass { public int A { get; } = Random.Shared.Next(1000); public int B = Random.Shared.Next(1000); }

“We’re All Just Temporarily Abled”

Writing about the big beautiful mess that is making things for the world wide web.

Rockin’ the Code World: Special Guest Bob Reselman

Join me on Saturday, September 9th, 2023, at 10:00 PST on C# Corner TV for show #87 where, for the second time, my special guest will be Bob Reselman, Independent Consultant. Don’t miss this …

How to Mock IOptions in ASP.NET Core

In this guide, we explore a straightforward approach to mock IOptions, keeping tests thorough and independent of real-world configurations.

ASP.NET Core Logging using Serilog and Azure

This article shows how to implement logging in an ASP.NET Core application using Serilog and Azure as a hosting environment. Code: Priority logging use cases Two types of default logging use cases …

372: Buying a Nintendo Switch in 2023

Frank is interested in buying a Nintendo Switch... a 6+ year old device.... when is it too late to buy a piece of technology? We discuss.

Speed up Visual Studio load times with Microsoft Dev Box

Now with Visual Studio 17.7, you can try out pre-caching for Microsoft Dev Box, one of the many integrations that make using Visual Studio on Microsoft Dev Box..

All the Possible Ways to Debug Node.js

We all know the value of debugging. Inspecting the values of variables, seeing the call stack, and moving step-by-step are all features that are priceless for developers. But it’s not always simple to get a debugging session going in real-world scenarios. Some…

Introduction to NuVerify

In this session, I'm going to walk you through a proposal and a POC that leverages AI to verify the integrity and security of open source nuget packages. Her...

.NET 8 Interceptors

.NET 8 preview 6 introduces a preview feature of interceptors

Announcing TypeScript 5.2 RC - TypeScript

Today we’re excited to announce our Release Candidate of TypeScript 5.2! Between now and the stable release of TypeScript 5.2, we expect no further changes apart from critical bug fixes. To get started using the RC, you can get it through NuGet,

Antifragile systems

Yesterday I talked about Mean time between failures(MTBF) and Mean time to repair(MTTR) and their importance in building robustness and rec...

SuppressGCTransition

Deep-dive into the SuppressGCTransition attribute introduced in .NET 5.

The Urlist - Share the internet

Group links together in a list and get a custom URL to share them. Edit your lists at any time.

City as a Function | fsharpConf 2023

Paweł Stadnicki shows how everyday residents can use F# to model and understand the connections between places and people in their city or neighborhood.Resou...

What is OpenTelemetry?

Michael Outlaw is a father, husband, and software developer based out of Atlanta, GA. A fan of gadgets and all things technology, when he isn’t found behind the clickety clack of his favorite mechanical keyboard he’s usually found riding a bicycle on his favor…