frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

The XINU Page

https://xinu.cs.purdue.edu/
1•sandwichsphinx•31s ago•0 comments

Modified mRNA vaccine masquerades as virus to trick body into stronger immunity

https://medicalxpress.com/news/2025-06-mrna-vaccine-masquerades-virus-body.html
2•PaulHoule•5m ago•0 comments

WKWebExtension – support for WebExtensions in WebKit-based browsers

https://developer.apple.com/documentation/webkit/wkwebextension
1•tech234a•6m ago•1 comments

GitHub Copilot coding agent now uses one premium request per session

https://github.blog/changelog/2025-07-10-github-copilot-coding-agent-now-uses-one-premium-request-per-session/
1•SBArbeit•12m ago•0 comments

Not So Fast: AI Coding Tools Can Reduce Productivity

https://secondthoughts.ai/p/ai-coding-slowdown
3•gk1•14m ago•0 comments

The AI Creative Destruction Wave

https://danielmiessler.com/blog/ai-creative-destruction-wave
1•ablekh•15m ago•0 comments

Digital Journaling Platform

https://ai-therapist-seven.vercel.app/login
1•taruschirag•19m ago•1 comments

Peter Boockvar's Substack

https://boockvarpeter.substack.com/
1•TechMacGyver•22m ago•0 comments

Turkey bans Grok over Erdoğan insults

https://www.politico.eu/article/turkey-ban-elon-musk-grok-recep-tayyip-erdogan-insult/
5•geox•24m ago•0 comments

Adding LSM trees to Postgres makes replication tough

https://www.paradedb.com/blog/lsm_trees_in_postgres
2•mathewpregasen•24m ago•0 comments

Rodish: Routing Tree Argv Parser

https://github.com/jeremyevans/rodish
1•thunderbong•24m ago•0 comments

From Scratch: Berry Patch

https://blog.perchbird.dev/posts/from-scratch-berry-patch/
1•fenkett•27m ago•0 comments

Integrity-Policy Header

https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Integrity-Policy
1•todsacerdoti•31m ago•0 comments

My Digital Minimalism Journey

https://sym.bearblog.dev/digital-minimalism/
1•sym5731•34m ago•0 comments

Libinput 1.29 Improving Scroll Wheel Responsiveness for Most Devices

https://www.phoronix.com/news/libinput-1.29-RC
1•Bender•36m ago•0 comments

Updating an old Ubuntu to a supported version

https://anonymoushash.vmbrasseur.com/2025/07/old-ubuntu-upgrade.html
1•vmbrasseur•37m ago•0 comments

Windows 11 clean install guide: remove bloatware and optimize performance

https://sym.bearblog.dev/win11-install/
2•sym5731•38m ago•0 comments

New Burning Coal Seams Revealed Across Wyoming's Northern Border

https://cowboystatedaily.com/2025/07/10/dozens-of-new-burning-coal-seams-revealed-across-wyomings-northern-border/
2•Bender•38m ago•0 comments

Barksdale Airmen Help Secure New Drone Restrictions Across Louisiana

https://www.afgsc.af.mil/News/Article-Display/Article/4238511/barksdale-airmen-help-secure-new-drone-restrictions-across-louisiana/
1•Bender•40m ago•0 comments

Grok 4 answers controversial questions by searching what Musk has to say

https://twitter.com/jeremyphoward/status/1943436621556466171
8•ks2048•43m ago•1 comments

Binding Application in Idris

https://andrevidela.com/blog/2025/binding-application/
1•matt_d•44m ago•0 comments

Retro-gaming YouTuber PatmanQC has died, aged 53

https://www.vanhoe.com/obituary/Patrick-Davis
1•shdon•44m ago•1 comments

Readeck

https://readeck.org/en/
3•billybuckwheat•46m ago•0 comments

The Return of the "Elderly" Pop Star

https://www.cantgetmuchhigher.com/p/why-are-pop-stars-getting-older
1•jnord•47m ago•0 comments

Don't Eat Honey

https://benthams.substack.com/p/dont-eat-honey
1•bookofjoe•50m ago•1 comments

Show HN: Context Compass – Track Claude chat token usage before hitting limit

https://chromewebstore.google.com/detail/context-compass-for-claud/fmbipbgbfoganenegfmkmlidljbfnkhf
1•raydawg88•52m ago•0 comments

San Francisco firm fined $215M for illegally using Russian oligarch funds

https://sfstandard.com/2025/06/13/russia-ukraine-sanctions-putin-venture-capital-peskin/
8•2OEH8eoCRo0•53m ago•0 comments

Musk Says Grok Chatbot Coming to Tesla Vehicles by Next Week

https://www.bloomberg.com/news/articles/2025-07-10/musk-says-grok-chatbot-is-coming-to-tesla-vehicles-by-next-week
2•JumpCrisscross•54m ago•4 comments

Classic rail routes through the Alps reopen

https://www.theguardian.com/travel/2025/jul/10/classic-rail-routes-through-alps-reopen-austria-switzerland-italy
1•divbzero•55m ago•1 comments

First 74,369-gate circuit validated on IBM back end

https://twitter.com/CTibedo/status/1943409135090892865
1•GeometryKernel•58m ago•0 comments
Open in hackernews

Diffsitter – A Tree-sitter based AST difftool to get meaningful semantic diffs

https://github.com/afnanenayet/diffsitter
80•mihau•11h ago

Comments

fjfaase•10h ago
Discussed before on https://news.ycombinator.com/item?id=27875333
koozz•7h ago
I thought I’ve seen it before. I use Difftastic myself, amazing diffs. https://github.com/Wilfred/difftastic
jbellis•7h ago
If you're looking for something more complete and actively maintained, check out https://github.com/GumTreeDiff/gumtree.

(I evaluated semantic diff tools for use in Brokk but I ultimately went with standard textual diff; the main hangup that I couldn't get past is that semantic diff understandably works very poorly when you have a syntactically invalid file due to an in-progress edit.)

pests•6h ago
I watched a video long ago about how the Roslyn C# compiler handled this but I forget the details.
pfdietz•5h ago
The interesting problem here would be how do you produce a robust parse tree for invalid inputs, in the sense of stably parsing large sections of the text in ways that don't change too much. The tree would have to be an extension of an actual parse tree, with nodes indicating sections that couldn't be fully parsed or had errors. The diff algorithm would have to also be robust in the face of such error nodes.

For the parsing problem, maybe something like Early's algorithm that tries to minimize an error term?

You need this kind of robust parser for languages with preprocessors.

o11c•1h ago
Unfortunately, this depends on making good decisions during language design; it's not something you can retrofit with a new lexer and parser.

One very important rule is: no token can span more than one (possibly backslash-extended) line. This means having neither delimited comments (use multiple single-line comments; if your editor is too dumb for this you really need a new editor) nor multi-line strings (but you can do implicit concatenation of a string literal flavor that implicitly includes the newline; as a side-effect this fixes the indentation problem).

If you don't follow this rule, you might as well give up on robustness, because how else are you going to ever resynchronize after an error?

For parsing you can generally just aggressively pop on mismatched parens, unexpected semicolons, or on keywords only allowed in a top-ish level context. Of course, if your language is insane (like C typedefs), you might not be able to parse the next top-level function/class anyway. GNU statement-expressions, by contrast, are an actually useful thing that requires some thought. But again, language design choices can mitigate this (such as making classes values, template argument equivalent to array indexing, and statements expressions).

pfdietz•1h ago
> how else are you going to ever resynchronize after an error?

An error-cost-minimizing dynamic programming parser could do this.

ilyagr•1h ago
In case anybody happens to be interested in testing `gumtree` with https://github.com/jj-vcs/jj, I think I got them to work together. See https://github.com/GumTreeDiff/gumtree/wiki/VCS-Integration#... (assumes Docker).
affyboi•1h ago
Note that diffsitter isn’t abandoned or anything. I took a year off working and just started a new job so I’ve been busy. I’ve got a laundry list of stuff I want to do with this project that will get done (at some point)
the__alchemist•6h ago
Is there an anti-tree-sitter version too?
davepeck•6h ago
yes, although it's sort of the same as Context-Free-Typing-sitter
esafak•5h ago
Some make a semantic diff splitter please! Break up big commits into small, atomic, meaningful ones.
0x457•3h ago
Well, that's what git-patch is: https://patch-diff.githubusercontent.com/raw/denoland/deno/p...
esafak•3h ago
I can't make sense of that link. How many parts was the diff split up into, and along what lines?
0x457•2h ago
Yeah, I don't know why I linked that as an example. Wanted to show structure of a patch. Each commit of a patch already has everything ready to be processed and chunked IF you keep them - small, atomic, semantically meaningful. As in do smaller commits.
ethan_smith•1h ago
Check out git-imerge or git-absorb which can help with this problem by intelligently splitting or absorbing changes into the right commits.
pmkary•4h ago
What a genius idea.
affyboi•1h ago
Nah I think most people could make something like this in a weekend
vrm•4h ago
This is neat! I think in general there are really deep connections between semantically meaningful diffs (across modalities) and supervision of AI models. You might imagine a human-in-the-loop workflow where the human makes edits to a particular generation and then those edits are used as supervision for a future implementation of that thing. We did some related work here: https://www.tensorzero.com/blog/automatically-evaluating-ai-... on the coding use case but I'm interested in all the different approaches to the problem and especially on less structured domains.
dcre•3h ago
See also https://mergiraf.org/ for a tool that uses ASTs to resolve (some) merge conflicts.
Iwan-Zotow•3h ago
integration to VSCODE?
1-more•2h ago
See also difftastic https://difftastic.wilfred.me.uk/languages_supported.html
ilyagr•1h ago
https://github.com/Wilfred/difftastic/wiki/Structural-Diffs is a nice list of alternatives.

Difftastic itself is great as well! The author wrote up nice posts about its design: https://www.wilfred.me.uk/blog/2022/09/06/difftastic-the-fan..., https://difftastic.wilfred.me.uk/diffing.html.