Hacker Newsnew | past | comments | ask | show | jobs | submit | kubectl_h's commentslogin

Exactly how I feel about Python!

I'm a dev that jumped to devops and one of my pet peeves will always be the lengths devops engineers go to avoid using a real programming language. Instead of interacting with all these APIs through python, ruby, lua, go, whatever they would rather build hodgepodge systems in bash, coreutils, curl (or wget. or both!) and jq (which is the worst). Or in the case of helm, just creating a half yaml/half Go SDK for generating YAML.

Even the helm infrastructure that I work in is completely wrapped in custom shell scripts that call all sorts of other commands to populate helm variables.

But yeah it's silly that helm templates require all sorts of {{ indent | 4 }} type incantations when the final YAML output is just sent through some kind of toJSON anyway.


You'll often find that if you write ops scripts in, say Python, it's largely calling external commands.

When that's the case, bash if often the better choice, especially if you know it well. It has an excellent REPL, is easy to trace and is already installed everywhere.


> You'll often find that if you write ops scripts in, say Python, it's largely calling external commands.

That's a totally fine trade off for actual sane array/list functionality, robust string manipulation etc. I'd rather form shell commands in a programming language than in bash. People seem to love it.

I do not think for a second though that the average person that "knows bash well" can read and comprehend a multi hundred line bash script written by someone else as fast or even correctly has a seasoned python dev reading python written by someone else.


> the lengths devops engineers go to avoid using a real programming language

OK, but, you know... those tools were created by literal devs. Not in yaml, in a "real language"! So apparently devs thought they needed that.

The argument should be towards all people - we love creating new abstractions and "simplify things", but we suck at honest evaluation of the impact of our creations.

Still: I absolutely hate Helm templating and think that the very existence of "helpers" (even in a default chart!) is an abomination.


> OK, but, you know... those tools were created by literal devs.

All `kubectl` does is create REST API calls to the control plane. So to be fair, what I'm grousing about can be accomplished just fine by a developer like me constructing API calls from python to update objects in k8s.

The problem is I work in devops where tooling written in proper languages with standard libraries that have things like useful arrays or robust string manipulation or ergonomic concurrency is a non-starter for some reason. The argument against that being mostly "I have to install the interpereter first".


Now we get to the point - you are unhappy with how your org/team handles it. Would that be better description? Don't put all DevOps in one basket. It's a messy term anyway.

Many orgs and many teams allow that. That's why alternatives to Helm exist like cdk8s, or Pulumi for rest of infra.

For Kubernetes there is such a variety of tools, it's overwhelming. The only problem to tackle is that Helm/Argo is so popular, that alternatives are hard to sell regardless of real benefits.

Look at how big is a scene of Operators for k8s - this is where the programmable part of k8s went. You configure operators with their own CRDs (usually) that can be static/plain declarative text. Then you write actual code of the operator that deals with all the complexity of enforcing that state. For me this is where typically what you are talking about goes, while high level "non programmable" code sits in yaml in a other repo for others to maintain. Maybe this is where you should also go, standardize your work for others to consume in a form of operator?

I fully get neglect in adopting more complex tooling. sh, curl, sed, awk... those things are present almost everywhere and it's not that hard to get lucky and make a script that will run on almost everything your org has. And it actually might be fine for a decade or so.

I myself could not do code (even scripting) because one of my companies literally treated scripting in anything as development which was strictly regulated (so forbidden for any non dedicated dev role). Or an org that had not a single server in whole DC that has Python 3, years after it's release. Or more recent: some damn Ubuntu LTS that can't be easily upgraded to just 2-3 minor versions that this cool k8s library uses. Maintaining python versions on VMs is a pain in the ass, especially if your org has strict controls. Internet access to pip is not granted as well. UV gets the job done nowadays, if it's allowed, but long story short: that "fear of real language" can be as much lack of knowledge/skills as pragmatism that came from painful experiences.


Similarly: though William Jarvis wasn't the first American to import Merino sheep, he was the most successful because he was able to utilize an ongoing war in Spain to circumvent around the Merino export ban in the early 1800s and get a ton of them over here, too. He was even a diplomat to Spain and probably knew better, but did it anyway.

> Just curious, are there similar sites recording the repeated terrorist attacks against Israel?

From your parent comment:

> I've spent my life watching news reports of bombings at their border, bus stops, public squares, their fathers, mothers, sons, daughters, and children picked off.

There has never been a time in the last 30 years where attacks against Israel were insufficiently covered.


Another article on this: https://archive.ph/DOCG0

Personally I think it's fair if you buy the tickets the way any random person might try to buy all the combinations, which would be to pay people to go buy combinations at gas stations.

But that's not how this worked in this case:

> The Texas Lottery Commission helped in several ways behind the scenes. Prior to the draw, it filled rush orders from the retailers requesting dozens of extra terminals — even though three had sold few, if any tickets in the previous months.

>The agency also did not challenge organizers’ method of rapidly entering millions of ticket orders into state terminals. Their use of personal iPads and preprogrammed QR codes appeared to skirt lottery regulations.

If the lotto commission is fine with groups purchasing the lottery, they should make the mechanism for purchasing the lottery equally available to everyone.


You have to do the tracing anyway if you are going to sample based on criteria that isn't available at the beginning of the trace (like an error that occurs later in the request) and tail sample. You can head sample of course, but that's going to be the most coarse sampling you can do and you can't sample based on anything but the initial conditions of the trace.

What we have started doing is still tracing every unit of work, but deciding at the root span the level of instrumentation fidelity we want for the trace based on the initial conditions. Spans are still generated in the lifecycle of the trace, but we discard them at the processor level (before they are batched and sent to the collector) unless they have errors on them or the trace has been marked as "full fidelity".


* Node bringing JS to the backend.

* Python won in data science/analytics and AI/machine learning

* Python also seems to be the high level language used most in academia for non CS engineering (and CS too)

Rails continues to be relatively popular in early stage companies. Plenty of well known companies started with Rails in the last 10+ years and it continues on as part of their stack.


I dislike tipping culture too but the idea that you would pay more so you don't have to tip doesn't make any sense. Additionally you are paying more so you don't have to tip and the thing that enables that is the literal job a human would otherwise have is destroyed.

So bizarre. The levels people will go not to deal with any conflict, no matter how trivial it is...


I get what you're saying, but I think there's a misunderstanding. I would opt for something like Waymo, not because I'm trying to avoid people or conflict, but because I prefer a system where the pricing is clear and all-inclusive.

It's not that I don't want people to be paid. I just believe compensation should be built into the cost upfront, not tacked on afterward through a tipping system that creates unnecessary pressure, especially when ratings are involved.

This isn't about replacing people. It's about preferring a model that's transparent, predictable, and fair without making customers responsible for patching up systemic pay issues.

Everyone has their preferences—this is mine, and I'm comfortable with it.


An hour later and everything is a mess in central-1. They seemed to jump the gun on that one. Doesn't matter if some dinky service like "AutoML Vision" is working, if GCS isn't, then they shouldn't post an optimistic message.


There is a surplus and salvage chain in Maine called Mardens. It's been in business for 60 years and basically purchases pallets or shipping containers full of products that were written off by retailers for some reason or another and re-sells. They take the highest price they can find online and discount the product 20-40%. Sometimes you'll go in and run across really high end products that could easily be sold at full price but they don't really seem to care. Think a Moccamaster coffee maker or Arcteryx jackets. Most of the time it's junk. In any case it seems like they buy at some percentage on the dollar (20, 30?) and resell at 60%, regardless of how expensive it is. Seems like it makes more sense to make a consistent profit in volume rather than optimize profit on individual items.

Fun store to stop by and check in on in every few weeks.


I like that model. If they have the shopper traffic to move stock, I'd guess the 20%-40% discount off highest online price is better than they could net by selectively diverting that item to online.


They definitely have the traffic. They also do not advertise much of what they have, I'm guessing due to agreements they have with the original retailers, so you never really go there looking for something specific, you just kind of go hoping they have what you want or just to browse around. They are a bit of an institution here, where people are pretty frugal in nature regardless of how wealthy (or not) they are.

They will also magic-marker over the original retailers labels, but you can usually see where the product came from. For about a year they had inventory from the Texas sporting goods chain Academy, including apparel from various regional schools in Texas. Mostly Houston and San Antonio. My guess was all that inventory came from stores that were partially flooded by a hurricane.


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: