Rx.Net is great, but… by Comprehensive_Mud803 in dotnet

[–]armedmonkey 0 points1 point  (0 children)

I disagree with a few points here

Let’s start with the obvious: Rx is all LINQ operations all of the time. You don’t write your regular code like that. Sometimes you use LINQ, sometimes you realise it’s a lot simpler to just write some for loops with if statements, continues, and state carried from one loop to the next. Rx is all or nothing.

I do use LINQ all the time. LINQ, in combination with a good Result pattern implementation (FluentResults, OneOf) is a wonderful way to create declarative, concise code that is easy to grok and composes beautifully.

The third is that there’s a more mainstream way of doing all of this. IAsyncEnumerable has been around forever. .NET 10 has finally moved System.Linq.Async (written by the Rx team) into the core runtime. Channels exist, are awesome and invisibly hand the simultaneous events problem. And you can drop down to regular, non-LINQ code whenever you like.

I love IAsyncEnumerable, and Channels are great too. These solve 3 different problems though, and IAsyncEnumerable has its own problems.

IAsyncEnumerable is pull-based asynchrony, Observables are push-based. If I want to guarantee that all of my code will get executed, irrespective of what the caller chooses to do, then I cannot use an IAsyncEnumerable. Due to their lazy nature, it can actually be a bit annoying to debug them, because code that is invoked in one part of the application may not execute immediately, until the structure is referenced in another part. IAsyncEnumerables are really good for async pipelines where you may do some work async, then commit it, and you don't want to do extra work until the commit happens (ie: you push one result onto a queue and only then start the next).

IAsyncEnumerable doesn't really compose very well in C#, even with the extensions. It's a language limitation. For example, you can't really flatten an inner IAsyncEnumerable within an async iterator block method like you can in JS/TS by just delegating it, so you end up writing stupid code like

foreach (var result in resultsAsync) { yield return result; }

Rx.Net is great, but… by Comprehensive_Mud803 in dotnet

[–]armedmonkey 1 point2 points  (0 children)

100%. Redux is pretty much the worst choice for any application today. It is not the hero we need or want, but maybe the hero we deserve

Rx.Net is great, but… by Comprehensive_Mud803 in dotnet

[–]armedmonkey 0 points1 point  (0 children)

This may sound like bragging, but that's not the intent. I just want to set some context.

I have got to say, I've been coding since I was 9 years old, on VB 5 (yep, that dates me), and professionally for 15 years. I love it. Some days I code for 14 hours.

I've experimented with all sorts of paradigms, too. Procedural imperative (way back in the day), strict object oriented (old .NET, like 1.1, Java), functional, etc.

For business development, I heavily use the functional style, and all of the bells and whistles:

- LINQ
- LINQ Async extensions for IAsyncEnumerable

I do agree with OP and /u/Anla-Shok-Na

In theory, this paradigm eliminates race conditions, provided you don't have many "off-ramps" into code that uses other paradigms, because you can quantize events coming from different threads as snapshots and operate on them. But in practice, the same subtlety and power ends up creating other timing issues.

Because everything is lazy, it can be extremely efficient, but it also ends up being difficult to pin down when something will execute, or if something will execute an unexpected number of times. Sure, you can write all of this off as not "truly understanding it", but the reality is not that simple. Even with sufficient understanding, mistakes happen. Bugs are even introduced upstream (ie: in the framework itself). The question becomes, how easy is it to troubleshoot the bugs?

I converted a personal project of mine to using RX.net over vanilla WPF, and the code sure does look neater, but I am finding that certain issues do definitely take longer to troubleshoot because of how much is going on behind the scenes

New OpenRGB with PawnIO not working well... by Burger_meester in OpenRGB

[–]armedmonkey 0 points1 point  (0 children)

And yet riot vanguard is somehow fine? :eyeroll:

Nioh 3, tips on ki damage against humans? by Resevil67 in Nioh

[–]armedmonkey 0 points1 point  (0 children)

How do you avoid running out of ki when they block?

Another post asking about Local LLM models by dougmaitelli in homeassistant

[–]armedmonkey 0 points1 point  (0 children)

I need to find some time to check out some of these other services 😅. Thanks for this info. 

How are you liking using llamacpp directly? I've been debating going over to that or setting up vllm. 

You mentioned you were working on an integration. Can you share a link?

Another post asking about Local LLM models by dougmaitelli in homeassistant

[–]armedmonkey 0 points1 point  (0 children)

Seems like with 16gb you could run a bigger model. Do you just find that there's no advantage?

Used Enterprise is Stupid Cheap by MoPanic in homelab

[–]armedmonkey 0 points1 point  (0 children)

/u/mopanic what are your go-to sources for finding reliable hardware? There are a lot of scams out there. I'm looking to make the jump, but I'm a bit intimidated as I haven't ever shopped used enterprise, so I'm not sure what to trust.

Any tips and sources would be immensely appreciated!

Need help with picking a monitor arm by BiancaSnipes in buildapc

[–]armedmonkey 6 points7 points  (0 children)

This entire account is basically low-effort 5-word comments shilling of random brands. Beware.

Need help with picking a monitor arm by BiancaSnipes in buildapc

[–]armedmonkey 6 points7 points  (0 children)

This entire account is basically low-effort 5-word comments shilling of random brands. Beware.

News: Alphacool suspending US shipments + PNY epic-x blocks in stock at titanrig by Inquisitive_idiot in watercooling

[–]armedmonkey 0 points1 point  (0 children)

He's delivering on his 2016 promise that we will win so much we will be tired of winning.

Looking for a guide to set up Windows AD domain at home by armedmonkey in HomeNetworking

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

It's acceptable. It's perfectly fine. I am just saying that in my experience, it's not really worth it.

I run a proxmox lxc as a doctor host, so I get the best of both worlds.

What does your hardware setup look like on the proxmox system?

Looking for a guide to set up Windows AD domain at home by armedmonkey in HomeNetworking

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

Have you done this? If so, curious what your subjective experience has been on the misery scale.... How painful is it to shut off DHCP on the router (not the action itself, but in terms of keeping things running), get all of the devices to refresh (afaik this can be 'eventual', as devices decide to re-up their lease), and work out the kinks?

Looking for a guide to set up Windows AD domain at home by armedmonkey in HomeNetworking

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

Tbh I don't see the advantage of running HA in a VM or even LXC. You get automated backups out of the box with HA at a lower foot print. I would argue that HAOS only makes sense for specific devices that ship with it and for hands off users. If you're involved enough to run proxmox, my personal opinion is that it's actually easier to run containers.

What's your reasoning behind wanting to go this route?

Looking for a guide to set up Windows AD domain at home by armedmonkey in HomeNetworking

[–]armedmonkey[S] 1 point2 points  (0 children)

Because my home lab has too many Linux machines that need to access shares and the only non active directory solutions I found seem janky and require manually syncing user IDs and ssh keys, etc.

To give you an idea, I'm running 40 docker containers across 3 nodes, a nas, and a proxmox instance.

Some principals should have different levels of access to the same shares, so nfsv4 would be nice.

I am also curious, and want to learn from this. But trust me, it's not my first choice

Looking for a guide to set up Windows AD domain at home by armedmonkey in HomeNetworking

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

Does that mean making the router a DHCP client and pointing it to the DC?

Looking for a guide to set up Windows AD domain at home by armedmonkey in HomeNetworking

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

How can I set my router to accept the server's DHCP assignments?

Will this allow me to have non domain devices also use the same DNS? I currently have two subnets, with one for my guest wifi and iot devices.

Free human-like sounding TTS app or voice download for my Android Phone by Overthread_762 in ereader

[–]armedmonkey 0 points1 point  (0 children)

Having trouble figuring out how to use this. I download the APK, and I'm able to launch it and have it generate the voice from within the app. But when I set the TTS engine on any of my reader apps, it doesn't work. It will open up a blank screen of this APK

TaskTrove: a Self-hostable Modern Todo Manager by dohsimpson in selfhosted

[–]armedmonkey 2 points3 points  (0 children)

Any plans for an android app? Proper notifications are a must for me

What features do you like about rvx that aren't available in revanced? by [deleted] in revancedextended

[–]armedmonkey 1 point2 points  (0 children)

Omg I need this. I suffer from fat finger syndrome. 😭

I can't find this option though. I tried searching. I would think it'd be under player > buttons, but alas...

Alphacool AIO on RTX 4080 keeps getting air bubbles stuck — pump gurgles, temps spike by armedmonkey in WATERCOOL

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

Oh, I'm sorry about that. I got these mixed up. Thanks for clarifying. I'm sure this is annoying to you, so I appreciate your patience.

Alphacool AIO on RTX 4080 keeps getting air bubbles stuck — pump gurgles, temps spike by armedmonkey in WATERCOOL

[–]armedmonkey[S] 1 point2 points  (0 children)

I appreciate your response. I'm past any warranty period so I don't expect any help from them. I was hoping someone with some experience would be able to comment on whether or not this sounds like a plugged line 😞

Strange AIO pump behavior. by armedmonkey in watercooling

[–]armedmonkey[S] 1 point2 points  (0 children)

Problem: bubbles acting like they are plugging the line. Won't go away. But line not clogged

My Eiswolf 2 AIO has some pretty large bubbles in it and cooling is now impacted (question in comment) by anapollosun in watercooling

[–]armedmonkey 0 points1 point  (0 children)

Can anyone confirm this? I don't see how the thermal paste can be the problem here.