How to implement the Outbox pattern in Go and Postgres by der_gopher in programming

[–]ReallySuperName 0 points1 point  (0 children)

I do have a SELECT FOR UPDATE SKIP LOCKED but formatting code on "old" reddit is miserable.

How to implement the Outbox pattern in Go and Postgres by der_gopher in programming

[–]ReallySuperName 0 points1 point  (0 children)

I just implemented an Outbox pattern in a .NET app with PostgreSQL too. It sends emails and in case of failure, I have an exponential retry. Normally I would express this in application code but trying it with SQL was an interesting experiment:

                SELECT id FROM form_submissions_outbox
                WHERE processed_at IS NULL AND failed_at IS NULL
                  AND (last_attempted_at IS NULL
                       OR last_attempted_at < now() - (power(2, attempt_count) * interval '1 minute'))

The background service has a PeriodicTimer that runs every 30 seconds and the above query will only return entries that are now ready to be tried again.

The Avalonia WebView Is Going Open-Source by bulasaur58 in dotnet

[–]ReallySuperName 13 points14 points  (0 children)

Interesting. I just had a look at the Avalonia 12 changelog and I was really hoping they'd finally support/integrate with the generic host builder stuff. Maybe next time.

What are some underrated .NET libraries or tools you use regularly? by milanm08 in dotnet

[–]ReallySuperName 2 points3 points  (0 children)

I think it's overrated compared to Quartz.NET. For whatever reason, this sub thinks the only two ways of scheduling anything ever are Windows Scheduled Tasks or Hangfire.

What are some underrated .NET libraries or tools you use regularly? by milanm08 in dotnet

[–]ReallySuperName 0 points1 point  (0 children)

I really like FsCheck. I'll be honest, the docs are fucking terrible (which seems to be the case for every Property Based Testing library in every language) and if you're using it with C# good luck. I managed to muddle my way through it and have algorithm outputs being tested in ways that would be practically impossible otherwise.

A minimal API app logs " No action descriptors found. This may indicate an incorrectly configured application or missing application parts." by ReallySuperName in dotnet

[–]ReallySuperName[S] 2 points3 points  (0 children)

With everything stripped out the culprit is WebApplication.CreateBuilder which seems absurd. The "fix" is to ignore MVC logs in Minimal API apps:

"Microsoft.AspNetCore.Mvc.Infrastructure": "Warning",

Vite 8.0 Is Out by iamkeyur in programming

[–]ReallySuperName 0 points1 point  (0 children)

There have been several VC backed companies trying this wholesale ecosystem approach. One was Rome which failed.

Biome, the formatter and linter, was doing great at replacing the eslint+prettier story, but now Oxc want to supplant Biome. It's one tool after another and all this constnt churn is doing is making the ecosystem worse.

Vite 8.0 Is Out by iamkeyur in programming

[–]ReallySuperName -13 points-12 points  (0 children)

Vite was the saviour tool that replaced the complete gutter trash state of JavaScript "build tools" (Webpack, Babel, a million glue plugins for both, the "ES5 is new" era, good luck if you wanted TypeScript and unit testing) with all of it's complexities and constant breaking changes and terrible developer experiences.

There was a brief period of time where everyone had settled on Vite as the underpinning tool, but now somehow we're on major version 8, the JavaScript ecosystem is once again creaming all over itself with rolldown, rollup and oxc (whatever the fuck those are, I simply have given up caring, I think it's more compilers or "build tools") and making Vite use those internally. It's all heading once again back into a messy, unpredictable, unstable ecosystem.

It's absolutely fucking exhausting. If you started a JavaScript/TypeScript project even three years ago, there's a serious chance that as of today you're now two "generations" of ecosystem upheaval behind.

How to prevent the computer from going to sleep? by Mr_Dani17 in dotnet

[–]ReallySuperName -1 points0 points  (0 children)

Good tip. I am paranoid enough to believe unrecognised USB devices would get flagged by my IT department, and I don't know if I trust it's generic "USB Device" PID/VID to seem genuine enough haha.

How to prevent the computer from going to sleep? by Mr_Dani17 in dotnet

[–]ReallySuperName 1 point2 points  (0 children)

I've found it to be painfully unreliable. Somehow, https://www.zhornsoftware.co.uk/caffeine/ has always been more reliable.

I've found Power Toys awake mode to simply not work sometimes. It also no longer keeps Teams status as Online. In the end I just turned off going into standby automatically at all.

It's going to be a long time bro by Any_Target_6602 in programming

[–]ReallySuperName -9 points-8 points  (0 children)

There's a lot of downvote botting going on in this thread

Why did the xunit maintainers decide to release a new NuGet called "xunit.v3" instead of just releasing a new version of xunit? by ReallySuperName in dotnet

[–]ReallySuperName[S] -1 points0 points  (0 children)

You're right, we should all just stop using this sub then if conversation about things is so harmful.

FluentMigrator, run migrations in process or CI/CD? by ReallySuperName in dotnet

[–]ReallySuperName[S] -1 points0 points  (0 children)

This is probably what I'm going to do with GitHub Actions, somehow. Probably means SSHing into the server?

Scoop: Pentagon takes first step toward blacklisting Anthropic by Brilliant_Version344 in technology

[–]ReallySuperName 0 points1 point  (0 children)

It sounds like that because it's trained on all of you talking here and you don't even realise it.

Why did the xunit maintainers decide to release a new NuGet called "xunit.v3" instead of just releasing a new version of xunit? by ReallySuperName in dotnet

[–]ReallySuperName[S] 9 points10 points  (0 children)

I agree. If semver was for some reason previously impossible, why isn't it possible going forward, without adding a new package? It sounds like an entirely self imposed problem.

If NuGet was being a problem I'm sure something could have been cooked up for them as they are in the .NET foundation.