frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
194•isitcontent•10h ago•24 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
303•vecti•12h ago•135 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
246•eljojo•13h ago•149 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
65•phreda4•10h ago•11 comments

Show HN: ARM64 Android Dev Kit

https://github.com/denuoweb/ARM64-ADK
14•denuoweb•1d ago•2 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
86•antves•1d ago•63 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
47•nwparker•1d ago•11 comments

Show HN: Slop News – HN front page now, but it's all slop

https://dosaygo-studio.github.io/hn-front-page-2035/slop-news
6•keepamovin•1h ago•1 comments

Show HN: Artifact Keeper – Open-Source Artifactory/Nexus Alternative in Rust

https://github.com/artifact-keeper
148•bsgeraci•1d ago•62 comments

Show HN: Gigacode – Use OpenCode's UI with Claude Code/Codex/Amp

https://github.com/rivet-dev/sandbox-agent/tree/main/gigacode
16•NathanFlurry•18h ago•7 comments

Show HN: Fitspire – a simple 5-minute workout app for busy people (iOS)

https://apps.apple.com/us/app/fitspire-5-minute-workout/id6758784938
2•devavinoth12•3h ago•0 comments

Show HN: I built a RAG engine to search Singaporean laws

https://github.com/adityaprasad-sudo/Explore-Singapore
4•ambitious_potat•4h ago•4 comments

Show HN: Horizons – OSS agent execution engine

https://github.com/synth-laboratories/Horizons
23•JoshPurtell•1d ago•5 comments

Show HN: Daily-updated database of malicious browser extensions

https://github.com/toborrm9/malicious_extension_sentry
14•toborrm9•15h ago•5 comments

Show HN: FastLog: 1.4 GB/s text file analyzer with AVX2 SIMD

https://github.com/AGDNoob/FastLog
5•AGDNoob•6h ago•1 comments

Show HN: Falcon's Eye (isometric NetHack) running in the browser via WebAssembly

https://rahuljaguste.github.io/Nethack_Falcons_Eye/
4•rahuljaguste•10h ago•1 comments

Show HN: BioTradingArena – Benchmark for LLMs to predict biotech stock movements

https://www.biotradingarena.com/hn
24•dchu17•15h ago•12 comments

Show HN: Micropolis/SimCity Clone in Emacs Lisp

https://github.com/vkazanov/elcity
172•vkazanov•1d ago•49 comments

Show HN: Gohpts tproxy with arp spoofing and sniffing got a new update

https://github.com/shadowy-pycoder/go-http-proxy-to-socks
2•shadowy-pycoder•7h ago•0 comments

Show HN: I built a directory of $1M+ in free credits for startups

https://startupperks.directory
4•osmansiddique•7h ago•0 comments

Show HN: A Kubernetes Operator to Validate Jupyter Notebooks in MLOps

https://github.com/tosin2013/jupyter-notebook-validator-operator
2•takinosh•8h ago•0 comments

Show HN: Local task classifier and dispatcher on RTX 3080

https://github.com/resilientworkflowsentinel/resilient-workflow-sentinel
25•Shubham_Amb•1d ago•2 comments

Show HN: A password system with no database, no sync, and nothing to breach

https://bastion-enclave.vercel.app
11•KevinChasse•15h ago•13 comments

Show HN: GitClaw – An AI assistant that runs in GitHub Actions

https://github.com/SawyerHood/gitclaw
9•sawyerjhood•16h ago•0 comments

Show HN: 33rpm – A vinyl screensaver for macOS that syncs to your music

https://33rpm.noonpacific.com/
3•kaniksu•9h ago•0 comments

Show HN: Chiptune Tracker

https://chiptunes.netlify.app
3•iamdan•9h ago•1 comments

Show HN: Craftplan – I built my wife a production management tool for her bakery

https://github.com/puemos/craftplan
567•deofoo•5d ago•166 comments

Show HN: An open-source system to fight wildfires with explosive-dispersed gel

https://github.com/SpOpsi/Project-Baver
2•solarV26•13h ago•0 comments

Show HN: Disavow Generator – Open-source tool to defend against negative SEO

https://github.com/BansheeTech/Disavow-Generator
5•SurceBeats•19h ago•1 comments

Show HN: Agentism – Agentic Religion for Clawbots

https://www.agentism.church
2•uncanny_guzus•14h ago•0 comments
Open in hackernews

Show HN: Git-Add–Interactive with Enhancements

https://github.com/cwarden/git-add-interactive
75•xn•8mo ago
I created a replacement for the perl git-add--interactive that adds a few enhancements:

- S to automatically split all hunks

- G to set a global filter on hunks to show

- A to automatically accept all hunks (after auto-splitting and global filter are applied)

Comments

Ayesh•8mo ago
Congratulations on publishing this. I use `git add -p` quite a lot, and this project looks interesting!

I knew that you could place a `git-xyz` executable and you can call it as `git xyz`. I didn't know you could do it with flags !?!

A small video or some screenshots would help a lot. If you can record interactivity with ascii-cinema, that will be even better.

zacharytamas•8mo ago
Since the OP is familiar with the Go ecosystem, they could probably use vhs[1] easily to programmatically create an interactive demo GIF. That has worked very well for me in the past.

[1]: https://github.com/charmbracelet/vhs

xn•8mo ago
Good thinking. I added a vhs tape: https://github.com/cwarden/git-add--interactive/blob/main/RE...
xn•8mo ago
Good idea. I'll try to throw something together.
sevg•8mo ago
This looks neat!

I think it’ll fit nicely alongside scmpuff which I’ve been using for years (and at this point refuse to ever give it up): https://github.com/mroth/scmpuff

wapeoifjaweofji•8mo ago
I've used `tig` for this sort of thing for well over a decade. `tig status` lets you see all files, interactively add things, whatever.
foobarbaz33•8mo ago
Another tig user! Proof there are 1's of us out there.
29athrowaway•8mo ago
I have been using tig for years. Great software
zacharytamas•8mo ago
I always love to see these little git extensions. For anyone else interested in this stuff, here are some others I like:

lazygit (of course): https://github.com/jesseduffield/lazygit

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

rebase-editor: https://github.com/sjurba/rebase-editor

G1N•8mo ago
Been looking for something like git machete for the longest time, thanks for sharing!
lucasoshiro•8mo ago
Question: why not send this to the Git mailing list, and hopefully get this in upstream?
xn•8mo ago
After banging on it a bit more, yes, it would be nice to replace the upstream version.
lucasoshiro•8mo ago
Nice!
williamdclt•8mo ago
I don’t think the Git maintainers will consider adding Go as a dependency and having commands in a new language.

Or at least, it would require first a massive effort to align the maintainers on the idea of a new language, like Rust in the Linux kernel

xn•8mo ago
I updated my calendar to revisit in 2045.
lucasoshiro•8mo ago
> I don’t think the Git maintainers will consider adding Go as a dependency

Just re-write in C

williamdclt•8mo ago
This "just" carries a lot of weight.

And that's probably not enough: for example likely you'd need to reuse whatever Git uses to generates patch formats. It's not necessarily _hard_, but it's not "just" a language translation.

derintegrative•8mo ago
"Just"
xn•8mo ago
Maybe someone will create modernperl, à la modernc, to automatically port go to perl.
imiric•8mo ago
Or just improve the Perl version? There's no reason this needs to be written in Go.
jdlyga•8mo ago
It would be nice if this had the same interface for `git add -i` allowing you to type in numbers or letters.

** Commands **

  1: status   2: update   3: revert   4: add untracked

  5: patch   6: diff   7: quit   8: help
What now>

This allows you to either type in (p) or (5) to go into patch mode.

xn•8mo ago
Thanks for the feedback. The latest version improves compatiblity with the perl version: https://github.com/cwarden/git-add--interactive/releases/tag...
jasonjmcghee•8mo ago
I'm a serial "git add -p" user. (Micro-review before every commit is super healthy imo).

I made an alias a while ago I use frequently:

    af       => !f() { git add -p $(git diff --name-only | fzf); }; f

When you have a large diff, it's get unruly quickly to "add -p".

This just prompts you with a fuzzy find of the files that have changed and you can just pick one to go through the "add -p" process for that file.

For the terminal averse, IDEs usually have "jump to next change" and a tab for the changed files that can achieve the same.

Night_Thastus•8mo ago
I used to do patch operations and hunk-editing for everything and really enjoyed it. It definitely helps to put a fresh view on the code and see anything missed.

Eventually I moved on to going line-by-line with a GUI tool. In my case Git-cola, but I'm not positive I'd recommend it because it's quite slow on Windows.

h1fra•8mo ago
same I just wish it would split things even more by default
muxxa•8mo ago
My 2c: I'd like to see git add interactive go through the hunks in order of most recent first!
yencabulator•8mo ago
How do you define hunk recency when comparing a staged file vs file on disk?
treve•8mo ago
The one feature I would love to see and would be an instant-install, is a command that lets me revert a hunk back. It would be nice to be able to wipe out some dangling console.log() statements as I go through the changes.
strogonoff•8mo ago
I used to hate leaving Vim for Git’s interactive staging mode or some separate GUI to pick apart a hairy set of changes. As a result I usually tried to avoid these messy situations.

Then I discovered Vim fugitive. It allows to go through the diff and stage chunks so intuitively, it changed the way I work. Just j/k to move around, = to expand file, s to stage selection, c to commit. The process of reviewing changes became very natural and actually enjoyable. I like the feeling of control it gives and how it makes focused commits painless while not disrupting the flow.

kccqzy•8mo ago
And if you use magit for Emacs, it's also extremely easy to stage hunks selectively and easily: s to stage, cc to commit staged, ca to amend with staged, etc. This is the way: don't use the git CLI. Use your editor.
pi-rat•8mo ago
Frankly, it’s so good I use emacs just for git even when coding in other editors.
p_wood•8mo ago
I like the idea of 'G' to filter hunks. The perl script does not exist since git v2.40.0 so I don't think the installation instructions work for recent versions of git as there is no way to stop 'git add -p' from running the builtin version. I see this is MIT licenced but the code is very closely based on the perl script which is licensed under the GPLv2.
xn•8mo ago
huh. I guess this is a prototype for features that will have be submitted to the upstream version. There was a feature in development for something like `git add -G <regex>`, maybe a decade ago, that never got completed.

As for licensing, I'm happy to change the license. I have no strong feelings on the subject, and don't know what restrictions GPLv2 imposes on a port to another language.

p_wood•8mo ago
It would be really nice to have this upstream - I don't know if the upstream implementation being in C now makes that easier or harder. As for the license I think because this is so closely based on GPL code it would be safer to use the same license.
loevborg•8mo ago
This is my favorite alias:

    i = !git add -N . && git add -p
`git i` lets you interactively add new files as well as existing ones
areusch•8mo ago
the thing i really wish existed was git add -p mode that automatically segmented unstaged changes into a series of fixups based on the blame of the surrounding area that changed. this wouldn't work in all cases, but in many cases, i've made a series of 3-4 clearly-separable changes, i then go and make fixes on top of all of them, and now i want to fixup each change.
imiric•8mo ago
Have you taken a look at git-absorb[1]?

It often did the wrong thing IME, but YMMV.

[1]: https://github.com/tummychow/git-absorb