▲ 14 r/moderndotnet+1 crossposts

Respire - A .NET Redis Client

Hey all!

Redis is a great technology, and something that exists in a lot of tech stacks. It has the ability to really help solve complex problems involving distribution across multiple instances of an app. Whether that be caching, locks, rate limits, etc.

Surprisingly, StackExchange.Redis is the only real big main redis client library for .NET.

I'm adding a new client library into the mix - Respire.

Respire aims to be a fast client library for Redis, that also has the ability to utilise Redis' client-side server assisted cache, avoiding network hops for frequently accessed keys, meaning better performance for your apps.

It also has a lot of helpers in it to more easily use distributed locks, rate limits, queues, pub/sub, etc.

I want it to be a client library that handles all the hard bits for you, keeping your code clean and easy to reason about.

It's still pre-release, so I'd like to gather feedback. Are people happy with the performance? The API? Any missing features? Any bugs?

Please try it out and let me know!

More info on why Respire: https://thomhurst.github.io/Respire/docs/#why-respire-exists

Benchmarks: https://thomhurst.github.io/Respire/docs/benchmarks

Stress comparisons: https://thomhurst.github.io/Respire/docs/stress-tests

Thanks all!

reddit.com
u/thomhurst — 11 days ago

Fork PRs using my quota

I try and do open source PRs here and there, and what I've noticed is, that when I create PRs on the upstream repositories, Github copilot may start reviewing my PR. However, it seems to take its usage from my quota, not the repository owners? (Which would still be bad I guess because spam PRs would eat their quota too.)

I don't quite agree with this though. Or at least ask me? It just seems to do it without any warning. I end up running out of my limit quickly, even though I haven't actively used it myself for coding tasks.

reddit.com
u/thomhurst — 2 months ago
▲ 1 r/github

Anyone else's homepage broken?

My activity feed hasn't updated in 2 days (and it's usually quite busy) and my left sidebar of my common repos is just blank. It starts with a spinner, and then just dies.

I opened Chrome dev tools and looked at the network tab and am getting 502 on endpoints like my_top_repositores and repositories_search.

Haven't seen anyone else mention this so is it just me?

reddit.com
u/thomhurst — 3 months ago
▲ 19 r/github

Bots posting viruses?

I've created 3 issues on my repo tonight, and just noticed someone else created 1 in a different repo of mine, and each time, within a minute, a bot has posted saying they've experienced that issue too, and come up with a "patch" to fix it.

They then link a zip attachment, that has an exe inside of it.

Clearly malware - anybody else experiencing this? I've reported all so far.

reddit.com
u/thomhurst — 3 months ago
▲ 36 r/csharp+1 crossposts

Dekaf - A pure .NET Kafka client

Hey all,

If you use Kafka, you're pretty much tied into using the Confluent package. I don't know if anyone else has had any challenges with it. I remember trying to debug issues, and the debugger was reporting native exceptions throwing on background threads, and it was very confusing trying to work out bits since it was executing C++ and you lose some control through that.

It surprised me that there isn't a mainstream pure .NET client, especially since .NET has some great performant APIs in new .NET.

So I've been working on Dekaf. A play on Decaffeinated (because Java is coffee, and java always seems to get all the love with Apache) and Kafka.

Open to feedback - thanks all!

GitHub: https://github.com/thomhurst/Dekaf

u/thomhurst — 3 months ago