Rudi Visser's Avatar

Rudi Visser

@rudi.dev

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

458
Followers
401
Following
325
Posts
16.11.2024
Joined
Posts Following

Latest posts by Rudi Visser @rudi.dev

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)

11.11.2025 15:29 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Well you're just doing everything I wrote about after the preview - it's a happy time 🀩 The closer Aspire gets to being production-ready by default, the better it is for everyone!

13.04.2025 12:25 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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

12.04.2025 17:29 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
What's new in .NET Aspire 9.2 - .NET Aspire Learn what's new in the official general availability release of .NET Aspire 9.2.

Finally, we have some more app security in .NET Aspire learn.microsoft.com/en-us/dotnet...

12.04.2025 17:27 πŸ‘ 3 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

What IDE are you using? This is treated correctly by Rider at least, and I'm assuming Roslyn in general.

23.12.2024 14:19 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Is this a thing we’re meant to be able to deal with? 😫

22.12.2024 11:32 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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 🧐

22.12.2024 11:32 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A SQL migration description in JSON with a tag of "minor carnage".

A SQL migration description in JSON with a tag of "minor carnage".

Yep, this seems about right for a SQL Migration name. Thanks @drizzle.team

15.12.2024 20:22 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It has got quieter the past week or so.

15.12.2024 08:29 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It's nice of the aliens to respect our port/starboard navigational lights though.

14.12.2024 09:13 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Just so I've got this straight, in the USA they believe that planes are alien drones now?

14.12.2024 09:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Today we added a whole new module. svelte/reactivity/window exports a variety of reactive values like innerWidth, innerHeight, scrollX, scrollY and so on. Like the MediaQuery introduced on day 5 and Spring and Tween from day 6, these are class instances with a reactive current property that you can use in your template and in deriveds/effects. Behind the scenes, Svelte handles all the event listener stuff.

Today we added a whole new module. svelte/reactivity/window exports a variety of reactive values like innerWidth, innerHeight, scrollX, scrollY and so on. Like the MediaQuery introduced on day 5 and Spring and Tween from day 6, these are class instances with a reactive current property that you can use in your template and in deriveds/effects. Behind the scenes, Svelte handles all the event listener stuff.

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.

11.12.2024 17:27 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

You saw it here first, cos it's not live yet - but Svelte 5.10.0 containing the change is πŸ‘

09.12.2024 20:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
When Svelte emits a warning or error (whether at build time, when the compiler is running, or when the app is running on the server or in the browser) it will now be accompanied by a link to the corresponding entry in the documentation containing a description (which is omitted from production builds, to save bytes) and β€” in some cases, with more to come β€” more details on why it happened and what you can do to fix it.

When Svelte emits a warning or error (whether at build time, when the compiler is running, or when the app is running on the server or in the browser) it will now be accompanied by a link to the corresponding entry in the documentation containing a description (which is omitted from production builds, to save bytes) and β€” in some cases, with more to come β€” more details on why it happened and what you can do to fix it.

Advent of @svelte.dev Day 9 now gives us proper links to errors in the svelte documentation.

Demo: svelte.dev/playground/8...

09.12.2024 20:15 πŸ‘ 2 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

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

09.12.2024 14:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

You can't open it in GitHub Desktop anymore. Progress!

09.12.2024 09:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Chaos Engineering by default

09.12.2024 09:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It always starts with a goodie

09.12.2024 08:18 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

over-engineering a solution to a problem, as is tradition

09.12.2024 04:02 πŸ‘ 121 πŸ” 9 πŸ’¬ 8 πŸ“Œ 0

It really depends on the workload you’re going to put through it. We can run certain things comfortably in a 0.5 core Azure container, and I doubt they’re very powerful cores to begin with.

09.12.2024 00:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Very well if you ever wanted to try πŸ˜ƒ Of course not for anything too complex, but basic APIs work quite well in a small memory (and CPU) environment.

09.12.2024 00:15 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

We took a client project from 6 to 9 last week. No issues at all (though it was quite surprising!).

08.12.2024 22:50 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

They work surprisingly well for AOT Web APIs too, especially in .NET 9 πŸ‘

08.12.2024 22:48 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Function bindings
You can also use bind:property={get, set}, where get and set are functions, allowing you to perform validation and transformation:


<input bind:value={
	() => value,
	(v) => value = v.toLowerCase()}
/>

In the case of readonly bindings like dimension bindings, the get value should be null:


<div
	bind:clientWidth={null, redraw}
	bind:clientHeight={null, redraw}
>...</div>

Function bindings are available in Svelte 5.9.0 and newer.

Function bindings You can also use bind:property={get, set}, where get and set are functions, allowing you to perform validation and transformation: <input bind:value={ () => value, (v) => value = v.toLowerCase()} /> In the case of readonly bindings like dimension bindings, the get value should be null: <div bind:clientWidth={null, redraw} bind:clientHeight={null, redraw} >...</div> Function bindings are available in Svelte 5.9.0 and newer.

Advent of @svelte.dev Day 8 is a good one!

08.12.2024 17:50 πŸ‘ 11 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Game show where _anything_ could happen?

.NET. Only .NET.

08.12.2024 17:48 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - rudiv/Tippytappy: A Tiptap JSON to HTML renderer in C# A Tiptap JSON to HTML renderer in C#. Contribute to rudiv/Tippytappy development by creating an account on GitHub.

Just a mini @tiptap.dev JSON to HTML renderer in C# because I couldn't find one on the internet

github.com/rudiv/Tippyt...

08.12.2024 11:34 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

πŸ’―

07.12.2024 23:10 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Awesome, it looks great πŸ˜ƒ

07.12.2024 23:01 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Typically this is some mismatched version of .NET vs NuGet packages. For example if you are running .NET 8, but have a package (generally System.Something included from another package) that's a lower version, you could run in to this issue. Check that first as there could be other reasons.

07.12.2024 12:48 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

There's quite a few of us on here, what's up?

bsky.app/starter-pack...
bsky.app/starter-pack...
blueskystarterpack.com/starter-pack...

07.12.2024 09:57 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0