HNHacker News
TopNewBestAskShowJobs

shayief

92 karma · joined June 20, 2014

Twitter/X: http://x.com/iefserge GitHub: http://github.com/iefserge

Building https://gitpatch.com

submissionscomments
shayief··on Show HN: I ported Tree-sitter to Go
This is great, I was looking for something like this, thanks for making this!

I imagine this can very useful for Go-based forges that need syntax highlighting (i.e. Gitea, Forgejo).

I have a strict no-cgo requirement, so I might use it in my project, which is Git+JJ forge https://gitncoffee.com.

shayief··on Stop generating, start thinking
> If I could only maintain code I wrote, I'd have to work alone.

I don't think that "Code you did not write is code you do not understand" implies that the only way to understand code is to write it. I can read code, run it, debug it and figure out how it works.

It's true that all of that is possible with AI generated code. But the thing is, is it worth for me spending time understanding that PR, when I can make the change or launch my own agent to prompt it myself? At least with my own prompt I know exactly what I want it to be.

shayief··on Show HN: GitHub Browser Plugin for AI Contribution Blame in Pull Requests
It seems like something like this should be added to the commit object/message itself, instead of git notes. Maybe as addition to Co-Authored-By trailer.

This would make sure this data is part of repository history (and commit SHA). Additional tooling can be still used to visualize it.

shayief··on Ask HN: What are you working on? (January 2026)
this looks very nice.

I see this doesn't use <textarea> or contenteditable, I'm curious how close can it get to native controls or can this replace them? Things like mouse selection and usual hot keys like Cmd+A and maybe other things.

shayief··on Ask HN: What are you working on? (January 2026)
I'm building a new Git hosting service focused on performance and great UX. It's another take on source code hosting and patch sharing, with some nice features like stacked diffs, automatically protected branches.

Currently just the cloud hosted version (https://gitncoffee.com), but plan to open-source most of it when it's more complete.

If you want to see a repo example, https://gitncoffee.com/gitncoffee/git-demo

shayief··on In New York City, congestion pricing leads to marked drop in pollution
the engine cannot brake to a complete stop, so break pads are always in use. At low RPMs, the engine is going to stall (manual) or switch to neutral (automatic).
shayief··on Tangled, a Git collaboration platform built on atproto
For stacked diffs, check out https://gitpatch.com/
shayief··on The least amount of CSS for a decent looking site (2023)
I actually prefer limited content width for prose content. Full width content on wide screens requires moving eyes all the way from one side to another for every line.
shayief··on Ask HN: What are you working on? (September 2025)
I'm working on a new type of git forge[1], optimized for speed and work with patches.

It goes to extreme lengths to ensure great performance, i.e. rewritten most server-side parts of git from scratch, so there is no "exec"-ing git nor calls to libraries like libgit2. The frontend should also be very fast thanks for HTMX.

[1] https://gitpatch.com

shayief··on Code review can be better
Gitpatch attempts to solve this. Supports versioned patches and patch stacks (aka stacked PRs). Also handles force-pushes in stacks correctly even without Change-IDs using heuristics based on title, author date etc. It should also be unusually fast. Disclosure: I'm the author.

I'm not convinced that review comments as commits make thing easier, but I think storing them in git in some way is a good idea (i.e. git annotations or in commit messages after merge etc)

shayief··on AI is different
> in that every software engineer now depends heavily on copilots

With many engineers using copilots and since LLMs output the most frequent patterns, it's possible that more and more software is going to look the same, which would further reinforce the same patterns.

For example, emdash thing, requires additional prompts and instructions to override it. Doing anything unusual would require more effort.

shayief··on Jujutsu and Radicle
thanks for checking it out.

yeah, I plan to release it under AGPL at some point when it’s more complete. Currently it still needs more work. But no timeline yet.

shayief··on Jujutsu and Radicle
Gitpatch author here.

Gitpatch attempts to build a Git hosting with native support for patches and commit-based review system, where each commit is its own patch. It's also smart to handle force pushes and can update or reorder patches as needed.

shayief··on GitHub is no longer independent at Microsoft after CEO resignation
I'll plug another option Gitpatch, however it's pretty early beta and not open-source yet, but most likely will be under AGPL at some point. It has built-in patch stacks (aka stacked PRs) and probably faster than any other Git host out there. disclosure: I'm the author.
shayief··on Why is GitHub UI getting slower?
Codeberg UI appears to be pretty similar to GitHub, so it's great as GitHub alternative. It's powered by Forgejo, fork of Gitea.

Gitpatch is a bit different. It implements a new storage backend and Git library from scratch. It also uses patch-based model for code review vs pull requests, where specially-named branches are used to submit patches and patch stacks.

shayief··on Why is GitHub UI getting slower?
I'm building a new Git hosting service, focused on performance and using HTMX. For example, compare page load time:

- https://gitpatch.com/gitpatch/git-demo

- https://github.com/git/git

shayief··on Fast
ah, interesting. It starts fetching tree items on mousedown (vs onclick) to load them faster, so > starts moving a bit too early.
shayief··on Fast
I got so tired of waiting for GitHub pages taking ~600ms to load (uncached), so decided to build my own Git hosting service with Go and HTMX.

I know this is completely different scale, but compare: [1] https://github.com/git/git [2] https://gitpatch.com/gitpatch/git-demo

And there is no page cache. Sub 100ms is just completely different experience.

shayief··on Show HN: Dlg – Zero-cost printf-style debugging for Go
I usually leave them as uncommitted changes, then git checkout to undo them. And using something like `git add -p` to skip Printfs if I need to commit other changes.
shayief··on Ask HN: What are you working on? (July 2025)
https://gitpatch.com

Git hosting for async teams that supports versioned patches and patch stacks instead of pull requests. All done using the standard git SSH protocol, so no git-send-email needed.

shayief··on git-restore
Alternative to git checkout, but only for files.

See also the difference between reset, restore and revert https://git-scm.com/docs/git#_reset_restore_and_revert

shayief··on Runtime.js – JavaScript library OS
this is a great idea, thanks. I wish v7 had the same c++ API as v8 so it could be easily swapped though.
shayief··on Runtime.js – JavaScript library OS
this is correct, binary dependencies are not supported. The possible way to solve this is to compile non-js code into Asm.js/WASM or directly into js. I think this makes system a bit more stable (null-pointer error in the kernel mode will crash the OS for example) and makes V8 updates much more easier.
shayief··on Runtime.JS – Operating system kernel built on V8
It doesn't use threads, but programs are still preemptable. Single event loop uses multiple event queues. Every program owns its own event queue and runs in separate V8 context.

V8 supports script interruption for contexts. Engine puts interrupt guard checks into every function and every loop. So its possible to interrupt context even in a middle of infinite loop.

Yes, system doesn't solve multicore balancing problem for applications automatically. The idea is that every app can use available cores on a machine similar to a fixed size thread pool. So it can manually schedule tasks for available cores.

Whats interesting, that this thread pool could provide transparent access to computing power on other physical machines. So this should be pretty scalable.

GC pauses. Yes, this is a problem, but it shouldn't corrupt any data. I think hardware interfaces should provide some kind of error checking mechanism with the option to retry transmission. Worst case - critical parts implemented in native code.

Another idea how to deal with GC pauses is to reserve one core specifically for V8 concurrent GC tasks for every other core. Additionally this core can take care of all interrupt handlers.

shayief··on Runtime.JS – Operating system kernel built on V8
Yes, V8 supports this for contexts. Each program runs in its own context. Engine puts interrupt guard checks into every function and every loop. So its possible to interrupt context even in a middle of infinite loop.
shayief··on Ask HN: What projects are you working on?
Hacking on my JavaScript operating system

Built on V8 engine and actually boots on my hardware :)

https://github.com/runtimejs/runtime

shayief··on Webkit.js
Check out this kernel built on V8 engine, designed to run JavaScript code https://github.com/runtimejs/runtime