Live data from Hacker News

Etcd, or, why modern software makes me sad

roguelazer.com

501–510 of 648 posts

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

#501

Earlier quoted context omitted.

React I have been thinking about, having worked with it a lot and also recently done a React / TS / GraphQL (GraphQL may have been the poorest choice I made; time will tell) project. I think React itself is awesome and I've always enjoyed it. While I'm not an expert, it's conceptual foundations and core abstractions felt right, and I do think it makes lots of frontend tasks simpler, especially for non-small projects.…

I have that rant daily at this point. Dev A: I need an API to CRUD Me: But we've been doing CRUD for 30 years without an API this is a small project Dev A: But I don't know how, its not best practice, my team lead agrees, here is a medium article, get with the times, etc. Me: Ok so you don't know how to do your job. Dev B: Here, put the React SPA in a Docker container and run it on some cloud its easy... Me: But all…

I made that comment once about "Soylent". (Remember Soylent? The nutritional drink?) That company made a big deal about their "tech stack". Not for manufacturing or quality control, but for ordinary web processing. Their order volume was so low that a CGI program on a low-end shared hosting system could do the job. But they were going to "scale", right?

Amusingly, they eventually did "scale". They started selling through WalMart in bulk, and accepted their fate as yet another nutritional drink, on the shelves alongside Ensure Plus and Muscle Milk. Their "tech stack" was irrelevant to that.

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

#502
post #478

Earlier quoted context omitted.

Thank you for taking the time to write this up, and the interesting anecdote. What I don't see though, is how is making a (g)RPC call any different from making a REST call? Like you said, the REST call is supposedly more explicit, but at the end of the day, it seems more of a convention and some hard underlying difference. What's the difference between `httpClient.get("...")` and `grpcClient.foo(...)`?

The latter encourages you to model things as remote procedure calls, the former, well, in my experience it's open to incompetence and abuse, too, so... ehh... but done properly... well, go read the Roy Fielding paper :-) I mean, internally at Google we have load balancing for grpc (I'm sure the outside world does now, too, but it was new to me when I joined) -- but load balancing HTTP requests containing readable JSO…

Thanks again for the detailed response.

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

#503

Earlier quoted context omitted.

> But you can't curl the state of your infra component without creating a program and downloading the client artifacts. You can if you enable server reflection[1] and use a tool like grpcurl[2]. [1]: https://github.com/grpc/grpc-java/blob/master/documentation/... [2]: https://github.com/fullstorydev/grpcurl

> tool like grpcurl Not available in any repositories and largely unknown to general masses (much like gRPC itself). Personally I like gRPC and sometimes use it in projects. But the author is right — attempting to gradually replace an existing HTTP API via gRPC API is like replacing horses with genetically modified cows. You need a very... corrupt mindset to ever attempt anything like that.

So... being a comment from that "guy" that made the original comment :-)

To reemphasize the problem with grpcurl.... it's _still_ static. You must download the artifact. It's like needing a different phone for every person you call (protobuf artifacts) instead of calling different people on the same phone (same artifact, different address and data in payload).

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

#504
post #466

Earlier quoted context omitted.

Trusting the isolation like this is absolutely misguided, to the extent that it’s in conflict with understanding how computers work. Those who do not remember rowhammer or spectre and their kin are doomed to repeat them. As for your example, there’s no difference between that and OS mediated mandatory access controls, separation of uids, chroot etc. Those capabilities are present irregardless of whether you’re using…

I feel like you are several metaphors removed from me right now. Rowhammer? Spectre? I am just trying to serve a couple of websites here! I'm not going to buy another rack of servers just to isolate the two. Have you seen how expensive those things are? > Anyone selling you on containers as a security measure is pitching snake oil. They are a resource allocation & workload scheduling tool. I agree with both of these…

> I am just trying to serve a couple of websites here!

Don't underestimate your responsibilities as an active participant online and operator of a globally reachable computing resource. Like driving a car, if you're not fully qualified and alert then you can endanger yourself and others. This is how PHP got such a bad rap.

The fact that the container deployment tool has helped you configure security elements (such as limited filesystem access) is nice, but those elements already existed, along with the tools to manage them. Containerized software deployment did not invent them, and if you're getting procedural benefits from containers, that's great for you, but that's all it is.

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

#506
post #360

Earlier quoted context omitted.

Revisit this comment of yours in a decade.

A decade is a long time in software engineering. Kubernetes would be obsolete by then. What do I need to revisit?

> A decade is a long time in software engineering.

Is it?

Code I wrote literally 20 years ago is still running in production, and I get paid to work on an app with plenty of code around that was first committed in 2009.

If you build a system in k8s today, and it's a success, there's good reason to believe you'll be on k8s in 2030.

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

#507

Earlier quoted context omitted.

So how would you operate each of these bespoke services? One service uses TCP, one uses UDP, one uses SCTP. What happens if your buffer sizes are incorrect? What about if your keep alives are too aggressive? What happens if a problem in your TCP connection pool makes it seem like there's a networking issue and so you play around with your network settings only to have all your other protocols dive in performance? I s…

That's a very good argument against the modern framework-conatiners-k8s stack. We used to be able to keep an organization wide track of things such as tcp services, buffer sizes, timeouts etc. but now it's all a black box deployed by a guy who cut and paste some yaml from a Medium article, at best. It's probably acceptable to not learn the details of what you're doing, as hardware is cheap and all that, but it also c…

Hopefully any organization that decides to use k8s goes into it understanding what they're getting into, but yes if you just get onto the hype train without thinking, you'll probably have a bad time when scaling.

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

#508
post #238

Earlier quoted context omitted.

describe the steps to release the simplest ever code in javascript to production: write a js file, host it, done. The same thing in TS adds at least one step (not to mention the rest of the tooling you will want) So while a prefer it over JS, there's no arguing that it is more complex as now you require a build step for a language that only exist because people wanted a language without a build step.

Almost nobody does Javascript without a build step these days, unfortunately. I miss those simpler days.

If you don't need IE support and only care about modern browsers...

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

#510
post #334

Earlier quoted context omitted.

I'm alarmed by the way you've brought up Mikey Dickerson completely unprompted (both here and in the OP's comment section), and that your account is just two hours old. It's fine if you take issue with the Silicon Valley mindset in government IT, but there's no reason to make it personal.

I’m alarmed by you reading my admitting it’s a shame to actively lobby to disassemble what he’s built and walked away with a sense of attack instead of my deepest respect for him conflicting with my views on the environment he brought with him not necessarily being the answer. For better or worse, he’s the face of bringing Big Web out here, and I mention him to indicate that I know what I’m talking about. Your interp…

The reason it seems like an attack is due to the hostile tone of your comments, the burner account, and the unfounded/unsourced accusation that USDS left its partners behind.

I apologize if you just wanted to discuss the merits of a startup-minded approach to government IT, but I'm honestly skeptical of your motivations. USDS ruffled many feathers among the entrenched IT interests, and I've seen what the propaganda response looks like first hand.

If you really believe that you're fighting the good fight, then I'd welcome a direct conversation. Even a phone call if you like. I promise that I'm not in any way similar to a QAnon believer.

Post reply on HN