you know, I live in one of those countries that traded licenses for power.
Microsoft demanded a software self-audit from our company (we use Linux on 100% of our computers). When we refused they reminded us that it was mandatory, otherwise they would send an auditor who will access our premises with a judge's order (with cops and everything) to do the audit and then bill us for their time, even if they don't find computers running windows.
are you telling me that I'm an extremist or something for avoiding MS' stuff when perfectly fine alternatives exists?
What I mean is that if you many (most?) web applications run on Linux. There are a set of applications and libraries with which Linux users and admins are broadly familiar. In general, .NET is not one of those.
And that's fine! .NET is obviously very successful and runs a huge percentage of the biggest sites on the Internet. BUT if you're talking about replacing Redis, a Linux stalwart, the unfamiliar runtime is a thing. Besides, Redis in particular does not require special dependencies to be installed.
(Out of curiosity, I clicked from the Garnet page to the .NET install instructions. 7 clicks deep into the MS documentation are the relevant apt-get commands. Starting from redis.io is almost as bad, but because Redis is already standard, nobody would start there.)
I don't think this kind of discourse belongs to HN in the first place, as it is driven by tribalistic behavior which is just shameful.
I get the pain at seeing a snap judgement against a valid virtual machine. But we just don't have the wide scale practice of running that virtual machine, like we do node or python or jvm or rails. .NET has long been a very distant satellite practiced by people who are not like us, who don't run Linux.
It's no longer a hard barrier to cross (running .net on Linux)! Many people do! Yay!! But it still feels like a separate world from a separate place & circumstance.
You are, quite literally, criticizing a tool that integrates better and requires less ceremony than other options listed or assumed (consider the amount of ceremony your average process of building Redis Server requires). It's been 8 years already, and nothing needs to be proven anymore, it's more of a matter of persistent annoyance to deal with this sentiment. That's all.
What makes me sad personally is that this kind of sentiment encourages making worse software products by promoting less convenient, slower and of poorer quality choices over a better technology.
It's not a giant conspiracy theory. It's not some underhanded badmouth campaign.
.NET comes from a very different background that was remote from what everyone else was doing. That's just a fact, that's a true history, and it matters.
But you can't seem to face that truth in any way. And are aggressively crapping the hell out of this Redis thread with outrage that we haven't welcomed you by laying out the palm leaves & celebrating your entrance.
I'm extra shy of Garnet because of this incredibly over-the-top mercenary & reckless assault on discourse, and your attempts use shame and force to mute anyone trying - even gently - to discuss .NET hesitancy.
And it's not helping ya'll's case that snarky snippey non-reply attacks are what we are seeing on display from advocates in these threads. You an neonsunset have 13 replies between you, where you've attacked and assaulted and belittled anyone trying to do much as mention that .net is a bit off-brand for Linux & sharing some discomfort with it. I've never seen an appeal for popularity that relies on overwhelming force like this, very novel attempt!
libc6
libgcc-s1
libgssapi-krb5-2
libicu72
libssl3
libstdc++6
zlib1gVs just running a binary. So simple.
People put up with Java for a while but it’s declining in popularity.
"apt install redis-server" on my server says that the following will be installed:
- libjemalloc2
- liblzf1
- redis-tools
Garnet requires .NET, so...
apt install aspnetcore-runtime-8.0
Acting like Redis works "out of the box" while Garnet requires a whole other paradigm shift is disingenuous. I have no dog in the fight - I use macOS and I don't use Redis or Garnet.
While on the topic of macOS, Swift Library Evolution ABI support is coming .NET for native integration with Swift (particularly for system APIs). I have not tried it yet but it's an interesting feature AFAIK no other language has, well, besides Swift itself.
https://learn.microsoft.com/en-us/dotnet/core/deploying/sing...
So simple.
Part of what was so liberating when Node was emerging is that it's so so so configuration less. Python is still fighting to figure out what a package is & where libraries go, and how does work. That was moot with Node, not an issue, because node_modules is the thing & it's almost always local (Debian valiantly fighting to system wide that). .NET has orders of magnitude more carried assumptions & confirmation than Python.
It's super awesome, a lot of it has great reason & power for being there. But this idea that runtimes are black boxes & we ought not notice or care is a day 1 experience that your day 2 engineers may swear at you at over.
https://microsoft.github.io/garnet/docs/getting-started
https://microsoft.github.io/garnet/docs/getting-started/conf...
But you haven’t, because posting FUD is more important.
But it's presenting the impression that it's a blackbox, that it's just Garnet you have to configure.
But there's a huge vm under the surface of this facade, and you're not showing what the rest of the iceberg looks like in these docs. No vm is free of tuning. Not Java, not node, not .net, and they all have specific learned natures.
It's concerning not encouraging that Garnet doesn't even begin to respect that, that it presents itself as a neutral blackbix binary when there's so much more here.
I'm really shocked at the complainy whiny petulant tone that any remotely critical point of view is met with. I've never seen a group of people so brazenly so aggressively insist we should have no concerns, that showing any appreciation for nuance or difference is met with accusations of FUD. Terribly insulting to be bossed around like this, and I hope the rest of the .net platform advocates aren't think skinned & petulant. I don't think you'll get far trying to win cultural arguments by force.
Garnet looks awesome but this attitude of outrage anyone might for a second pause about .NET & that any concern is invalid and not allowed is absurd.
There's a comment stating that the project requires complex and involved configuration, and it's a problem. A link is provided in response that demonstrates it to be the opposite. Turns out, as a reply states, it is equally an issue, possibly because of an assumption that a VM-based language must come with a significant amount of required configuration ceremony (even though counter-points to this, like Go, exist). .NET is configurable, GC modes can be changed, at startup or on the fly (within certain limitations), compiler options can be adjusted, but the default approach is for the users to do as little input as possible unless something does not perform to their expectations.
> Running .net implies a lot, brings a lot of conventions and configuration with it, that's very dense. Dense and powerful and useful. But is it's own universe.
> that it presents itself as a neutral blackbox binary [0]
> .NET has orders of magnitude more carried assumptions & confirmation than Python. [1]
This was posted without verifying whether these statements are true or not, presented as fact. It is not unreasonable to be upset if it happens every single time. You could compare this to how Ruby community feels that whenever Ruby-related projects are discussed, someone is bound to come and point out how it has terrible performance and is therefore unusable (I was guilty of this as well). Emotional embellishments and holier than thou attitude are insufficient to reframe this. When facts change, I change my mind, and if a statement turns out to be incorrect, I stand corrected, and it has been a great boon for acquiring all kinds of tidbits of technical knowledge here so far. At the end of the day, this is an informal setting, therefore the rules of HN and internet etiquette apply first and foremost.
[0]: instead of easier to use pre-built docker images, quickstart guide ends up pointing to just cloning the source code, and doing build+run (dotnet run -c Release). This is as far as it gets from a blackbox binary.
[1]: it only makes the assumptions that are safe to make, which are the same most other platforms are subject to - that certain POSIX and Linux (or macOS/FreeBSD) APIs and glibc or musl are available, that the runtime is present in the $PATH (or not, if an application is published as self-contained or natively compiled), that sort of thing.