pierrekin
It’s a new tool to reverse engineer games in a specific context, and I’ve been using anthropic models to work on it.
I haven’t seen any increase in safeguards triggering or any negative effects in how quickly agents are able to make progress in this space.
To give an idea of scope it’s about 5000 commits, 500k lines of rust code, 100 Ghidra patches of work so far. Made in around 6 weeks worth of 8-15 agents working continuously.
I didn’t read it in full but I spot checked one or two citations and I found them compelling.
Sourcery Show HN: https://news.ycombinator.com/item?id=47996426
The project is currently private, I'd love to have access to its source.
What do you mean role? Person who does stuff I guess, same as it is now.
I ran a declarative coding tool on a resource that I thought would be a PATCH but ended up being a PUT and it resulted in a very similar outcome to the one in this post.
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 long for a “copilot” that can learn from me continuously such that it actually helps if I teach it what I like somehow.
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).
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.
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.
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.
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?
It’s challenging to write a queue that doesn’t create bloat, hence why this project is citing it as a feature.
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.
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.
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.
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.
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?
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.
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!
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.