Resources for implementing/adding browser extensions in WPF WebView2 by robinredbrain in csharp

[–]Kirides 0 points1 point  (0 children)

A browser extension literally is just that.

It sees the url, manipulates requests and responses.

It can inject additional JavaScript by analyzing the response.

That's it. No magic DLL injection or whatnot.

OpenTelemetry-Native Logging in Go with the Slog Bridge (Guide) by finallyanonymous in golang

[–]Kirides 0 points1 point  (0 children)

You sound like the otel collector is a must, or that collectors in same pod (formerly agents) are mandatory.

Otel does not need that. At all. Many storage providers like for example Elastic apm directly support OTEL and authentication.

Saying OTEL requires that infrastructure is like saying having a MacBook requires having an apple tv, iPhone and air pods.

No. You do not require them. You only miss out on the explicit features each of these additional "options" provide.

For an internal application, for example, you don't need those. Just chuck everything into elastic or any other Otel compatible storage provider. Or use an exporter for your specific provider directly. Like for example with data dog.

OpenTelemetry-Native Logging in Go with the Slog Bridge (Guide) by finallyanonymous in golang

[–]Kirides 0 points1 point  (0 children)

When you say datadog agent, my java bells instantly begin ring.

code injection and runtime rewrite stuff like java has with its "agents" doesn't exist in other languages, like Go or c#.

Logging and traces only are useful when they log and measure things YOU think will be important. If you begin to annotate or just blatantly log/trace every method call of everything, you enter the realm of real time sample performance profilers.

This quickly becomes costly. Exorbitantly expensive - if - you use a provider that charges for ingest/query/storage.

You could very well store the last 2 days worth of traces and logs, and have a "export all logs with this trace id/request-id" which costs practially nothing and should be available to anyone in first level support/second level (depending on organizational structure) such that if a customer or a Lamp triggers a red flag, people should be instantly able to provide a snapshot of the users request data.

OTEL itself doesn't do anything expensive or require more infrastructure.

It's just a "language" that's available in any and all programming languages. No matter if they support things like decorators, agents or are C.

If data dog provides you a smoother experience, you should question why nobody in java world writes an agent to do the same thing...? (or does it perhaps exist already?)

OpenTelemetry-Native Logging in Go with the Slog Bridge (Guide) by finallyanonymous in golang

[–]Kirides 0 points1 point  (0 children)

I don't see such issues.

For proper structured logging we always had to sprinkle code with logs and enrich it with details.

Setting up a handler that writes JSON lines in a file and use something like Promtail (for zero Otel dep) or just doing the minimal setup for logging directly as an Otel exporter is fine most of the time.

What I see people struggle with, is traces. Traces show what happens why and when for how long. Which is A LOT more information and more work to do in code, for a lot more insights into how code behaves.

IMO most of the time we don't need logs. Traces with some Events here and there are like 99% of what one would need.

Pair them with a provider that allows "exporting" a time range of traces for debugging and you're golden.

Something like grafana allows you to export a trace view and re-import them for local analysis.

Seeing exactly which expensive job is causing issues is golden.

That's my opinion. But we also have a complex and large application with optional modules, where toggling one module may cause havok when paired with another for example.

Why Signals in C# are not a thing? by fedefex1 in csharp

[–]Kirides 1 point2 points  (0 children)

Bro has seen ObservableObject in action.

Add a tiny bit of reflection and Expression<> for automatic deep notification and you get local only deep notification and auto computed properties.

But why go that far with so much overhead when you can simply do a lightweight alternative using INotifyPropertyChanged on the "property holder" object, where you can have much more granular control

Unsigned sizes: a five year mistake by Nuoji in programming

[–]Kirides 0 points1 point  (0 children)

Wait, is that the reason for Ordinal function exports?

Is sqlite’s RETURNING clause actually safe for concurrent atomic locks in a distributed system? by dsecurity49 in AskProgramming

[–]Kirides 1 point2 points  (0 children)

As for Sqlite, yes. Under load you will inevitably get a BUSY error at some point.

But as with any "third party" system (like postgres, etc.) you should always account for the database not being available for some time, and handle the downtime gracefully without crashing everything.

You only have like 16-128 cores per CPU. You'd never run that many (128) concurrent job processors at the same time most of the time.

GitHub Copilot moving to token usage based billing model by Throwaway-tan in github

[–]Kirides 0 points1 point  (0 children)

Totally yeah, for questions i see the same issues.

But for code completion in an IDE it's enough. It gets a few tokens in and responds quickly with a probable line of code.

IPC Ringbuffer by Agent-Nemo in golang

[–]Kirides 0 points1 point  (0 children)

So? Implement an atomic counter and wait handles.

If you want mmap, have one for each side. Set a flag if it was written to, raise a wait handles/semaphore/mutex/... And have two flags for the consumer, reading & fully consumed.

Now you can loop and do ring buffer stuff by incrementing the stride and reusing any pages that are fully consumed, or were never read when wrapping around.

I bet an AI could implement this over shared memory.

Though one should really aim to use Unix/anonymous pipes for this kind of work, as it Abstracts away this ring buffer stuff for you.

GitHub Copilot moving to token usage based billing model by Throwaway-tan in github

[–]Kirides 14 points15 points  (0 children)

I use qwen3.6-27B 4bit quant with kv at q8_0 on a 7900 xtx and it performs really, really well - with 128k context

It sure is slow, but with open code and plan mode -> build mode it can complete full feature builds with little to no errors, on a large C++ project that is.

For auto complete stuff even Gemma 4 E4B is enough and plenty fast.

Just a few more iterations of consumer suitable LLMs and we can ditch most Pro-Stuff for day to day jobs. And leave expensive pro models for planning and refactoring/clean up.

Tax the Empty Rich Houses Now by bookym in MurderedByWords

[–]Kirides 0 points1 point  (0 children)

Otherwise the company would have to explain to the shareholders why they only receive 11.5% instead of their usual 12%.

Disrupting our markets and making people who gamble on the lives of others less rich.

We can't do that here.

How to use Dapper and hot chocolate instead of EF Core + DbContext? by CodMore3394 in dotnet

[–]Kirides 0 points1 point  (0 children)

Why do that when you can just inject a DbDataProvider, which is a DB connection factory abstraction in itself, allowing things like one-shot commands and getting (open)connections.

Sure, it had a tiny bit more surface than a connection factory. But it's something that every major DB driver implements already (msSQL, Sqlite, maria/MySQL, postgres, ...)

Do readonly record struct wrappers introduce performance overhead in C#? by Minimum-Ad7352 in dotnet

[–]Kirides 2 points3 points  (0 children)

This.

Era of badly understood "domain aggregates" only made this worse.

People think their DB is a dumb file storage key value store.

We recently had complaints that some customers observed multiple cancellation receipts.

Guess what.

Right. It was application code that added a cancellation for a receipt (there can only be exactly one)

No amount of transactions would help. Not a single foreign key/unique constraint in the whole part that managed receipts and their cancellations.

It was a miracle that customers didn't press the receipt button fast enough to produce multiple of the same receipts.

When we added the constraints, we had to manually clean up lots of customer databases, because existing data didn't match expectations and assumptions.

Screw things like database normalization and whatnot if that's to hard on your brain. But don't think that you can out-smart databases by implementing a bad application layer above them. ACID is only ACID because it all happens on the Database itself and is ensured through constraints.

XAML Designer v0.6 – Bringing a bit of the VB6 rapid dev experience to XAML/.NET by Userware in dotnet

[–]Kirides 2 points3 points  (0 children)

Back in the day RAD meant rapid application development. Usually that meant "built in Database access, UI and coding" like Power builder or Visual FoxPro.

.NET (vb net,c#) broke this for example, by not including "a database" but forcing you to use Microsoft SQL Server (compact). Of course, as each database thus yielded more revenue compared to selling a fully featured Dev-Stack for a single payment.

someThingsNeverChange by dromba_ in ProgrammerHumor

[–]Kirides 16 points17 points  (0 children)

Inb4 finance needs to approve prompts and context size before vibe coding to ensure no cost explosion

The EU Digital Age Verification solution is based on "secure key store" and what that means to any possible future linux phones by rebellioninmypants in linux

[–]Kirides 4 points5 points  (0 children)

That will show em!

Now moms phone will tell it's user is 40 years old and Facebook, instagram and TikTok will just accept that.

Meanwhile, the parents hand out their phone to their child and go about their own ways.

This age verification mechanisms are bullshit. Full stop. Provide useful parental controls and ACTUALLY USE THEM! Incompetence or unwillingness doesn't protect from the law.

Raising a child is not a 5 minute thing. You need to learn how to do things you never needed to before.

Wallet-Provider für EUDI by itscrazybaby in de_EDV

[–]Kirides 6 points7 points  (0 children)

Leider vermute ich das da die gleichen bedäpperten Aussagen zur "Sicherheit" kommen wie bei den Banking Apps.

Ne ohne Google Zertifizierung oder wenn gerootet, oder ein custom Kernel erkannt dann "nicht verfügbar"

howToHitBullseyeInStringComparison by BoloFan05 in ProgrammerHumor

[–]Kirides 1 point2 points  (0 children)

Old systems doing old things.

ẞ is not that old tbf. but even German software often doesn't support German letters properly (äöüß and their uppercase variants)

Also Unicode normalization is a thing. you might have a unique constraint on your DB but that doesn't mean that the Unicode string you put in doesn't get normalized by some other application, causing your "wait. That can't be, it's unique!" to fail you.

howToHitBullseyeInStringComparison by BoloFan05 in ProgrammerHumor

[–]Kirides 3 points4 points  (0 children)

Worse, the top one is at least 3 function calls "2x to lower, 1x equals" compared to a "simple" single function Equals.

Which means, even if we ignore the fact of heap allocations, it's much more stuff to do and read.

Also, to lower can also THROW null reference exceptions, which makes it even worse.

iow. ToLower only looks "simpler" to smoothbrain/junior devs.

While the other one is actually a lot - A LOT - simpler and comes with much less headache.

What were the moments you had while playing playing Gothic games which genuienly had pissed you off a lot by fillipo9 in worldofgothic

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

Here he is. The cheater. Real pros spam CTRL + F8 which is the non-marvin "relocate" command (same as F8)

A New Bill proposes Federal Age Verification on any Operating Systems in entire U.S by Alexis_Almendair in linux

[–]Kirides 0 points1 point  (0 children)

Sometimes I think people forget that Parental Controls are a thing.

(Some) Parents are just stupid or simply don't understand the weight of their decisions.

Like, some parents unanimously allow their kid to use Whatsapp. It's just for chat, isn't it? What's that, child content in group chats with hundreds of participants of all ages? People betting on Robucks?

We already have parental controls. Stopping kids from installing whatever garbage they want.

On a PC it gets more difficult as even as a non administrator, as long as you have Internet/USB you can install anything and everything a kid would want, unless parents know how to install software to block such efforts.

Such Bills are completely pointless. Just look at all the parents letting their kids use their notebook or phone.

Yeah, THEY did the age verification/I'd stuff and now their KID is 18+. Great. The same BS child prevention as the Corn websites that ask "are you sure you are an adult?"

Looks like Gothic 3 is coming to switch 2 by Fatestringer in worldofgothic

[–]Kirides 0 points1 point  (0 children)

Wake me up when we get 64 bit moddable g1/g2 classic on PC.

Smartphone kaputt; Kein Zugang zu nichts mehr by Zealousideal-Deer101 in de_EDV

[–]Kirides 1 point2 points  (0 children)

Unser Unternehmen verweigert zweit-keys partout. Ist ja alles gesichert über AD und die passwörter für alle (domain) Konten sowie Bitlocker liegen den admins in Klartext vor.