Live data from Hacker News

Etcd, or, why modern software makes me sad

roguelazer.com

221–230 of 648 posts

Re: Etcd, or, why modern software makes me sad

#221
post #61
post #35

Author is really good at discrediting themselves straight off the bat in one sentence: > for a ~~bullshit~~ unsuccessful project called CoreOS Container Linux that was EOL'd several years ago CoreOS was actually quite successful to me as an outside observer. It had decent paid user base as well as people using it without paying. It has showed people that Chrome OS can be used to build atomically updating host OS with…

My team ran about 50% of a Fortune 500 software company on CoreOS up until a few months ago when we migrated to Flatcar. We even paid a lucrative support contract while we ran it. I can count the number of major OS issues we had with it over several years on one hand- and we've had even better success with Flatcar so far. Calling CoreOS unsuccessful is a massive misunderstanding of the market.

Maybe you're right - it's not unsuccessful after all, it really is a bullshit project... Now _every_ part of the OS is in a container! Wheee!

https://en.wikipedia.org/wiki/Container_Linux

(for those who don't know, it was renamed from CoreOS to Container Linux)

Re: Etcd, or, why modern software makes me sad

#222
post #5

"Kubernetes is the worst thing to happen to system administration since systemd." I'll take that quote into my fortune file.

What are some of the arguments against `systemd`? I've used it in several production systems and don't really have an opinion on it.

I for one think the team behind it and especially Poettering have incredibly bad taste in software, which bleeds into their designs, and possibly the worst attitudes and culture of any major OS initiative, making Linus look tame (hell, at least if he got bent out of shape he was usually right, and not just throwing a tantrum because he could get away with it). I don’t necessarily disagree with it’s goals, even, I just think the implementation’s not great and the team are, largely, self-righteous jerkasses. See links others have posted here, their attitude and demeanor’s pretty out-there.

Re: Etcd, or, why modern software makes me sad

#223

Earlier quoted context omitted.

Almost like with etcd, it started simple, but got expanded into a huge incomprehensible monster by the original developers. Politically and business-wise, systemd is a clear win for Lennaert and his clique, as well as the whole Redhat/IBM. But I am sure that future historians will view the impact of systemd on computing as largely negative.

The systemd/RH relationship is complicated. Red Hat doesn't use most of systemd's features--they don't even ship systemd-networkd on RHEL8, preferring NetworkManager instead. On the flipside, I see more use of systemd's features on Arch or Debian. I don't think you can frame systemd as some kind of RH trojan horse when so little of it makes it into RHEL/Fedora.

So while Arch ships everything, and being Arch it doesn't really have a default, its recommended networking system isn't systemd-networkd but rather netctl, which is basically everything systemd-networkd should have been.

Re: Etcd, or, why modern software makes me sad

#224
post #170
post #161

Earlier quoted context omitted.

Meh, having your opener call out a specific project as bullshit has that effect. Pulling the snark would have resulted in more people getting the main point.

Perhaps the people who treat CoreOS being called bullshit as dispositive of the entire thesis, and an inclusion worthy of disregarding the author and thinking of him in any way other than making an argument, aren't the intended audience. Pull the snark out and there will remain any element of this post that kicks off a violent HN centithread that conveniently avoids the core issue. You know it, I know it.

Snark directly related to the main point is fine. The CoreOS comment is unrelated.

In fact the author liked etcd in the time period when it was directly associated with the "bullshit" project. And even mentions "but that doesn't really matter".

Bashing K8S is at least related to the main point.

Re: Etcd, or, why modern software makes me sad

#225
In a world of space architects and ignorant cargo cult practitioners, this post is a breath of fresh air. While some might find the style vitriolic and “toxic” it’s nothing but honesty peppered with salty experience.

Having said that, the guy represents the old guard of tech, the kind of people who ask “why do you want to do this” instead of trying to help you, and usually follow this up with a useless suggestion for an alternative that sort of does what you want but not really. Thanks, I guess. They have a very concrete idea of how things should be done, new ways of doing old things are frowned upon, and anyone challenging their “authority” is seen as an imbecile.

I had the dubious pleasure of working with such a man a few years back and while I couldn’t but admire his technical expertise and competence, I grew to hate him to a degree that would rival that which the author of the blog post hates Google. Get off our lawn, old geeks! You’re not the only ones with opinions around here.

Re: Etcd, or, why modern software makes me sad

#226

Earlier quoted context omitted.

i went trying to learn how to make my linux box do something at startup. as somebody learning how to use my linux, systemd clouded the discovery process of learning how to linux in the intended way. i ended up using systemd, but now that's the thing i'm familiar with if i want to add some service to my computer... so it has infected me with some non-linux-y knowledge that won't go away soon.

Also compare it to doing things the Windows way: Something to run on startup? Put it in the "Startup" (magic) folder. Want something to do the things a service does, where it gets auto-restarted and auto-run and even logs success and failure? Like three clicks can run arbitrary anything using the scheduled task GUI and things get auto-logged in the Windows Event Log

i guess if i wanted windows, i could use windows... right?

edit for tone:

sry, that sounded saltier than i wanted. i actually went to linux because i was convinced that was the better way to do things, and i wanted to do things the better way.

i trust neckbeards over most others.

Re: Etcd, or, why modern software makes me sad

#227
post #189

Earlier quoted context omitted.

The author is talking about keeping things simple which is not a bad idea. I am genuinely interested in why etcd switched to gRPC?

First of all etcd API is still available on a JSON interface. https://github.com/etcd-io/etcd/blob/master/Documentation/de... and some historical discussion here: https://github.com/etcd-io/etcd/issues/1980 Many reasons to switch from JSON to gRPC: * gRPC uses HTTP/2 which means you can concurrently make multiple requests on a single TCP connection, while on a typical JSON API which probably uses http/1.1, you can't.…

"The gateway accepts a JSON mapping for etcd's protocol buffer message definitions."

Was a "JSON mapping for etcd's protocol buffer message definitions" the original "HTTP API"?

"A Critique of the Remote Procedure Call Paradigm" (https://pdfs.semanticscholar.org/e125/57a7582881a62040eee68b...)

"A Note on Distributed Computing" (https://github.com/papers-we-love/papers-we-love/blob/master...)

Re: Etcd, or, why modern software makes me sad

#228

Earlier quoted context omitted.

Agreed. I saw it as a general lament against over-engineering. I don't think the point got lost in the super specific example... You could just as easily level similar rants against the likes of React and it's wider ecosystem, Tensorflow, Typescript (many will disagree), Docker... I'm sure others have their own bugbears. Much of this is subjective, of course. But to me, it feels like software development is trending…

TypeScript is a funny one. I love the language, but at the same time, I totally agree with the premise that it is unnecessary complexity! And yet I swear by it. I can't explain why there's not more cognitive dissonance there. JavaScript taught me to love async, then functional programming, and TypeScript taught to me to love static types. I'm now desperately wishing for a world of OCaml/Haskell, but where are you goi…

You hit the nail on the head with tool chain complexity. Transpiling adds yet another layer in a stack that's already deep. Web isn't my field but it looks like from the outside that obsevability[1] is also lacking. Some friends that are in web programming mention a lot of younger engineers don't realize how bad it is.

Re: Etcd, or, why modern software makes me sad

#229
> In 2015, an unrelated tool called Kubernetes was released by Google (but, really, by Xooglers). I would go so far as to say that Kubernetes (or, as the "cool kids" say, k8s) is the worst thing to happen to system administration since systemd.

This, I think, is the key to understanding this whole rant. It is entirely of a piece with the anti-systemd crowd, and I think understanding what was really going on there helps explain this rant, and a lot of other agita in the community these days.

Like, if you followed the drama on the Debian mailing list, it could sometimes feel very surprising that they were willing to go to war over the least sexy thing ever, an init system. Part of the reply is that systemd is more than that, it's a bunch of low-level plumbing all lashed together. But, who cares about low-level plumbing that much?

The answer (other than 'the exact sort of people who run Debian') is this. Linux started off as being written by hobbyists, for each other. It was very often a labor of love. Even the people making money off it weren't doing so in Big Business sort of ways. Linux and the associated stack around it is being taken over by a lot of big corporate interests: Intel, Red Hat, Google, even Microsoft. Are they bad? That's a matter of opinion. Are they inept technically? Probably not, but a lot of it revolves around how you measure things.

But what is absolutely happening is that people who are paid to maintain these projects on the behalf of large corporate interests are more plentiful, both in headcount and in personhours, than people who are maintaining these things for each other. For people who were used to Linux as this anti-corporate space, that's a huge and distressing change. And they can feel powerless against it, because it's really hard to reach a critical mass of people who feel the same way as you, and are willing to do all the things to not just support a fork but to keep the rest of the ecosystem they live in open to the fork.

It's not about any one piece of software, and it's not _really_ about pure technical merit. It's about the culture and the system of values and the way that decisions are made and it's about who's in control. The author's complaint isn't so much that the Google style is bad (although I'm sure he believes that very strongly), but that it's harder and harder to find somewhere to escape its reach.

Re: Etcd, or, why modern software makes me sad

#230

Earlier quoted context omitted.

That actually raises the oldest question in open-source engineering: If the HTTP API has value, why not fork etcd and maintain a version where the HTTP API is the primary interface and gRPC is an afterthought or missing?

because then you'd have to maintain it....

As it stands, the version with a gRPC API has to maintain the HTTP API.

If the HTTP API has value, the cost to maintain it should self-justify, right?

Post reply on HN