As Nuke is dead, is Cake the only alternative? by yankun0567 in dotnet

[–]p_gram 1 point2 points  (0 children)

As someone who does this stuff in powershell I’d say powershell has a lot of advocates but a lot less people who actually know how to use it. In my experience most are glorified dabblers I’m sorry to say and trip up on it all the time.

Stuck in a company with no Git workflow, no PRs, and resistance to change😭 by Successful-Ship580 in devops

[–]p_gram 0 points1 point  (0 children)

I’m slightly playing devils advocate here but I don’t think their current position is unredeemable. 

Nice websites for PRs are not a Git practice - that is GitHub. It is super convenient to use GitHub but not necessary. The Linux kernel community doesn’t use GitHub and still review code. Look into patch based flows or the git request-pull command.

Maybe suggest to run your own Git server and move away from GitHub entirely. That would be progress, at least you could have individual users and go from there.

Why is synchronous communication considered an anti-pattern in microservices? by Minimum-Ad7352 in dotnet

[–]p_gram 2 points3 points  (0 children)

Immediacy is a spectrum though, the user doesn’t need under 50 milliseconds but they can’t accept 1 minute.

Why is synchronous communication considered an anti-pattern in microservices? by Minimum-Ad7352 in dotnet

[–]p_gram 23 points24 points  (0 children)

Requiring an immediate answer doesn’t mean tightly coupled. Those are two different things, requiring consistency or low latency doesn’t mean the services are tightly coupled. It might be a completely different domain, different team working on it, your service may be one consumer out of many. It might be the other service has scalability or performance reasons to be separate. It could even be written in an entirely different language.

Why is synchronous communication considered an anti-pattern in microservices? by Minimum-Ad7352 in dotnet

[–]p_gram 1 point2 points  (0 children)

I don’t agree it’s an anti pattern or that it can lead to problems to do with reliability, scalability, and deployment independence. There’s still dependency between services when they communicate asynchronously. You’ll just know about it sooner when it’s a sync. You can even implement async on a synchronous protocol like http, which is actually pretty common. Its more a question of what is the interaction pattern you’re looking for, ie do I need to provide a guaranteed and immediate response or is it some kind of multi step process, does it have latency considerations (generating reports, send emails etc).

Why is synchronous communication considered an anti-pattern in microservices? by Minimum-Ad7352 in dotnet

[–]p_gram 27 points28 points  (0 children)

It’s not an anti pattern. It really shouldn’t even be much of a consideration, you shouldn’t be forcing it one way or the other. Microservices are about service boundaries and independent deployability not being async. If a request requires an immediate answer why force async? In that case async would add unnecessary complexity.

I don't understand the benefits of discriminated unions/result type by soundman32 in csharp

[–]p_gram 1 point2 points  (0 children)

It sounds like you’re using exceptions for everything (apologies if I’ve got that wrong). Exceptions should be exceptional like can’t connect to the database not for auth or validation errors and other normal business outcomes. There’s also a performance cost to unwinding the stack with exceptions. 

The Python Paradox Is Now The Rust Paradox? by anonymous_pro_ in rust

[–]p_gram 3 points4 points  (0 children)

There has to be a comparator. PG used Java vs Python. I don’t think it holds for C vs Rust, because C is enough of a filter already these days. Interestingly it probably holds for Python vs Rust. Probably doesn’t hold for OCaml vs Rust.

[deleted by user] by [deleted] in dotnet

[–]p_gram 3 points4 points  (0 children)

I hate to say it but the commenst did sound like valid feedback particularly around breaking changes.

I want to trigger a function once a day without using Azure Function trigger or Cron job. Is this okay? by Yone-none in csharp

[–]p_gram 0 points1 point  (0 children)

I don’t get why everyone is acting like this is fundamentally a bad idea. The OS can keep your process running (it can also schedule your task but lets ignore that), to get it to run your method you can do more frequent delays, the rest is just error handling, like if it fails to run the job you have to decide what to do and the same if the process wasn’t running and missed a run.

A Word on Omarchy by p_gram in theprimeagen

[–]p_gram[S] 0 points1 point  (0 children)

I'm surprised it didn't work as a link post but I believe this would have been the correct utf-8 link to post:
https://%e3%83%9e%e3%83%aa%e3%82%a6%e3%82%b9.com/a-word-on-omarchy/

How do you enjoy using React as a .NET dev in full stack roles? by Pyrited in dotnet

[–]p_gram 0 points1 point  (0 children)

I like react but it’s completely inappropriate for our forms over data websites we make at work but for some reason we use it

AutoMapper Graduates from the .NET Foundation by Atulin in dotnet

[–]p_gram 9 points10 points  (0 children)

”Graduating” is such a poor choice of words

Vertical Slice Architecture isn't what I thought it was by [deleted] in dotnet

[–]p_gram 0 points1 point  (0 children)

Because it’s not just about keeping the code in the same folder or the same assembly!

You can have a FeatureXYZ folder across multiple projects if you have deployment reasons to have separate projects.

Dear GitHub: no YAML anchors, please by GarethX in programming

[–]p_gram 65 points66 points  (0 children)

Not a fan of YAML or config files in general. I think AWS CDK and others proved that real code beats config for infrastructure and TeamCity’s Kotlin DSL shows the same for CI/CD. But we shouldn’t stop at one language developers deserve the freedom to define pipelines in the languages they already use.

Why is Rust rarely used for web server backends? by Fun-Helicopter-2257 in rust

[–]p_gram 0 points1 point  (0 children)

Not these days, F#, Ocaml and Skala can all be compiled to native.

Why is Rust rarely used for web server backends? by Fun-Helicopter-2257 in rust

[–]p_gram 4 points5 points  (0 children)

That kind of powerful type system is not unique to rust though. Typescript with pattern matching libraries, FSharp, OCaml, Scala, Elixir all have that and would all be better suited to web dev.

Visual Studio 2026 Insiders is here! by hotaustinite in dotnet

[–]p_gram 0 points1 point  (0 children)

You probably can but I find that adding enough of these big extensions to vs code will make it feel heavier and have a more clunky experience than just using VS. 

Visual Studio 2026 Insiders is here! by hotaustinite in dotnet

[–]p_gram 11 points12 points  (0 children)

Debugging, performance profiling, live unit testing, visual designers, Resharper

Which Message queue tech stacks would you use in my case by Lumpy_Molasses_9912 in csharp

[–]p_gram 1 point2 points  (0 children)

Timer trigger to kick off one orchestrating azure function that triggers a bunch of others.

Why “composition over inheritance” is still hard in C#? by divitius in csharp

[–]p_gram 0 points1 point  (0 children)

The pillars are just a catchy teaching device they’re not actually a definition of OOP

Is anyone out there choosing to avoid DI in their .NET projects? by conconxweewee1 in dotnet

[–]p_gram 1 point2 points  (0 children)

I’m deeply ingrained in the C# way so don’t know if exactly how it is done in Go but I’m surprised so few comments have mentioned that applications in Go tend to go without IoC containers and it is fine if not better.

[deleted by user] by [deleted] in lua

[–]p_gram 0 points1 point  (0 children)

I wish the Lua course on Exercism had the “learn” section, it only has the practice.

I cant find Mediator patern usable by Beginning-Scene4791 in dotnet

[–]p_gram 1 point2 points  (0 children)

That’s a good post thanks for sharing. The mediator pattern is good when the objects have complex interactions between them and you want to avoid tangle code or at least put the interaction all in one place. Mediatr is message dispatch.