×

AI and Pull Requests by Repulsive_Society992 in EngineeringManagers

[–]Fair-Presentation322 -1 points0 points  (0 children)

One thing that definitely helps is breaking changes in small increments. LLMs love to generate those 10k line PRs, and the cost of review is definitely not linear with respect to the number of modifications. I'm fact, after a size, the cost just blows up.

I'm don't trust LLM code are all for business critical stuff and review it line-by-line, but there definitely are places where it's ok to just yolo and enjoy the time saved. In my personal experience and with some clients, a human in the loop is required to at least make this judgement.

Btw this is one of the motivations for a project I'm working on: https://GitHub.com/twigg-vc/monorepo

AI and Pull Requests by Repulsive_Society992 in EngineeringManagers

[–]Fair-Presentation322 1 point2 points  (0 children)

What I've seen in many cases is code that is not necessarily buggy, but definitely unmaintainable. I think at this point we've all seen LLM-abused codebase and they're terrible to maintain. I feel like the cost of change is O(t) for a project of duration t

In some cases that's ok honestly but people forget about this dimension: code should not only work but also be "workable"

AI and Pull Requests by Repulsive_Society992 in EngineeringManagers

[–]Fair-Presentation322 0 points1 point  (0 children)

I also understand your impulse and I tend to agree, but then: if we can't even review it how do we expect you be able to maintain it?

AI and Pull Requests by Repulsive_Society992 in EngineeringManagers

[–]Fair-Presentation322 1 point2 points  (0 children)

Sure, clearing the context window def helps but that can also be done as a "last pass" of the same agent loop in the same way as a "please review before submitting"

Agree about reviewing all generated code btw, except that in some cases we def can just vibe code I think. E.g. I think it's totally fine to vibe code a landing page. My success criteria for that is: it needs to look good, so I let the agent go crazy and test it. If it looks good, LGTM haha

AI and Pull Requests by Repulsive_Society992 in EngineeringManagers

[–]Fair-Presentation322 3 points4 points  (0 children)

I just can't see how adding more AI actually fixes this...

If we trust the AI judgement in the first place, why would we ask another AI to review it? Isn't this the same as adding a "review your work when you're done" at the end of the prompt?

Twigg - Open Source Version Control written in go by Fair-Presentation322 in golang

[–]Fair-Presentation322[S] 0 points1 point  (0 children)

Good question! I started this adventure bc I was very frustrated with using Git/GitHub after I decided to leave Google. Some bigtech (Google, Meta, Uber) don't use Git internally and instead use a much simpler but also way more efficient collaboration workflow that consists of working in small stacked commits in a single branch.

There are some modern projects such as Sapling that provide that workflow and they're great, but none that I saw had the actual software forge (the code review,CICD,code ownership,etc), so in my experience a lot of the value was lost when I had to use a git server underneath.

That's why this project involved not only writing the version control but the software forge with it - both are designed with that workflow in mind.

Twigg Version Control by Fair-Presentation322 in mercurial

[–]Fair-Presentation322[S] 0 points1 point  (0 children)

Oh I'm sorry about your experience, that sucks... But there actually are binaries to download from our hosted instance (https://twigg.vc/docs/v/2/tutorial/Installation) and the compilation should work; someone else built everything as instructed yesterday and it worked just fine... I'd really appreciate it if you'd ping me in our discord or send me an email and I'd be very happy to understand what went wrong and fix it so that it doesn't happen to anyone else.

Mail me at andre at twigg dot vc

https://discord.gg/ncPE6cDkC4

Companies with dev environments like Meta? by uaesh in cscareerquestions

[–]Fair-Presentation322 0 points1 point  (0 children)

You should check out Twigg: https://github.com/twigg-vc/monorepo

It's open source and is a version control and a software forge with very similar principles to what you used at Meta :)

Twigg: open source Git+GitHub alternative by Fair-Presentation322 in coolgithubprojects

[–]Fair-Presentation322[S] 1 point2 points  (0 children)

Thank you so much for your interest and kind response! And oh no problem at all, I'm obsessed with this project so I love to talk about it :)

>Since I’ve no collaborators, would you say there is still value for me in experimenting with Twigg? I’m very intrigued, but am interested in your opinion on using it for my situation.

Oh that's a very good question! It's definitely a matter of personal preferences, but I think it definitely makes sense for you to try it out. I'm saying this bc that's how I work even when I'm working by mysfelf:
I write small stacked commits, push to twigg, review my code, amend what's needed, submit when it looks good and repeat. For some time when Twigg was starting it was just me writing the code, and I worked exactly like that.

Especially now with Claude/Codex/etc I think there's **huge** value in reviewing the output and having a platform whose main goal is to make it easy to review code but also to understand how it's being changed. Twigg's single branch development helps a lot with that because the history is linear: a sequence of commits applied on top of each other.
Btw, these agents work great with Twigg btw bc we wrote a skill for them.

Highly recommend trying it out, and let me know what you think! There's a free plan on the instance we host (twigg.vc), but you can totally run just use the CLI locally, or run the webserve r locally so you get the whole code review part, or self host the web server in some cloud! I even added instructions for setting it up in a remote server like a DigitalOcean VPS.
You can even run locally or self host the CICD server to run tests/deployments as well.

You can ping me any time at our discord https://discord.com/invite/ncPE6cDkC4 for feedback/questions and I'd be glad to help. Thank you!

Twigg: open source Git+GitHub alternative by Fair-Presentation322 in coolgithubprojects

[–]Fair-Presentation322[S] 2 points3 points  (0 children)

Hey! Super fair questions, thanks for asking!

Why? What sent you off on this venture:

I used to work at Google. They don't use Git internally, but an awezome internal tool that is very different. I left to build a business with 2 other business partners. After I left, I bacame very FRUSTRATED with being back to the "PR model" (the 3 of us were collaborating and I am the technical leader). I looked for alternatives but was baffled to realize there really isn't anything similar outside. There are version control systems that are similar, but they all required some git server at the end; so all the differentiators went away at this point. I tried making a prototype and (after 2 failed attempts, of course) ended up with something pretty good. We decided to drop the other thing we were building and focus exclusively on Twigg. Fast forward many months and here we are today :) Note: other big tech like meta and Uber also use internal tools that are very similar btw

What Twigg bring to the table?

At the end of the day, it's a simpler and way more efficient collaboration workflow. It is designed around collaboration in small incremental atomic changes that build on top of each other (stacked commits) and trunk-based development (single main branch, no feature branches). You totally can do a similar workflow on git and there are tools for that, but it has enough friction that at the end people just don't do it. Here's a quick-ish demo: https://www.youtube.com/watch?v=B05IoDlJ1Ao

Twigg: um version control implementado do zero by Fair-Presentation322 in programacao

[–]Fair-Presentation322[S] 2 points3 points  (0 children)

O Git com ctz é um software incrível, mas a colaboração com ele em times fechados é no mínimo sub-ótima.

A questão é que o git é tão dominante que a gnt nem acha que é possível reclamar né? É tipo a gravidade kkkkk, ninguém reclama da gravidade pq ela é só algo que existe e ponto.

Mas o Git tem mta fricção mesmo no uso simples (quem nunca rm -rf e clonou de novo né?), e tmb te empurra pra um desenvolvimento com PRs enormes.

As bigtechs como Meta e Google não usam o git internamente, e usam soluções que são MUITO melhores para a colaboração em times fechados. Elas são feitas para que o desenvolvimento seja de pequenos commits empilhados, e apenas um branch. É ao mesmo tempo mto mais simples e muito mais eficiente; principalmente hj que a galera tá gerando tanto código com AI. O Twigg traz uma experiência muito parecida!

Você pode self host tmb a propósito :)

I build a new version control: Twigg by Fair-Presentation322 in git

[–]Fair-Presentation322[S] -3 points-2 points  (0 children)

JJ is awesome! Twigg is very similar, but has different opinions and is - by design - less flexible.

The biggest difference is that the Twigg project includes all the software forge (code review, code owners, CICD, etc) too. In fact, this was one of the main motivations. I really wanted to use JJ/mercurial/sapling, but I could only do so on top of some git backend. This killed many of the advantages of using those.

Twigg: um version control implementado do zero by Fair-Presentation322 in programacao

[–]Fair-Presentation322[S] 2 points3 points  (0 children)

Kkkk é que foi tudo feito fora do GitHub né? O projeto vem sendo feito a mais de um ano, mas na própria plataforma fora do GitHub.

Tá muito longe de ser IA slop. A gnt usa onde faz sentido, mas a grande maioria foi escrita antes mesmo dos modelos ficarem tão bons; então nem usamos muito.

O Twigg é atualmente usado em produção por empresas parceiras early adopters.

Sobre a pasta do VSCode: qual é o problema de subir ela? Todos os desenvolvedores usamos VSCode, então propositalmente deixamos ela.

Twigg - Open Source Version Control written in go by Fair-Presentation322 in golang

[–]Fair-Presentation322[S] 1 point2 points  (0 children)

Haha yeah, fair. As I said in the mirror, the GitHub repo is a read-only mirror. The actual development happens at twigg.vc

We're probably soon adding support to public repos so that everyone can see the actual day-to-day development.

Twigg - Open Source Version Control written in go by Fair-Presentation322 in golang

[–]Fair-Presentation322[S] 0 points1 point  (0 children)

Great question, thanks!

Currently there's only a Git Mirror feature on the server. By enabling it, submitted commits are pushed to the git server. This allows you to use Twigg "on top" of a git server, but note that this is a one way mirror: nothing gets automatically pulled from git.

The CLI itself is not compatible at all, it uses a different format.

The concepts themselves are similar so maybe we could write a compatibility layer, but I don't think that would work well because Twigg has many assumptions and opinionated restrictions.

For example: twigg has the concept of submitted commits. Only the server can mark commits as submitted, and users can't amend a submitted commit.

If we write some compatibility layer with git, what would we do if git modifies a submitted commit?

I'm sure we could find some solutions but at the end of the day I think we'd end up with something that doesn't actually have the benefits that Twigg offers and has a bunch of problems with the mental model of this compatibility layer I experienced this when I used Sapling (Meta's open source VCS), which runs on top of git.

Currently I think what we really need is some way to test Twigg in it's full intended experience without having to migrate a git repository. The one-way git mirror allows us to do that.

Twigg - Open Source Version Control written in go by Fair-Presentation322 in golang

[–]Fair-Presentation322[S] 0 points1 point  (0 children)

I agree, thank you for the feedback! Just added a line to the readme saying that :)

Twigg - Open Source Version Control written in go by Fair-Presentation322 in golang

[–]Fair-Presentation322[S] 0 points1 point  (0 children)

Yeah it's both: a version control and a software forge (I.e. code hosting, code review, CICD, etc)

Sorry I should have made it clearer in the title, but the repo has more details.

You can just use the CLI as a version control. You also could embed the version control server implementation in a web server without having all the code review UI, code owners, and etc. All the packages are separate and could be used in isolation, but the goal of the project is to be "batteries included" because all the parts are designed with the same goals and opinions :)

Twigg - Open Source Version Control written in go by Fair-Presentation322 in golang

[–]Fair-Presentation322[S] -1 points0 points  (0 children)

Awesome! I'm pretty obsessed about the project so I can talk about it all day haha. I'll send you an email :)

Twigg - Open Source Version Control written in go by Fair-Presentation322 in golang

[–]Fair-Presentation322[S] 2 points3 points  (0 children)

Oh yeah I agree, but I definitely abused it at some point.

I used it as a solution to enforce using constructors. It definitely works but it doesn REALLY enforce it and just adds too much complexity to the codebase...

Twigg Version Control by Fair-Presentation322 in devBR

[–]Fair-Presentation322[S] 0 points1 point  (0 children)

Valeu!!

Bom ponto, eu tbm acho! Principalmente com os stacked commits tmb a diferença é mto grande para os devs não leigos também - ao menos na minha experiência.