every time someone tells me about using llms for codegen, all i can think about is that old adage

"debugging software is twice as hard as writing it, so if you write to the best of your ability, you're not qualified to debug it"

sure enough i know several "don't call me a programmer" friends who find it easier to get starter projects off the ground, and these tools have helped a whole bunch

but they're the first to admit "if it doesn't work i don't know how to begin fixing it"

@tef so, I haven't had to debug this yet, because the integration work is not totally trivial, but I think I had my first success with this recently

I asked it to do a thing which github actions yaml that I knew how to do, but would be a truly mind-numbingly tedious amount of typing; about 100 lines of yaml all told

I asked it to do the thing, and it looked like it basically got it right, and it was a 1-line prompt for 100 lines or so of repetitive, basically branch-free yaml

@tef this is a place where, for example, the IP concerns don't bother me; github actions yaml, pyproject.toml, et. al. are already mostly plagiarized almost by definition

@glyph i get this but this feels like a solution to a problem we created for ourselves, rather than a problem we face

"what do we want" "for loops" "how do we want them" "either recursively templated yaml and/or a fancy markov chain"

@tef hey _I_ didn't make github actions

somebody showed up and said "hey would you like about half a million dollars worth of free computer for open source every year" and the cost was having to generate reams of tedious configuration garbage and honestly it's a pretty good trade, especially if they will give me an extra 100k worth of free computer to compute the tedious configuration garbage too

@glyph oh i'm not faulting you i just feel depressed about it
@tef right there with you buddy, this is a troubling direction for an industry already known for its overwhelming number of troubling directions, I really do want to figure out a way to encourage people to _actually_ solve problems rather than paper over sinkholes with increasingly large piles of papier mâché
@tef but, you know, counterpoint, I don't want to write that much yaml

@glyph god, same

i tell myself it's not m4 at least

@tef now I"m definitely going to have a nightmare where I type "llmlocal && llmconf && llmmake --add-missing && ./configure --actions=github" tonight
@tef okay so just to put a silver lining onto this festival of macro-themed dark comedy we've got going here, I _am_ autogenerating these reams of yaml in the service of writing a tool that actually manipulates chunks of it in a structured way, so that you can say something structured like "please open PRs automatically when new versions of Python come out" or "report coverage in a comment on a PR without using codecov" or "automatically upload to PyPI" without treating it as a text template
@glyph @tef After hearing for years that XSLT is bad because using XML to define a programming language is bad, it is funny to see YAML become a de facto programming language across most CI/CD platforms.

@xgranade @glyph @tef "it's not a programming language though, it's data". See? See??

# pay no attention to the fact that this
# looks like code. It's definitely data
- if: thing
run: build a
- if: ! thing
run: build b

@glyph @tef 100% accurate, instead of trying to reduce code we are actively trying to generate more of it, so backwards :<.

@glyph

i mean, sure, i'd train a neural network to avoid using autotools

but also i'd just avoid using it :-)

@tef @glyph To be fair, the software industry is full of absolutely absurd problems that exist because we're [pejorative] and refuse to stop causing them. Leetcode Interviews are another good example.
@tef @glyph
You could also do .yaml.j2 or something, but I can also see why you would not

@tef relatedly; iirc Microsoft claimed that LLMs was helping their engineers deliver code 6% faster. Two things immediately struck me:

1. That’s a pretty mediocre boost. There are probably way more efficiencies to be gained in just organizational quality, let alone other tooling.

2. I don’t believe them. I suspect they’re sweeping a lot of nuance and tech debt under the rug to achieve a result to justify other actions (investments, valuations, layoffs, etc.)

@Ashton @tef

Microsoft?

Sweeping technical debt under the rug?

They would never do that... /s

@tef Too many people write clever code that’s only understandable in small period of time that it is being developed. Later, usage, maintenance and debugging are immensely more difficult because of it. The KISS principle definitely applies.

@tef I wouldn't say it's any worse quality code than hiring in a big consultancy or offshore who spend millions and screw it up anyway, at least the GPT will attempt to write tests or documentation if you ask it.

There's always someone's fuck ups to fix - I do agree LLMs are there to give everyone just enough knowledge to be dangerous without guardrails.

It's a failure of leadership to allow that stuff anywhere near production without testing and validation.

@tef

TY. :D

I was trying to say this yesterday, but couldn't find the full quote. :D