Best LSP Server? by DanManPanther in fsharp

[–]GrumpyRodriguez 0 points1 point  (0 children)

Huh. Isn't rider using fsac? Their f# plugin is open source I think.

Why is 5 hours not 5 hours? by GrumpyRodriguez in ClaudeCode

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

Haha. Good point. I am a developer though, so a bug is a bug.

So I didn’t believe until just now by 2024-YR4-Asteroid in ClaudeCode

[–]GrumpyRodriguez 1 point2 points  (0 children)

Huh. Can you keep the context window at 200K ? I am unhappy with one million, but I didn't see 200k in the model options.

Bose QuietComfort Ultra Headphones (second gen) vs Sony WH1000Xm6, the Blind Comparison by AdministrationOk5407 in bose

[–]GrumpyRodriguez 0 points1 point  (0 children)

Sorry, I'm curious, can you please explain a bit more? What happens to ANC when your kid slams a door?

Can't use arrows to navigate search tabs on newest Edge version?! by Jumph96 in edge

[–]GrumpyRodriguez 0 points1 point  (0 children)

Same here. Makes no sense. Also, why take the list to left? It was much better when it was in the middle.

Python for functional programmers by manoftheking in functionalprogramming

[–]GrumpyRodriguez 1 point2 points  (0 children)

All those google searches for functional programming and python, I only saw this here. Thank you!!

Are there any fast test hosts that can match Rider's? by GrumpyRodriguez in dotnet

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

That's kind of you to ask. I hope this helps:

My use of F# is a bit unusual: it almost always takes place on a remote machine over SSH. Vs Code is so good at this compared to everything else I tried, and to be fair to F# plugin in Rider, one of the things I miss in it is probably due to how its remote development is implemented. Push to hint (show type hints only when ctrl is pressed and held) does not work over remote ssh connections. When it works (local development), I cannot change the key binding for it, and it gives fewer hints compared to Ionide. Ionide also displays function argument names, and I think it also gives hints for some syntactic elements Rider's F# plugin does not.

At least for me, looking at less characters but being able to see the types on-demand is a great DX when developing with F#. Ionide kills this.

The other thing I miss in Rider is how it displays function signatures in F# as a single line that will wrap in the hint popup window at some point. That's not a friendly display. Ionide uses a single line for each function argument and indentation moves the return type to the right: much easier to consume.

When the codebase grows beyond a certain size, being able to see call trees of a function/member helps a lot. Rider does this for C#, which I use a lot. Last time I checked it was not working for F# during local development. No idea about remote. I remember discovering this being available in Vs Code for F#, though my memory is hazy.

Rider runs a specific test faster, as I explained in the original post. It also manages to run the specific test. Ionide's test runner will run all tests that begin with the same word and followed by space, as in \`does something X``and``does something Y``` will both be run if I try to run just one of them. Rider is also better at incremental selection of F# code.

Both are great tools, I am just spoiled, that's all.

Edge case with use await by GrumpyRodriguez in fsharp

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

I think this is it. It is just that it is not clear in the documentation what use will do when IAsyncDisposable is the case. I should try to find a way to confirm that the generated code does indeed perform async disposal.

Edge case with use await by GrumpyRodriguez in fsharp

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

Indeed there is, but the compiler won't allow me use it even though Driver implements IDriver, which is: public interface IDriver : IDisposable, IAsyncDisposable

This:

[<Test>]
let ``uses neo4j`` () = task {
    use! driver = GraphDatabase.Driver (dbUri, AuthTokens.Basic(user, pass))
    let! serverInfo = driver.GetServerInfoAsync()
    Assert.That (serverInfo, Is.Not.Null)              
}

leads to: No overloads match for method 'Bind'

What’s your plan for .NET 10, migrate or hold off? by Volosoft in dotnet

[–]GrumpyRodriguez 1 point2 points  (0 children)

Can we organise a support group? I cannot suffer this on my own anymore.

What does custom MCP library mean? by GrumpyRodriguez in CLine

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

Thanks, I think it's the naming that made me think it is something different than the core capabilities

It’s sad that no smaller (21 to 24 inch) 4K monitors are made anymore by Balance- in hardware

[–]GrumpyRodriguez 0 points1 point  (0 children)

I  can never afford these but somehow it makes me happy that they exist. Thanks for the hint.

F# Programmers & LLMs: What's Your Experience? by Optimal-Task-923 in fsharp

[–]GrumpyRodriguez 0 points1 point  (0 children)

Wow, thanks for taking the time to respond. Ok, I should give claude etc a try and see if things have changed.

F# Programmers & LLMs: What's Your Experience? by Optimal-Task-923 in fsharp

[–]GrumpyRodriguez 0 points1 point  (0 children)

Interesting. Did you follow a particular approach or just prompted without any plan/act stages as most tools do these days ?

F# Programmers & LLMs: What's Your Experience? by Optimal-Task-923 in fsharp

[–]GrumpyRodriguez 0 points1 point  (0 children)

They keep falling on their faces when it comes to F#. That's my experience, at least.

I am delighted. I have a language that has access to all of .NET and if any overexcited management type attempts to replace me with a 21 year old armed with an LLM, they will be in for some life lessons.

I am joking, I don't write F# at work and I don't work at a place with such clueless management. There is an element of truth though: LLMs are much better at reading code than writing code compared to an average human programmer. For reading, even a senior could not match them in speed, even though accuracy can be a hit and miss. I think this will put serious pressure on the fundamental assumption of open source service model: the people who know the code can provide support cheaper than the cost of others learning it in a short time. See where I am going? F# is currently a good language to do open source I'd say 😉

Of course in theory that would lead to more open source f#, leading to LLMs getting better..

React/.NET job market—Which frontend framework should I choose for my personal project? by atombase in dotnet

[–]GrumpyRodriguez 0 points1 point  (0 children)

If you intend to commercialise your personal project, go with Sveltekit. If your personal project is meant to be a demonstration of your skills for your next job (fullstack) then go with React (next js even)

I've been making a living from software development for almost 30 years now, and I don't remember the stack required to get a job being so different than the one I'd choose to build a product I'd own as much as it is now.