HN user

iparaskev

171 karma

https://iparaskev.com/

Posts16
Comments33
View on HN

I agree that in the end the most important thing is to have the correct mental model of the code, and there is no need to know every implementation detail if you can ensure with other means that they address your requirements. An issue I can can see with not reviewing the code (especially code someone else wrote) is how do you create the mental model? Can a design.md file replace the process of slowly understanding the data flow by reading?

Hi! Seeing how many maintainers and repos have issues with PRs made by bots, we decided to do something, and we started building cherry.

We are doing a private beta and we'd love to hear your thoughts on how to solve this without discouraging legitimate junior developers. What kind of heuristics do you currently use manually that we could automate?

Biggest risk I've found building solo with AI isn't bad code — it's accepting plausible code without interrogating it

Totally agree. While I am aware of the danger, sometimes I become lazy and something slips.

Adding AI to the mix might make it a harder sell, not easier.

100%. I think teams that already pairing could try something like this.

Working on migrating Hopp's [1] overlay window, which we use for drawing the remote cursors, from winit + wgpu to gpui. I used claude in the weekend to make a prototype and now I want to make a gpui app, which will replicate all of our requirements, in order to see what is missing and if I need to contribute upstream. I am planning to write a blog post when the migration is over.

[1] https://github.com/gethopp/hopp

OP here, I didn't write the post, but found it interesting and posted it here.

So i understand correctly, they spend more even thought They can, optimize and spend less

This is what I understand as well, we could utilise the hw better today and make things more efficient but instead we are focusing on making more. TBH I think both need to happen, money should be spent to make better more performant hw and at the same time squeeze any performance we can from what we already have.

Zed is our office 8 months ago

With zed you can also share your screen in the editor which makes it a bit better, but still you can't take control of the other machine.

IMO if you only care about coding doing it in the editor is the best approach, you get zero latency and have all the context that you need (most of the times). But if you want to do more, like opening the browser for whatever reason, or teaching how to use a specific cli, etc, then taking control works better.

If you liked pop you might like gethopp.app, which is an OSS pair programming app (full disclosure I am the co-maintainer). Unfortunately because we have chosen tauri for the frontend we can only support macos and windows, but I am working on a solution for Linux too.

I see your point and I agree that pair programming code reviews give a lot of value but you could also improve and learn from comments that happened async. You need to have teammates, who are willing to put effort to review your patch without having you next to them to ask questions when they don't understand something.

One of the maintainers here. I am looking at improving this more. With av1 we can get even better latency at 4K, the problem is that it is not supported on Safari for old devices, so I am looking into getting the stream in rust and sending it to the frontend via a local ws server, surprisingly to me the added transport latency is less than 5ms.

This is a good point. Lately I have been experimenting with phrasing the question in a way that it makes it believe that I prefer what I am suggesting, while the truth is that I don't.

For example: - I implement something. - Then I ask it to review it and suggest alternatives. Where it will likely say my solution is the best. - Then I say something like "Isn't the other approach better for __reason__ ?". Where the approach might not even be something it suggested.

And it seems that sometimes it gives me some valid points.

The real breakthrough came when I stopped thinking of AI as a code generator and started treating it as a pairing partner with complementary skills.

I think this is the most important thing mentioned in the post. In order for the AI to actually help you with languages you don't know you have to question its solutions. I have noticed that asking questions like why are we doing it like this and what will happen in the x,y,z scenario, really helps.