Rudi Visser

Rudi Visser

@rudi.dev

Developer in disguise. 🐾 Husky daddy, Husband, .NET / Svelte(Kit) Advocate. CEO @divergent.group. Building @divergent.cloud. #dotnet #aspnetcore #svelte

462 followers401 following325 posts

Are we all ready to watch #dotnetconf in 24 hours? (So we can skip over each mention of "Copilot" or "AI" and get to the real stuff)

This gets us one step closer to writing less Bicep - along with the ACA configuration and reduction of magic (azd and key vault)!

Now all the SPA folk can stop whining there’s no official hash based router! The only thing for the left to moan about is it being file system based 🧐

Svelte@svelte.dev

Day 21 — hash-based routing for SvelteKit apps, for when you don't need (or can't run) a server. You can't use any server-side logic (including SSR), but other than, it's just like any other SvelteKit app 🎁 docs svelte.dev/docs/kit/con... 🎁 demo hash-based-routing.vercel.app

Another banger from Advent of @svelte.dev, whilst this was possible before having it built in to the framework and avoiding in-app bindings for these things is a big win. This is just proving that small, incremental changes can make a huge difference to UX.

PSA for MacOS users that use PiP for videos: Hold ⌘ when dragging to put it anywhere rather than the annoying snapping locations!

Just remembered Octopus Deploy want to move us from the no longer existing free tier to $4,170/yr. Good job it could be replaced by an 18 line bash script 😓

I'm not sure how Svelte can keep going for another 22 days 😀

Svelte@svelte.dev

Day 3 — you can now export snippets from a <script module> (terms and conditions apply) - docs svelte.dev/docs/svelte/... - demo svelte.dev/playground/1...

So as an ex-Jaguar fan, this insane rebrand has my attention. This design is straight out of Gotham and I'm all for that. Until it breaks down. Maybe the pink one came to jump start the blue one.

So @xpaw.me also used Span (yay!) for #AdventOfCode Day3 but he had less code, less allocations and better perf even using StringValues. Can't be having that can we? Here's a refined version.

Rudi Visser@rudi.dev

It's #AdventOfCode Day3, but everyone was using Regex. Boring. Why not look at the Memory in C#?

The first of 24 new things - this is a very good year for Svelte.

Svelte@svelte.dev

Day 1 — error boundaries! Wrap your code in a <svelte:boundary> and you can isolate and recover from unexpected errors. 🎁 docs svelte.dev/docs/svelte/... 🎁 tutorial svelte.dev/tutorial/sve...

I know these benchmarks are to be ignored in the real world, but submitted Reaper's latest version with .NET 9. appmpower (which is just middleware) should also see a gain from the AOT improvements.

Rudi Visser@rudi.dev

I've posted a bit about .NET 9 being a lil buggy which it is, but that's not really fair as it's also very impressive. Here's my benchmarker for web frameworks (Carter, FastEndpoints, MVC Controllers, Minimal APIS, Reaper) between .NET 8 and .NET 9. #dotnet #aspnetcore #aspnet #performance #net9

I've posted a bit about .NET 9 being a lil buggy which it is, but that's not really fair as it's also very impressive. Here's my benchmarker for web frameworks (Carter, FastEndpoints, MVC Controllers, Minimal APIS, Reaper) between .NET 8 and .NET 9. #dotnet #aspnetcore #aspnet #performance #net9

There's a few things to note here: Memory usage is down across the board. RPS is not too varied in the non-AOT compatible libraries between versions. The AOT compatible libraries however have a noticeable performance bump.

Basically, even from this totally unnecessary benchmark, we can say that the benefits of .NET 9 specifically in a container based or compute constrained environment well outweigh the minor bugs (and weird design decisions made by the EF Core team) that are being found 🥳

Forge for .NET Aspire is now out in preview to fix your dotnet watch woes 🥳 Install it as a dotnet tool, then run forge fire from your solution or AppHost project directory. We've been using it for a week now without incident, but issues are welcome! github.com/rudiv/forge #csharp #aspire #dotnet

There are bigger plans for this, for instance being able to manage multiple deployment targets, deploying to AppService, and most importantly fully customising whatever that deployment looks like. No more global identity or 100s of Container Registries. But right now it's dotnet watch...

... and that's absolutely fine, because it's virtually impossible to develop an Aspire project any other way right now without PAIN.

Out of the box thinking on fixing DefaultAzureCredential!

Anthony Simmon@anthonysimmon.com

Blogged: automatically reduce DefaultAzureCredential execution time from 10 seconds to 1 and allow Azure CLI credentials to be used in containerized applications for all services orchestrated by .NET Aspire. anthonysimmon.com/dotnet-aspir... #dotnet #aspire #dotnetaspire

Pretty confident our priorities in life are correct 🎉 In the new place we have: 2x Wine & Pint glasses 4x Normal glasses & Mugs 6x Whisky glasses & Espresso cups 🥃☕️