Programming

Yeah we actually use consul for some non-service mesh stuff and one sorta service mesh hack.

The hack thing is we use consul as part of DNS resolution of some service URLs to avoid the extra latency of a load balancer.

I actually forgot that terraform is a hashicorp product. I’m sure it’s good when done well and with good module support. Supposedly our newer services get to benefit from this. Unfortunately the terraform I’ve had to work with is from years ago and written so poorly that no non-ops person understands wtf is going on and the ops people won’t refactor it and instead encourage moving everything to kube instead and starting from scratch defining the databases and shit.

Vault also is set up poorly at my company running on some ec2 instances that are apparently impossible to find unless you already know where to look. One of my services is the last one using vault and recently when we needed to change a secret we found out that nobody on the ops side knew how or where to do it anymore lol. Good point though about them being late to the game in making it easier to work with. We migrated almost everything else to use AWS SSM and the external secrets library for kube.

We had a big decision to go with terraform or not back in late 2018. I did a lot of research and came away with the impression that it might help, but far from a slam dunk to use it. I elected to just go with straight Cloud Formation so at least I’d understand what was going on.

serverless.com is great for lambdas. I use straight Cloud Formation to build code pipelines, API Gateways and a bunch of other stuff. It’s a pain and takes a long time to get right. But it works and I’m not afraid to customize it.

yea god do i have some horror stories about terraform, I’m only good at it by necessity now.

I think everyone hates it for good reason, and bad reasons, but yea I’ve had to untangle some messes and it often devolves into that even with the best intentions and expertise. the reason I think is tf requires you to be very “all in” on its ideology. namely, EVERYTHING should be done IaC, through automation workflows, gitops, etc. If you’re ever manually running terraform you’re doing it wrong. however, in devops shops, there are a lot of cowboys that take shortcuts or make wrongly informed decisions out of “ease” that end up striking you square in the ass way later. terraform’s ability to create massive technical debt is perhaps unparalleled in modern computing. like, idk if you’ve ever dealt with a bonafide terraform state drift but it is an utter nightmare that’s usually caused by devops engineers making little manual hotfixes in the UI and never importing them into the code or state. holy fuck that causes so many issues alone.

when PROPERLY done terraform is so great, but I understand why people hate it. there’s absolutely nothing else like it in the market and people like me prefer to use it so I’m convinced it’s here to stay.

for instance, in my “dream” scenario of setting up some kind of terraform based automation, I’d lock write access for every single engineer out of the UI for good, lol. good luck selling that to devops engineers.

1 Like

deploying lambdas is a huge pita with terraform, i had to do a pretty ingenious (in my opinion) tf hack recently to get the proper libraries loaded into the lambda, that shouldnt be necessary at all

Can you just deploy lamdbas using serverless deploy from codebuild? That’s what I do.

serverless.com was the one that everyone said was a slam dunk, including our AWS technical support guy. I’ve been pretty happy with it.

not super familiar with codebuild other than what it is and working with similar products elsewhere such as bitbucket pipelines. I’ve worked mostly in multi-cloud or on prem environments where this wouldnt be a good option (plus a reluctance in my soul to become overly reliant on aws, I like the ability to tell a cloud provider to go fuck themselves without any fear)

that’s the catch 22 with terraform though - once you’ve committed to it you’ll run into something goofy like a python lambda which in my case was a literal 25 line script that just needed the “requests” library or something silly, and it involves me having to write a null_resource in terraform that calls a crappy script that packages and loads the libraries for me in whatever build pipeline it lives in.

of course there’s a million better ways to do that, like i now need to research what you just linked a lot more, but terraform requires a real commitment to its philosophy, I think. like, say in my tf solution i wanted to use serverless.com for my lambda deploys. well, fuck, now something in my infra exists outside my tf state and i’m gonna have to keep track of that somehow.

eta: having just written all of this, it’d be super fuckin nice if terraform allowed you to extend and customize modules in a way that allowed you to import your own custom-defined resources and determine how tf monitors its state. god thats such a good idea it has to exist already.

eta eta: from what i understand in your particular case it was almost certainly very wise choosing against terraform

People write multi-line lambda functions in Python? What’s the point?

Lambda abuse

1 Like

Might be talking about different kinds of lambdas here. AWS lambda is a stateless microservice container that can run node, python, C# and maybe some other languages.

Can you do a regex if on these bots to kick out stuff like “snapstream” or “subscribe”? Sadly will need a research team and 5 years to exclude baby pictures

3 Likes

It really feels like Chat GPT is going to eliminate ~95% of developers. How many years until it can just read your existing codebase and thus understand your business logic?

How is a framework like react or django any different then a bot playing poker?

I got to think putting together a non trivial project still involves way too many complex tasks that an AI can assist with but not fully complete on its own, but my oh my, R.I.P. graphic design?

Probably a long way from being able to take the words and ideas of a business person and putting them into an app.

Especially because a huge part of that task is organizing the business person’s thoughts for them, and filling in the non-happy-path 80% of the app that they don’t care about, but their users do.

And doing all that in a coherent way that’s ruthless about maintaining simplicity for as long as possible, including pushing back on business ideas that add marginal benefit but mushroom the complexity of the app.

And predicting how the app is likely to evolve, even though the business people can’t see it yet.

And then you have to build an app that’s flexible to predicted and unpredicted future change, but w/o guessing and adding in more complexity for any predictions until they become solid requirements.

And a bunch of other soft-skill, organizational-type stuff.

2 Likes

GPT won’t take over programming until it can do a decent job of reviewing code. we are probably closer to that than we realize, but like, i already have IDE give me gpt-like hints when i program, and i take them half the time. afaict, there’s no automated AI review yet, because that percentage isn’t good enough.

I’d be happy if GPT could just sort out nested-parentheses and curly braces for me. Is that too much to ask?

i feel like that exists in vscode, no?

Not sure, I use Sublime for various reasons. If it’s just red-squiggles under the very last curly brace at the bottom of the page, that isn’t usually helpful.

Yes I know there’s something wrong, help me figure out where. Which is exactly what AI is supposed to be able to do.

linting rules could be considered automatic code review.

in general code reviews look for program standards and business logic/domain knowledge. the first is quite automated already with lint and prettier and import sorter and other tools.

cant even imagine hot to employ the second.