Live data from Hacker News

The Tower Keeps Rising

lucumr.pocoo.org

181–190 of 280 posts

Re: The Tower Keeps Rising

#181
post #6

I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear. I feel like that gives an even more literal tower-rising metaphor, and that's what it feels like people using agents naively (and software engineers of lower skill or earlier-career), end up violating. Agents are getting better at folding things into themselves, especially if you direct them to... but unfor…

> There is a part of me that wonders if it's partly just how much they can hold in their head right now, though. Even with the greatest articulation and high density of feeding them, the current setups don't allow them to hold a high-quality, sparse, 'zoomable' model of the world in their head that well yet, which we can do pretty well.

My personal experiments show that giving them tools to access to all past sessions over a codebase helps a lot. When I coded "feature X" 2 months ago i likely specifically mentioned some constraints expressed as abstractions and, if the coding agent checks not only the code/feature it needs to implement/change but also the past sessions over that, it picks them up, and ships code that better fits the overall project.

At least, more than "architectural/design guidelines", since they are more "concrete", to the point for the task at hand.

Sessions self-preserve them for following sessions, which helps, but might also carry over stale things, so some "pruning" helps, and can be automated. Overall, as long as corrections were also made via agents and hence in sessions, they are picked up automatically.

It's not the "human zoom" you refer to, which as humans we can drive/control, but the effect seems to be similar: I read autonomous sessions where it picked up from the past the very design/architecture/abstraction points i would have driven, had I been in the loop.

In team contexts it should not be impossible to share sessions, but I not working in teams right now :D So maybe it's also a "single dev quirk".

Another point is that in a sense, learning to code goes from being told "you are using the_wrong_abstraction/this_abstraction_the_wrong_way/no_abstraction_where_you_should_have", to telling it to others/ourselves.

Since the number of knowable abstractions seems to be "at least one more than I already know", agents can actually be helpful in learning.

After a certain threshold, it basically zeros in a specific domain, but on novel domains agents taught me abstractions, when nudged towards doing that.

Re: The Tower Keeps Rising

#182
post #180

Earlier quoted context omitted.

I just see in my usage that I can release tens of features a day, whereas I'd be able to release one or two a day usually. I don't know if it's 100x, but it's definitely more than 10x. I've written up my process here: https://www.stavros.io/posts/how-i-write-software-with-llms/ The biggest thing to get right is to let the LLMs do what they're great at (code implementation from very detailed specs, and code review), a…

Can you show us the 10s of features you’re releasing daily now?

I made this in two days:

https://www.writelucid.cc/

Re: The Tower Keeps Rising

#184

I increasingly feel that the reason vibe coding specifically prohibits reading the generated code is that it's impossible to forget the horror that lurks in these python files. The code will do what you asked for in a broad sense but wherever choices arise on how to accomplish the goal it'll have made those choices incoherently. There'll be strange validations applied inconsistently to some user inputs but not others…

> reason vibe coding specifically prohibits reading the generated code

Wait what? Are there rules to vibe coding now? Are we no true Scotsmanning slop now?

Re: The Tower Keeps Rising

#185

Earlier quoted context omitted.

Same issue happens in models trained by organizations who aren’t selling tokens. I believe it’s because being parsimonious is simply harder. Achieving the task at hand independently and declaring the job done is easier than building an abstraction and reconciling between every use case.

Agreed. I've noticed this happens without fail in any project driven primarily by "tickets" and "sprints". Finishing the immediate task ends up taking precedence over future concerns that cover a wider scope. On the other end of the spectrum it's easy to spend too much time at the beginning humming and hawing about the best, most future proof design, because you just know you're not going to be able to easily fix it…

I have a vaguely-relevant war story.

1998 - Huge business, re-writing some vital piece of the platform in the middle of Y2K. Contract coders are expensive but also the only available people to throw at this.

The architect had mapped out the entire system down to class/method level. They'd produced a huge list of classes and methods that needed to be built. So the company hired a bunch of contract coders to build said classes and methods, including your humble protagonist. We were each given a list of methods to write up - parameters, operation, expected output. We wrote them up, and ticked them off the list. We were not briefed on how they interacted. There were no tests that we could run. There was apparently no-one checking that what we wrote in the method actually matched the spec. This was before git, so version control was extremely rough, and also before JIRA (iirc the list was an Access database).

We all realised very quickly, like the first week, that this entire project was doomed. But we were getting paid a lot of money to do this, so we just did it. It got really boring really quickly. Every day we wrote a bunch of methods, and next day got a list of the next set of methods to write. The lists just kept coming, with no idea how long the master list was, or how the classes interacted with each other, or how the system actually worked, or anything.

I left after a month. The money was good, but the boredom was driving me insane.

I learned later from friends who stayed that the whole project was canned a couple of months later when it became obvious that this was a complete waste of money and would never work.

Whenever I see a project manager staring at JIRA instead of talking to their people or looking at the codebase, I'm reminded of this project. And your comment reminded me of that ;)

Re: The Tower Keeps Rising

#186
post #153

Earlier quoted context omitted.

> It's not really news, though. Programming as Theory Building (Peter Naur) was published in the 80s, I think? The news is that Agentic Programming has made this always challenging task even more challenging.

Challenging. Adventurous. And tiring. It’s global madness fired up by continuous stream of news from LLM providers. It’s like The Verge that is almost about FAANG only, but multiplied as it is “magic” for most people, as vibe coding is “so easy” and dopamine-producing activity that it is similar to runners that don’t want to stop as it stimulates them (and in this case ofc it is healthy :)

I knew a runner that was wearing his body down. His joints where giving up. I predicted he would become a cripple. He wouldn’t stop running despite knowing. He was addicted. Some stories about prompting agents feel like that to me.

Re: The Tower Keeps Rising

#187
post #6

I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear. I feel like that gives an even more literal tower-rising metaphor, and that's what it feels like people using agents naively (and software engineers of lower skill or earlier-career), end up violating. Agents are getting better at folding things into themselves, especially if you direct them to... but unfor…

I can't prove it but I have strong beliefs that the logic and intuition required for abstracting for future changes is not possible in a stream of predicted tokens. Mental models aren't built from text. Something's missing that can't be measured.

The real understanding builds on not knowing. Once I realise I don't know something I cease thinking and start watching the thing. Then somehow I understand.

We do have a mechanism similar to LLMs but it provides existing knowledge; it's a search mechanism, basically. New knowledge happens when we turn that mechanism off.

Re: The Tower Keeps Rising

#188
post #6

I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear. I feel like that gives an even more literal tower-rising metaphor, and that's what it feels like people using agents naively (and software engineers of lower skill or earlier-career), end up violating. Agents are getting better at folding things into themselves, especially if you direct them to... but unfor…

> I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear.

Great metaphor. When I hear people claim 20x productivity with AI assistance, I imagine a Tetris game where pieces fall 20x faster.

As you say, those lines still have to clear.

Re: The Tower Keeps Rising

#189
post #154

Earlier quoted context omitted.

I'm doing fully interpreted Lisp with the AST stored in Postgres. I can access the REPL remotely and I honestly dont know if I'm ever going to build an API or CLI again

This sounds super interesting. Do you have any blog or pointers where I could read more about this?

https://pricklypear.rocks/welcome https://pricklypear.rocks/code

Just to be clear this is not a release, lol, I just made it to show a couple buddies. My one friend was saying he learned a lot just by reading code and pointing Claude at it and asking questions about what he didn't understand. It is provided as-is with no warranty, or installation instructions. If you really get stoked about it I could probably clean up multi user stuff a bit to get you logged on, but I think even just the idea is pretty neat.

Re: The Tower Keeps Rising

#190
post #6

I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear. I feel like that gives an even more literal tower-rising metaphor, and that's what it feels like people using agents naively (and software engineers of lower skill or earlier-career), end up violating. Agents are getting better at folding things into themselves, especially if you direct them to... but unfor…

Just a matter of time. Go download gpt2 or llama2 and be shocked at how bad they are compared to today. They were entirely "useless" yet we marveled at them. Go examine GPT3.5/gpt4 out which was all the rage and then marvel at how a qwen27b or gemma31b model mops the floor today. My point is that the models will eventually learn to have a great model of software system in their head, just a matter of time and proper…

There is no Moore’s law for AI that shows that the previous rate of improvement will likely apply to the future. It’s all wishful thinking.
Post reply on HN