HN user

pierrekin

341 karma
Posts0
Comments39
View on HN
No posts found.

No, but close. Someone like that built the infrastructure tooling to do deep research, wrote up their process doing that, and then did what you said after, which I consider to be different.

I didn’t read it in full but I spot checked one or two citations and I found them compelling.

I would argue that “Why did you do that?” between humans is usually a social thing not a literal request for information.

What the asker wants is evidence that you share their model of what matters, they are looking for reassurance.

I find myself tempted to do the same thing with LLMs in situations like this even though I know logically that it’s pointless, I still feel an urge to try and rebuild trust with a machine.

Aren’t we odd little creatures.

I agree that the model can help troubleshoot and debug itself.

I argue that the model has no access to its thoughts at the time.

Split brain experiments notwithstanding I believe that I can remember what my faulty assumptions were when I did something.

If you ask a model “why did you do that” it is literally not the same “brain instance” anymore and it can only create reasons retroactively based on whatever context it recorded (chain of thought for example).

I suspect we are not describing the same thing.

When a human asks another human “why did you do X?”, the other human can of course attempt to recall the literal thoughts they had while they did X (which I would agree with you are quite analogous to the LLMs chain of thought).

But they can do something beyond that, which is to reason about why they may have the beliefs that they had.

“Why did you run that command?”

“Because I thought that the API key did not have access to the production system.”

When a human responds with this they are introspecting their own mind and trying to project into words the difference in understanding they had before and after.

Whereas for an agent it will happily include details that are not literally in its chain of thought as justifications for its decisions.

In this case, I would argue that it’s not actually doing the same thing humans do, it is creating a new plausible reason why an agent might do the thing that it itself did, but it no longer has access to its own internal “thought state” beyond what was recorded in the chain of thought.

There is something darkly comical about using an LLM to write up your “a coding agent deleted our production database” Twitter post.

On another note, I consider users asking a coding agent “why did you do that” to be illustrating a misunderstanding in the users mind about how the agent works. It doesn’t decide to do something and then do it, it just outputs text. Then again, anthropic has made so many changes that make it harder to see the context and thinking steps, maybe this is an attempt at clawing back that visibility.

Thanks for writing this comment, I think seeing someone’s “first impressions” and then seeing someone else’s response to those thoughts is more interesting and feels more connected socially than just reading a “correct” guide or similar especially when it’s something I’m curious about but wouldn’t necessarily be motivated enough to actually try out myself.

I think it may be that we agree but because the expression “vibe code” has many meanings it’s hard to tell.

I would absolutely still bring a coding agent with me for a project like this, but I would be in the mindset of “I need to understand and be familiar with every line” rather than say, every function signature or every service behaviour.

So it is almost like vibe coding but the abstraction level is lower?

The question I’ve been asking myself recently is, if the act of thinking about the code from scratch is somehow more good than the potential benefit of being able to let that mechanical part be handled by something else, be it another human or an agent.

To be specific I’m referring to a prompt like “next, add a for loop which iterates over the elements in the array and enumerate an index, then call our function $func by reference for each element.” “Is there a more idiomatic way of doing this in $lang?” etc.

This has the advantage to me of letting me code in languages who’s syntax I don’t know or have forgotten, but I’m not sure whether this is trading some sort of short term gain for long term cost yet.

This fan out approach plus something like Kafka consumer groups is often a better approach to getting workers to take from the same pool anyways, because you can do key based partitioning and therefore have semi stateful consumers (cache, partitioned inserts etc) that are fed similar work.

I think there are two kinds of partition based approach which may cause some confusion if lumped together in this kind of comparison.

Insert and delete with old partition drop vs insert only with old partition drop.

The semantics of the two approaches differ by default but you can achieve the same semantics from either with some higher order changes (partitioning the event space, tracking a cursor per consumer etc).

How does PgQue compare to the insert only partition based approach?

Yes you can, and at the risk of sounding a little snarky; if you do something like that and then release it as open source, people may even discuss it on HN!

In Postgres land bloat refers to dead tuples that are left in place during certain operations and need to be vacuumed later.

It’s challenging to write a queue that doesn’t create bloat, hence why this project is citing it as a feature.

GitHub Stacked PRs 3 months ago

Yes what you’re describing is literally the thing GitHub has built but instead of having to make a bunch of compromises, there is dedicated UI and product metaphor for it.

Some examples of compromises:

You can’t merge partially merge a large “review commit by commit” PR so you are forced to wait until it is all ready to merge.

GitHub Stacked PRs 3 months ago

Then you lose the ability to merge the portion of work which has been agreed to, until the whole change overall has been agreed to.

GitHub Stacked PRs 3 months ago

No, each PR is based on the previous one, so the reviewer only needs to consider the ideas that are new in each PR one at a time.

GitHub Stacked PRs 3 months ago

The teams that I have worked with still apply the philosophy you’re describing, but they consider PRs to be the “commit”, i.e. the smallest thing that is sane to apoly individually.

Then the commits in the PR are not held to the standard of being acceptable to apply, and they are squashed together when the PR is merged.

This allows for a work flow in which up until the PR is merged the “history of developing the PR” is preserved but once it is merged, the entire PR is applied as one change to the main branch.

This workflow combined with stacked PRs allows developers to think in terms of the “smallest reviewable and applicable change” without needing to ensure that during development their intermediate states are safe to apply to main.

GitHub Stacked PRs 3 months ago

We use this feature extensively at $dayjob.

Imagine you have some task you are working on, and you wish to share your progress with people in bite sized chunks that they can review one at a time, but you also don’t want to wait for their reviews before you continue working on your task.

Using a stacked set of PRs you can continue producing new work, which depends on the work you’ve already completed, without waiting for the work you’ve already completed to be merged, and without putting all your work into one large PR.

I think the harsh truth in this case is that this person has qualities of their personality and their habits that make them incompatible with a conventional job.

In my society, absolutely, possibly literally more than a hundred people.

Where in the world is the answer no? Maybe if you’ve freshly immigrated to a new country or something?

That is a very scary thought, but it’s also scary for me to think that so many people live such isolated lives, it’s such a foreign concept to me culturally.

It’s hard to respond to a call for “everyone to agree” in an online forum but yes.

Even people who are self or outwardly destructive, do not deserve the outcome the author got.

I think a harder to answer question is, assuming there are not enough resources to help everyone in need (in a practical sense) should we prioritise the “more deserving” over the less.

Every human who is suffering deserves compassion, but should we deprioritise those who are suffering partially because of their own choices?

I get an incredible “narcism ick” from this writing. I wonder if other people feel the same way.

It’s so gross contrasted with the theme. The very first paragraphs start with a poor attempt to humble brag his”credentials” as not just a “normal” homeless person.

The self mythologising, the framing of negative things more like the weather than consequences of his choices.

The fact that despite privileged upbringing and working in tech in the valley he has no one willing to offer him a couch.

The most striking for me is the framing of his own grandmothers death as exceptional, proving his lineage is special.

Calling others NPCs, framing of stealing from stores as being the heroic action, even with approval from grandmother.

I feel this is getting redundant. I’d love to hear if anyone disagrees and what their thoughts are.

Not strictly related to this video - sorry about that - but I have some ideas of how to improve the system you used to record arc welding in high quality.

Do you still have the hardware? Does revisiting the project and using some signal processing to try and extract color images sound like fun? I would be excited to collaborate on this if you had energy for it!

I was made to do this at work also. The reasoning went something like this.

Yes of course we need to properly escape all strings that we render / use parametised queries to avoid injection attacks, however we also need defense in depth, so all fields need to reject code that looks like sql or html.

It was easier to just add this that push back. Sigh.

Reeling it in takes a fraction of the energy it generates when it pulls the line out. But that's nonsense on the face of it.

Why is this nonsense on the face of it? This is just how kites work. Do you imagine that kite surfers just overpower the kite with their might and pull it back to the ground when they've had enough?