Live data from Hacker News

Control the Ideas, Not the Code

antirez.com

191–200 of 208 posts

Re: Control the Ideas, Not the Code

#191
post #39

Some of the most exciting engineering work is happening in the DS4 repo - and I'm watching it almost like a sports game. When the DSpark paper came out[1] the next day we had folks attempting to implement, working together, validating their failures. Eventually their work being synthesized into a PR[1] that admits performance is not ideal. Something antirez alluded to in one of his videos (speculative decoding is a g…

Thanks! And sorry for not yet merging many of those. The problem is, I'm dealing with tensor parallelism for the CUDA and Metal-RDMA fork right now, so was not albe to care about PR / issues for a lot of time.

Oh that’s great - I’m generally more interested in single machine use cases but the RDMA stuff is super interesting.

I do wonder if you are planning to eventually delegate some of the merging responsibilities? I see some other projects follow a similar pattern when they grow to a certain size.

Re: Control the Ideas, Not the Code

#193
post #31

It's kind of ironic reading a post with such bad grammar written by someone that seems to be so pro-AI

I didn't want to say that out loud, but you are right and it's unfortunately hard to understand some of what he's trying to say

Exactly. And I don't want to encourage him to have the AI write the whole text, just to let it proofread what he wrote. It's a natural language processing tool. Let's use it for that.

Re: Control the Ideas, Not the Code

#194
post #58

It's kind of ironic reading a post with such bad grammar written by someone that seems to be so pro-AI

You realize he's not a native English speaker, right? His English grammar is better than my Italian, so I don't feel the need to criticize.

And if you had to email someone in Italian, would you really do it with poor grammar? Or would you write it in English and translate it, or use a tool to ensure it's correct?

I'm not telling him to stop writing on his own and instead just let AI write for him, but there's no shame in letting an NLP tool do what it's made for and correct the mistakes you made writing in a language you aren't native to.

Re: Control the Ideas, Not the Code

#195
post #2

I tried really hard to do this, but it turns out the models don't care about your ideas and want to do what's popular in their training data, so they will happily ignore anything you try to force down their throats, especially as context length grows or if you hit compaction. So to make best use of the models steer them down familiar paths, mention common pattern and frameworks, use popular packages and languages tha…

I do highly unusual, off the beaten path projects with AI. For instance, a game engine written entirely in LuaJIT, but allocating almost all data structures using CFFI, a very unusual, custom object-orientation DSL I designed myself, and that uses SDL3's SDL_gpu library to do all rendering, a ton of GLSL 4.6 compute shaders cross compiled to SPIR-V and Metal (which constraints what GLSL can be written), and is a hybr…

> All I can say is skill issue.

I regularly see claims by people that they have produced large, reliable bodies of code using vibe coding. Unfortunately, no vibe coded project I've used comes anywhere close to code reviewed by a human. Admittedly, my sample size is very small: things like claude-code, OpenClaw, and the occasional project I see mentioned here. But compared to the things I used regularly like GNU coreutils, Firefox, Linux, vim, git and the hundreds of other software projects I use daily, vibe coded apps are in a different ballpark. Vibe coded apps of a few 100k lines often glitch several times a day, the traditional ones that have several orders of magnitude more lines often don't fail in several years of use.

AI is now being used to assist in creating and maintaining these traditional bodies of software, of course. It looks like it has enhanced productivity as open source contributions have grown by 20% or so, and we've only just started to learn how to use it. I haven't noticed any degradation in quality. It may be too early to tell, but I suspect the engineers involved wouldn't let that happen.

As you say, it's a skill issue - it takes considerable skill to produce reliable maintainable code. But I suspect that wasn't the skill you are referring to.

Re: Control the Ideas, Not the Code

#196

Very uncomfortable to read. The proposed idea of not reading the code you ostensibly wrote, doesn’t just challenge the traditional workflow or methodology, it challenges the identity of a programmer itself. For experienced, respected programmers like antirez perhaps reading and writing code truly has just gotten in the way of the ideas, but I cannot identify with that perspective. The devil is in the details, reading…

I don't get this perspective.

How much of the source code of the compiler you use did you read? How much of the source code of the standard library of your chosen language did you read? What about the dependencies?

How much of the source code of a huge codebase does the average developer read? I don't think any human alive has read the majority of code in huge codebases like Word, Windows, Linux, etc.

For almost every developer, the majority of the code you use every day, whether in software you use or actual code you're shipping, is not code you've ever read. And no one seems to have a problem with it, because we've built lots of processes around this. It's only when the code is written by an AI and not a coworker or random library author that people seem to have a problem.

And I get it! AI wasn't very good at writing code two years ago. Maybe even a year ago. I think it's good now, but maybe you don't - ok, that's fine, maybe it'll only live up to your standards in a year or two or ten. But that doesn't seem to be what people are arguing, it's not "AI isn't good enough", it's "how can we possibly ship code we never read", and my point is that we've all been doing this for our entire careers.

Re: Control the Ideas, Not the Code

#197
post #59

Earlier quoted context omitted.

What do you mean? Are you arguing that it's impossible to fully translate things? Would you argue that "apple", "manzana", "pomme", "mela", "maçã" etc. all refer to different ideas?

"Apple" is a generic name, that does not actually really express anything particularly specific. Eating apple, cooking apple, cider apple, pig feed? Granny Smith, Honeycrisp, Red Delicious? All apples, wildly different, all common. Even within the more commercially available variants there are significant differences: https://www.jessicagavin.com/types-of-apples/ Heck, just for cooking apples there are huge number of…

> "Apple" is a generic name, that does not actually really express anything particularly specific.

...

> "apple" as an idea doesn't really express anything concrete without lots more context.

I understand where you're coming from and appreciate the nuance, but can't help to feel that you've moved the goalposts from the earlier:

> There are no "ideas" independent of expression.

I never meant to claim that ideas have to be concrete or specific, if anything, the best thing about an idea is that it is not any of those.

And it's clear to me that you did perfectly understand what I meant by:

> "apple", "manzana", "pomme", "mela", "maçã"

as you then said "isn't even a fruit", so I was able to effectively communicate to you the abstract idea of a particular type of fruit. Communication of ideas does work to promote coordination of actions (in this case a comment thread on "the same topic"), and while flawed and fuzzy, I don't see how it could function if there were no ideas independent of expression.

Re: Control the Ideas, Not the Code

#198
Strong agree, but in a subtly different way..

I still read the code; but I work to make a trustworthy agent, so I can skim read at review.

For a year+ I've been gaining leverage by codifying guardrails. Insanely intricate (and fun to create) lint scripts that catch things like python imports inside functions instead of the top of the file, or dumb use of dict return where the return should be a pydantic model, or the agent dumbly using the ugly default Tailwind color classes instead of my design system colors.

It's fun codifying "how we work around here" and it's been great for keeping dumb AI mistakes off my radar.

Last week I busted out my text editor and typed (typed!) a section into CLAUDE.md on my philosophy - my why. "We do test driven development because we have a computer that can instantly validate your code." "We don't modify code until we have created and witnessed some other thing that durably proves the need for our change." Etc. etc.

Well the agent leveled up suddenly and dramatically. It was a real mind opener. One of those banger realizations. I'd been leaving tons of power on the table.

When backfilling tests, it suddenly started mutating production code and rerunning to witness tests go red - something it calls "teeth". It doesn't just assume tests work and move on! I didn't ask for that, it was latent in the model. I no longer have to remind it to run new eslint rules first to prove they're correct. Sometimes it even proposes new lint rules and checks to tighten its guardrails.

What I learned that maps to what @antirez is saying:

With everything about agents, stop operating at a level of "what". The what is the agent's job.

Stop operating at a level of "how" too!

Just focus on not hoarding your "why". Tell your agent where your ideas come from, why they matter. Do not just think the why in your head. Write it down! Put it in CLAUDE.md. Offload it into the system!

Your tools will level up.

Even if it's not about the harness. Building product features? Tell it what you think the users will do. And why. It might codify the UX closer to how you'd have. Tell it what other UIs you've seen and like - it probably knows about them and can just code that - less detail needed.

And it'll bring the code closer to what you'd have written. And bring you closer to that holy grail, LGTM skim-review.

Re: Control the Ideas, Not the Code

#199

Earlier quoted context omitted.

At 600k lines of Rust, not finding those issues yet. You can search for different versions of same concepts, I mean you need to refactor a lot anyway.

Did you actually manually review the 600k lines of code? And the reason LLMs tend to produce such insanely large codebases is partially what the comment you're replying to explained, they duplicate everything all over the place.

The codebase is large because its a complex problem and its around 75% tests. Have used various tools to find duplicates and they arent there to any significant extent.

Re: Control the Ideas, Not the Code

#200
post #196

Very uncomfortable to read. The proposed idea of not reading the code you ostensibly wrote, doesn’t just challenge the traditional workflow or methodology, it challenges the identity of a programmer itself. For experienced, respected programmers like antirez perhaps reading and writing code truly has just gotten in the way of the ideas, but I cannot identify with that perspective. The devil is in the details, reading…

I don't get this perspective. How much of the source code of the compiler you use did you read? How much of the source code of the standard library of your chosen language did you read? What about the dependencies? How much of the source code of a huge codebase does the average developer read? I don't think any human alive has read the majority of code in huge codebases like Word, Windows, Linux, etc. For almost ever…

You do not need to understand an entire program to get the benefit of reading a chunk of source code that is part of that program.
Post reply on HN