Loading video...
Video Failed to Load
line diffs are 20 years old. they still can't tell the difference between "renamed a variable" and "rewrote the logic." your diff tool doesn't understand your code, it never did. we fixed that, introducing Semantic diffs!
170,524 views • 7 months ago •via X (Twitter)
68 Comments

powered by sem

@kitlangton what if we integrate this in @opencode web... do you think it'd be useful?

how would you like semantic diffs with a more polished ux in t3 code? happy to discuss/contribute

This is huge. AST-based diffing is the right approach - traditional line diffs can't understand that a function was just moved vs rewritten. Would love to try this out.

Stay posted, releasing it very soon! With some more polish!

petition for semantic diffs in @pierrecomputer natively! happy to contribute!

this is absolutely wild. finally someone takes a crack at this. if this can make strong guarantees this could be insanely useful for builds, CI (pure renames efforts dont need a rebuild), and probably for LLMs

Haha it was about time! Yess that's why we've kept sem seperate, for everything sem diffs!

starred. let's make sure that graph ends up looking like ⅃ this is really incredible work. W

same question for anyone at the codex team, @thsottiaux, I think this view would make our life super easy reviewing code that the clanker generates

fascinating, this is incredibly cool. seems useful to agents for sure

for sure, code reviews with semantic context make agents go brrr @rs545837

Line diffs cause agents to misapply patches too. They patch the wrong context because rename vs logic rewrite looks identical. this would fixes the input not just the UX.

Yes that's why we've kept sem and weave seperate, you could integrate them however, wherever, happy to help

Petition to have support for semantic diffs @jaredpalmer in GitHub's diff viewer, people seem to absolutely love this!

skill issue

based

Great, I am working on similar stuff! Also based on tree-sitter but also using other ASTs in case of need. :) Building with @EffectTS_ to have safety!

@EffectTS_ Nicee! Love Effect, use it at work a lott these days! Most of the compute stuff you see above is offloaded to rust via napi with electrobun by @YoavCodes

@YoavCodes @BleedingDev @EffectTS_ So, is the app live?

@YoavCodes @BleedingDev @EffectTS_ Just polishing things a bit, will post here once it's live, the response this has got is truly overwhelming

I'm already a little calmer by looking at this post

you can try it out here now, it's in alpha, would love feedback!

Can this be plugged to lazygit perhaps?

I'm a huge lazygit user so yeah will do, not sure how far the plugin system allows to customize and how it'd look in the tui

this is fire, super handy as code review continues to the bottleneck as we’re pumping out code faster and faster

@mrswagbhinav Hey Abhinav, you can try it out here now, it's in alpha, would love feedback!

nice! where can I use this?

Hey Lucas, you can try it out here, it's in alpha, would love feedback!

🔥 awesome! I’ll check it out!

Looks cool. Why bake git inside it though? Why not just take two versions of a file irrespective of where they came from and compare them? That's much more general and useful for real work

how do you use diffs without git, what's your workflow like? I've compared 2 files too, but very rarely in my work, would like to know more but yeah as @rs545837 said you can use sem on any two files, no git needed

@rs545837 Mane companies still use other VCS, mainly for historical reasons. At my work they still use Perforce. The ability to compare two files allows you to use this tool as the diff tool in any VCS

ETA?

Tomorrow. Sunday

but genuinely, who is this for?

Anyone who looks at what the clankers are doing bts, any non vibe coder who just ends up looking at diffs all day

finally someone said it. line diffs are basically educated guessing

@OpenAIDevs we need it for Codex too

@OpenAIDevs Hey Leo, you can try it out here now, it's in alpha, would love feedback! working with @pierrecomputer to get it in :p

This is very helpful!!

@_wilfredh

fire, are you open to receiving any donations via GitHub?

glad you liked it @0xMartz!!

Bro, this is just one Claude Code prompt over diff.

Yup we've made sem such that it can integrate with anything That's where the hard parts are at, clients should be dumb

Looks very neat! I like it.

you can try it out here now, it's in alpha, would love feedback!

I'll check it out in the upcoming days and let you know! Thanks for the update.

Super coooolllll 🔥

This is really cool but kind of terrifying if you just want a raw diff. Good job

There's a toggle :p

Can we integrate it at

Hey of course, the underlying algorithm is mit, have at it, let me know if you're stuck anywhere 🙌, happy to help

Thx! I will try to understand how the system looks like then!

Line diffs are from 1974, and damn right someone's better improve on those already. Even if you don't parse the language, you could do far better but they are stuck on the 50 year old CLI tool because I guess it was perfect when created.

Hey Leo, hard agree, you can try it out here now, it's in alpha, would love feedback!

🔥🫡

Users aren't reading or writing code, let alone understanding it 🤷

well I guess some of us still do, you can try it out here ;) it's in alpha, would love feedback!

lol. Great work. I was building the same thing.

thanks @feitong_yang, it's here now, it's in alpha, would love feedback! let me know how it compares to your version.

Well, my macos doesn't allow me to use it

is it an intel mac?

No. It is the signing. Apple cannot verify it is proper signed by trusted developers

That's really cool! It sounds like you're making significant progress in understanding code changes with your new Semantic diffs feature.

@banteg Vibe coders looking at line diffs thinking they did something

@mdshjrno @banteg you can try it out here now, it's in alpha, would love feedback and feel good lmao
