Loading video...

Video Failed to Load

Go Home

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

powered by sem

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Jake's profile picture
Jake7 months ago

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.

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

merlin's profile picture
merlin7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

merlin's profile picture
merlin7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Nick Khami's profile picture
Nick Khami7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Pochi's profile picture
Pochi7 months ago

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.

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

aiu's profile picture
aiu7 months ago

skill issue

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

based

Petr Glaser's profile picture
Petr Glaser7 months ago

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!

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

@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

Parth S.'s profile picture
Parth S.7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Dev's profile picture
Dev7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

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

Dzhi's profile picture
Dzhi7 months ago

Can this be plugged to lazygit perhaps?

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Abhinav's profile picture
Abhinav7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

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

Lucas Bento's profile picture
Lucas Bento7 months ago

nice! where can I use this?

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

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

Lucas Bento's profile picture
Lucas Bento6 months ago

🔥 awesome! I’ll check it out!

votor.stars ⌐◨-◨ l pixelvans | StarNouns's profile picture
votor.stars ⌐◨-◨ l pixelvans | StarNouns7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

votor.stars ⌐◨-◨ l pixelvans | StarNouns's profile picture
votor.stars ⌐◨-◨ l pixelvans | StarNouns7 months ago

@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

Deepak Raj's profile picture
Deepak Raj7 months ago

ETA?

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

Tomorrow. Sunday

deus's profile picture
deus7 months ago

but genuinely, who is this for?

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Owol Destiny's profile picture
Owol Destiny7 months ago

finally someone said it. line diffs are basically educated guessing

Leo Dang's profile picture
Leo Dang7 months ago

@OpenAIDevs we need it for Codex too

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

@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

Haimantika Mitra's profile picture
Haimantika Mitra7 months ago

This is very helpful!!

🦇🌪️'s profile picture
🦇🌪️7 months ago

@_wilfredh

Martz's profile picture
Martz7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

glad you liked it @0xMartz!!

Baron Hakkinen's profile picture
Baron Hakkinen7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Oskar's profile picture
Oskar7 months ago

Looks very neat! I like it.

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

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

Oskar's profile picture
Oskar6 months ago

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

Jayash Tripathy's profile picture
Jayash Tripathy7 months ago

Super coooolllll 🔥

EightyUppercuts's profile picture
EightyUppercuts7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

There's a toggle :p

Marcell Havlik's profile picture
Marcell Havlik7 months ago

Can we integrate it at

Palani — oss/acc's profile picture
Palani — oss/acc7 months ago

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

Marcell Havlik's profile picture
Marcell Havlik7 months ago

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

Leo's profile picture
Leo7 months ago

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.

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

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

Arul Goyal's profile picture
Arul Goyal7 months ago

🔥🫡

Old Man’s Code's profile picture
Old Man’s Code7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

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

Feitong Yang's profile picture
Feitong Yang7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

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

Feitong Yang's profile picture
Feitong Yang6 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

is it an intel mac?

Feitong Yang's profile picture
Feitong Yang6 months ago

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

Solglyph's profile picture
Solglyph7 months ago

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

mdaus.eth's profile picture
mdaus.eth7 months ago

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

Palani — oss/acc's profile picture
Palani — oss/acc6 months ago

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

Related Videos