Hacker News new | past | comments | ask | show | jobs | submit | slillibri's comments login

HCL isn’t a programming language. This seems to be the main misconception about it and Terraform.

Any sufficiently large configuration language eventually becomes Turing complete (or close to it). See HCL, GitHub actions, kubernetes.

Kubernetes is not like the others in that list because it remains a declaration of intended state. There are for sure no "if", "loop", or even variables in the .yaml files. You may be thinking of the damn near infinite templating languages that generate said yaml, or even Kustomize that is JSONPatch-as-a-Service. GHA is not like the others because it is an imperative scripting language in yaml, not a "configuration language"

> Kubernetes is not like the others in that list because it remains a declaration of intended state

Mutation via hook?


It’s so infuriatingly close though which is what makes it so fucking annoying to work with. It has loops, conditionals, variables…

Indeed, it's the worst case of uncanny valley syndrome!

The US supported Chaing Kai Shek and the Nationalists over Mao and the Communists after WWII. Also, Mao was a staunch Stalinist so there is the holdover tension there. Mao continued with that even more so after Stalin died and was determined to be basically the Stalin of Asia.

Also China was abused by the west prior to that, though mostly Europe so there is probably no love lost there.

I would recommend Frank Dikötter books on China, The Tragedy of Liberation, Mao's Great Famine, and The Cultural Revolution.


1) I use terragrunt to generate all the 'boilerplate' files, for example the backend configuration to ensure they are all in spec.

2) I use terragrunt to provide inherited values, such as region, environment, etc. I have a directory tree of `dev/us-west-2/` I can set a variable in my `dev/environment.hcl` that is inherited across everything under that environment. This is useful if you have more than one dev, prod, etc environment.

3) I use terragrunt to allow shared, versioned root modules. I don't include any terraform in my terragrunt repo. The terragrunt repo is just configuration. In my terragrunt.hcl I can reference something like `source = "github.com/example.com/root.git//ipv6-vpc?ref=v0.1.3"` to pull in the version of the root module I want. Again this is useful if you have multiple dev/stage/prod environments.

None of this is actually possible with plain terraform.


This is exactly what I'm talking about.

Using variables isn't supported in backends - e.g. "niche places" (although it sounds like it is in OpenTofu)

And #2 and #3 are exactly the use-case for just regular old tfvars files and module imports.

Terragrunt encourages you to abstract things way, way too far, until you have an absolute mess of tangled imports and deeply nested directories.

Nothing wrong with having a root module, some child modules, and a single tfvars file being fed in on the front end.


Point 1 is absolutely a downside, at least for people near the court. The city decided that putting a pickleball court across the street from my building would be a great idea, and now my summers are filled with the pock-pock-pock of pickleball. From 9am to 8pm nearly every day that is nice. Also, since we cannot have nice things / people are assholes, they had to come back and put up an 8 foot tall fence because people were simply stepping over the shorter fence and playing until after midnight.


Citizens aren't represented in the Senate. Citizens are represented in the House of Representatives. That's why California has 52 representatives and Wyoming has 1. The Senate represents the state itself, which is why each state has 2 senators. This misunderstanding of the difference between the House and the Senate needs to end.


Indeed, California has 52 times the representation but about 80 times the people. That disconnect is why the cap on the size of the House needs to be lifted.


Who confirms judges and heads of various departments? The House is powerless compared to the Senate.


Without the Senate, the United States of America would have taken a lot longer to congeal than it did. If it ever did.

The popular election of senators fundamentally changed a lot about how American government works - senators elected by state legislators (which was the usual method prior to that) are beholden to a very different pressure group with very different interests than the populace at large.

Now, they did go about the change properly. So points there. But at the time of the amendment, nobody really anticipated the Farm Bill (or, for that matter, Herbert Hoover getting into the positions of power he held prior to his election to the Presidency - where his performance was sufficiently strong to get him elected to the top job).


Honestly, it seems like their principle lately is actually 'Do dumb shit'. They have been gradually making the app worse with the only goal being moving customers to the most expensive subscription tier. For example, I am a Super tier subscriber (not Max) and they decided that paying to not see ads doesn't apply to them showing ads for the Max tier. They also are pushing their AI (I think) 'video call' feature which I have no interest in. I have been a long term subscriber but I am not renewing in April. It's just not worth it anymore, and this doesn't even take into account issues with the language lessons themselves.


A Pizza Mart is open until 2am, at least in Belltown but you can only get a medium for around $20.


Alternatively, treating the “random telephone operator” as a prop and forcing them to be part of your project without consent is troubling.


I do not believe that you are genuinely troubled by this.


I mean... I'm not troubled by it, but as a person who has worked in a job where I received direct calls from the public that I had no choice but to deal with it, I am definitely annoyed on behalf of the operator. It's not the worst thing in the world, but... wow, what an annoying day. Can you imagine six months later, you hear your most annoying day at work played on an album?!


As a former telephone operator from this era who spent most shifts frantically bubbling scantrons as business men rattled off their calling card numbers and call numbers at lighting speed, I would have been delighted by this break in routine.


> frantically bubbling scantrons

I want to know more!

I assumed numbers were entered directly on a 10-key. Were they scantrons as a paper record, as an asynchronous way to enter the data, or?


It was a paper record of every (paid) phone call. This was in the 80s before the switch to digital. The front side had the origin and destination numbers, the back side had the calling card number.

Also--we didn't use a 10-key! Our keypad was 2x5 rather than 3x3, and inverted (low numbers at the top).


"one ringy dingy... two ringy dingies" - Zanni probably

for the uninitiated https://www.youtube.com/watch?v=RT4__Nz5HWY


It’s their job. I “forced” them to be part of my project of making collect calls hundreds of times.


In the time, and given the nature, it is harmless. Certainly compared to modern attempts at pranks, advertised to the world instantly on SocMed.


Agreed. Not monstrous, but troubling.

It is bizarre that people are smugly dogpiling on you for showing a shred of empathy.


Excessive empathy is not a virtue.


It's not actually empathy when the motivation is just to criticize someone else.


I'm sorry, but "At what moisture level do crackers become soft" isn't complex syntax. I would simply blame lack of basic literacy taught in schools, and the 'whole word' method. I would recommend the 'Sold a Story' podcast series[1] for more information.

[1] https://features.apmreports.org/sold-a-story/


That wouldn't explain why the biggest decreases are in older adults, who have been out of school for many decades.


I would say “at what moisture level do crackers become soft” is very general. What is a “moisture level?” They should be specific.

Though I guess half of the point is they want people to tease it out.


When it comes to evaluating literacy you take everything in the text to be fact and assume it makes sense. It shouldn't require any external knowledge or synthesis beyond understanding the language itself.

I don't like these tests very much because they live in a somewhat uncanny valley for me for the reason you're getting at. They're almost questions you would encounter in real life but play by different rules than people assume. Like no the question really is that easy, but you have to be told that because otherwise you'll assume you're missing something.


There are many people who can understand "What level does X happen at?", but do not understand "At what level does X happen?"


I would posit that perhaps this is exactly what this article is about?

I mean, we're not talking about complex grammar.


When I worked in web hosting (more than 10 years ago), we would constantly be blackholeing Hetzner IPs due to bad behavior. Same with every other budget/cheap vm provider. For us, it had nothing to do with geo databases, just behavior.

You get what you pay for, and all that.


Yep I had the same problem years ago when I tried to use Mailgun's free tier. Not picking on them, I loved the features of their product but the free tier IPs had a horrble reputation and mail just would not get accepted especially by hotmail or yahoo.

Any free hosting service will be overwhelmed by spammers and fraudsters. Cheap services the same but less so, and the more expensive they are the less they will be used for scams and spams.


Tragedy of the Commons Ruins Everything Around Me.


It's always evolving, but these days the most common platforms attacking sites that I host are the big cloud providers, especially Azure. But AWS, Google, Digital Ocean, Linode, Contabo, etc all host a lot of attacks trying to brute-force logins and search for common exploits.


AWS tries hard to keep its public IPs from getting on banlists.


They could put the backend on Hetzner, if it makes sense (for example queues or batch processors).


I had to try multiple floating IPs on hcloud before I got one that wasn't blacklisted on the k8s repos.


depending on the prices, maybe a valid strategy would be to have servers at hetzner and then tunnel ingress/egress somewhere more prominent. Maybe adding the network traffic to the calculation still makes financial sense?


At 0.02$/GB, it rarely does.


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: