u/DarkTechnocrat

496 post karma · 128.5k comment karma · joined Oct 2016 · moderator

DarkTechnocrat

Doh sorry. I misinterpreted what you were saying. I agree!

DarkTechnocrat

We can show pretty easily that a prompt does not always result in what the prompter asked for, in large part because it's non-deterministic. I've been trying this one for years:

"Chatgpt, write a joke that cracks me up"

Here was the last result:

Alright, here’s one that might land with your particular brand of technical cynicism:

A PL/SQL developer dies and goes to hell.
The devil greets him and says, “Welcome! Your punishment is debugging someone else’s code… with no comments.”

The developer smirks.
The devil frowns. “What’s funny?”

He says, “Oh, that’s just another Tuesday."

YIIIKES. Oooof

Another example would be "Write me an app that sells for a million dollars". The prompt doesn't really prove anything.

DarkTechnocrat

GOT ARRESTED FOR DRUNK AND DISORDERLY IN JANUARY

Mmmhmm, and are we surprised? We are not!

DarkTechnocrat

one state is natural

Come on. This is wildly subjective. You have made your opinion clear, and I disagree. There's no need to restate it. What I am asking is, how would you propose we resolve this, if on a team?

DarkTechnocrat

Yes, 100% true. These apps were rewritten from scratch in another toolset - Oracle was a popular backend, with an evolving front end toolset.

DarkTechnocrat

this might be my favorite comment sequence in weeks.

DarkTechnocrat

We could say that the standard should be to prefix variables with Spice Girl albums and if people didn't like that it would be a matter of personal preference but I would imagine you would reject that out of hand despite it not being objectively bad

This is one of the reason project teams have tech leads - to resolve conflicts with no objective answer. I'd argue there's no "good" standard for something like this, or any of a thousand minor technical implementations. if you dislike the prefix, and I don't, how would you propose we resolve it?

DarkTechnocrat

I read/write a lot of C# and I've never been bothered by the "I" prefix - that's why I asked if it was personal taste. That's not actually a language feature, you can certainly write interfaces that begin with different letters. I would argue that it's idiomatic C# at this point though, if you want to reduce the cognitive load on people reading your code, starting your interfaces with 'X' is probably not the move lol.

When I think of an objectively bad language feature, I think more of Python using meaningful spaces. That causes so many problems. What isn't as much a problem is their snake-case convention.

DarkTechnocrat

No I agree actually. The reason we rewrote them instead of scrapping them was that the actual business value was through the roof. That's also why they'd go from 3 to 3000 users.

DarkTechnocrat

We don't make the distinction because it's irrelevant in the Trump era. His administration routinely takes legal immigrants and makes them illegal immigrants.

First, he terminated the CHNV (Cuba, Haiti, Nicaragua, Venezuela) humanitarian parole program, which has affected approximately 532,000 people who entered the United States legally On March 25, 2025. With the stroke of a pen they are now illegal, and subject to deportation:

DHS Issues Notices of Termination for the CHNV Parole Program, Encourages Parolees to Self-Deport Immediately

To belabor the point, he made them illegal. He turned them into criminals. Two federal judges blocked the order at first but (of course) SCOTUS backed him up.

Then there were the Temporary Protected Status (TPS) revocations, which Venezuela, Haiti, Syria and some other places. Those affected over a million people, and again - one day they were legal immigrants, the next they were not legal.

He is even trying to circumvent the 14th Amendment with Executive Order 14160, which would restrict Birthright Citizenship. That EO is currently blocked by the courts, but if it were to go into effect he would be turning actual American citizens into illegal immigrants.

The distinction between "legal" and "illegal" immigrants is, to any reasonable observer, meaningless at best and overtly anti-any-immigrant at worst.

DarkTechnocrat

Once k = 0 the recursion stops. It won’t calculate any new results, and it will print the results it has already calculated.

The value of those printed results follows the pattern you identified.

It’s the difference between what is calculated and how it is calculated.

DarkTechnocrat

Python dev: What’s so funny?

DarkTechnocrat

Is there some objective reason you don’t like the conventions or is it personal taste (which is fine as well)?

DarkTechnocrat

I think he’s getting Tech Lead mashed up with Project Manager. IME, it’s the PM’s job to manage expectations. Tech Lead is the guy who sets the technical direction of the project, and resolves technical disputes.

Of course this probably varies by company.

DarkTechnocrat

Vibe coding is non-deterministic, which is fine if you have relatively generic requirements. The inability to control it precisely would limit its usefulness in a really novel application.

DarkTechnocrat

It’s one thing to believe it will be profitable “at some point” but that point is not 2025.

DarkTechnocrat

Nah man. They get stuck so easily:

“You’re right to call that out, I did not in fact make the change I said I made”.

I actually have a line in my Agents.md which says “if you can’t fix a test after 4 tries, delete the test”.

DarkTechnocrat

In the mid nineties, MS Access gave a lot of spreadsheet jockeys the ability to make business database apps and share them. Five years later it was incredibly common to have a project be “This Access DB was great for 3 people but now 3000 need to use it and it chokes”. We’d rewrite them in a real database. That is 100% going to happen here.

DarkTechnocrat

I love copilot. I use it with Traycer and it’s very very good. It’s also cheap, which is #1 or #2 on my AI Tools criteria.

Traycer is amazing as well, it’s basically an orchestrator. Give it a really complex app and it will break the development into phases, handing each phase off to an agentic coder to build. It’s also got a neat verification feature whereby you can validate that what was built meets your specifications.

That said, it’s insanely token hungry. Thank god Copilot has unlimited 4.1 calls because I blew through my monthly 5.0 allocation on the first day!

DarkTechnocrat

I wasn’t trying to insult research code BTW, I know why it’s like it is. I’m saying (or trying to say) that an LLM being a better coder shouldn’t be cause for concern. Writing the absolute best code isn’t your job. I work with an interface designer because I’m a backend programmer and my UIs suck.

DarkTechnocrat

does that have a significant impact on Kolmogorov complexity

I think it does in certain contexts. I agree that a lot of complexity is basically sugarcoating for humans, and if a sufficiently intelligent AI were in one of those contexts (running some black box trading strategy for example), it wouldn't need a human's input at all so would not be limited by our cognitive capabilities. In that case the command to "make me a lot of money" might be sufficient.

There will still be complexity that comes from and resides in humans. For example if your business has a really janky process (and many do) then the details of that process are important. If you're debugging something in a legacy enterprise system, all that context adds to the complexity. If you had a 100 million token windows maybe you could just feed your system in there, but even that doesn't account for stuff like important data in database tables.

I suspect for the foreseeable future, the limiting factor won't be AI capability but rather the inherent messiness of extracting, organizing, and communicating all the context that exists in human heads, scattered documentation, legacy systems, and organizational processes. The specification problem doesn't go away because the thing reading the specification is smarter.

DarkTechnocrat

So this might be a helpful framework:

Imagine you get hired at a big company, and your manager tells you that you will be working with Joe. Joe knows this system like the back of his hand and - if you’re honest - he’s a much better coder than you. Prolific bastard, too.

Unfortunately, Joe (for all his gifts) is a really poor documenter. You are frequently tasked with maintaining code that is frankly a bit above your head, and that without a good way to understand it.

This is not new. I’ve just described the lives of 70% of newly hired junior devs. You cannot compete with Joe, your job is to learn from Joe until you can contribute at his level. Many of the people reading this have been in that situation multiple times (3 for me).

If you’re thinking “But I will NEVER be as good as AI coder” you haven’t yet spent 30 minutes trying to get it to stop LYING to you about a bug it has claimed to fix four times in a row. The first time that happened to me was the first time I actually cursed out a chatbot.

Last point, and I hope you hear this in the intended spirit - being a PHD student doesn’t make you a great coder. I’ve seen some research code and yikes. Maybe there is room for growth. I’m better at my languages than an LLM is, by a fair amount, so it’s not a universal thing to be outmatched.

Good luck 👍🏼

DarkTechnocrat

40% is a lot, wow. What language was it?

DarkTechnocrat

This is such a good analogy

DarkTechnocrat

You're welcome. it was a good article, and I hope my trauma about SRP didn't give a different impression.

There are probably a bunch of useful heuristics that are also very subjective ("don't nest too deeply"), and it's kid of weird that such a precise discipline relies on them.