Readit News logoReadit News
seeyebe commented on Show HN: Gmap: Explore Git Repos Visually from the CLI   github.com/seeyebe/gmap... · Posted by u/seeyebe
wonger_ · 21 days ago
What information helps you to get onboarded into a new codebase?

I'm not sure there's anything better than manually tracing hotpaths and making changes. Maybe an INTERNALS.md to document architecture would be nice. And reading through recent PRs too. Curious about your approach.

seeyebe · 21 days ago
You’re right. What I’m working on is meant to complement that, especially early on. The goal isn’t to replace judgment or deep dives, but to surface patterns that can guide where to look: areas with a lot of churn, untouched files, contributors active in a specific part of the code, etc.

It’s still early, but I’d like to evolve it to make those insights more actionable, maybe even link recent PRs, show how files evolved, or highlight ownership boundaries. Feedback like yours helps shape that, so thanks again.

seeyebe commented on Show HN: Gmap: Explore Git Repos Visually from the CLI   github.com/seeyebe/gmap... · Posted by u/seeyebe
gregoriol · 21 days ago
Please don't call it "gmap" as it is a very commonly known name for another service; maybe "gitmap" or something that conveys the use would fit better?
seeyebe · 21 days ago
Good point, and I appreciate the heads-up. Naming is tricky. I’ll definitely consider renaming or at least making the distinction clear in the README
seeyebe commented on Show HN: Gmap: Explore Git Repos Visually from the CLI   github.com/seeyebe/gmap... · Posted by u/seeyebe
BugsJustFindMe · 21 days ago
> When you’re dropped into a new codebase, or even trying to clean up your own, questions like these matter: Which files change the most? Who made most of the changes last month? Are there dormant areas of the code? What’s the trend of contributions over time? Where is most of the churn?

Do those questions matter to you? They don't matter to me at all, so I'm curious to hear about why they matter to you. What do they matter to you for?

Knowing which code changes frequently or infrequently doesn't actually tell you anything about what code should change, because recency and frequency are not valid proxies for importance.

seeyebe · 21 days ago
Thanks for the thoughtful question. The tool doesn’t aim to declare what’s “important,” but rather to highlight patterns. like hotspots, dormant code, or contributor trends. that can guide refactoring, onboarding, or even just curiosity. For some workflows (e.g. legacy cleanup, team handover, bug tracking), that context can be quite valuable.
seeyebe commented on Show HN: Gmap: Explore Git Repos Visually from the CLI   github.com/seeyebe/gmap... · Posted by u/seeyebe
seeyebe · 25 days ago
(I posted a version of this earlier, but this is a proper “Show HN” with updates and full context.)
seeyebe commented on Show HN: Gmap: A fast command-line tool to explore Git activity   github.com/seeyebe/gmap... · Posted by u/seeyebe
fartbagxp · a month ago
This is darn neat!

I installed this via mise. `mise use ubi:seeyebe/gmap --global`. I noticed I had to run `gmap heat` to generate a cache folder and db locally before running `gmap heat tui`, otherwise nothing shows up.

It's scary to have the cache folder locally because I could accidently check that in if I don't place it in a .gitignore; is there a better way to handle something like that?

seeyebe · a month ago
Ah yeah, that changed recently, you now can use the tui and it will fetch anyways.

Good shout on the cache folder. Right now it just lives locally (.gmap), so yeah adding it to .gitignore is the way to go for now. I’ve been thinking about better ways to handle it. maybe an XDG-compatible path or something configurable. If a better idea comes up, I’ll def switch to it.

Thanks for trying it out!

seeyebe commented on Building Rq: A Fast Parallel File Search Tool for Windows in Modern C   github.com/seeyebe/rq... · Posted by u/seeyebe
eevmanu · a month ago
This tool looks great. Congrats for the making of this tool. I would like to know if there is any internal file that could be used to create a benchmark from it in order to compare how fast it gets results in comparison with Void Everything, which is the most common app if a Windows user would like to improve file search.
seeyebe · a month ago
Thanks! Great question. Everything is an excellent tool, but it works differently—it uses a pre-built index, while rq scans the file system in real time.

To benchmark, you can use hyperfine like this:

hyperfine 'rq C:\ ".png" --glob' 'es.exe .png' 'fd --type f png'

This compares rq, Everything CLI (es.exe), and fd.

seeyebe commented on Building Rq: A Fast Parallel File Search Tool for Windows in Modern C   github.com/seeyebe/rq... · Posted by u/seeyebe
seeyebe · a month ago
Windows search is slow and painful for developers. Even tools like Everything or PowerShell Get-ChildItem can crawl on huge directories. I wanted a CLI tool that feels instant—so I built rq, an open-source file search utility in modern C17 that leverages parallel directory traversal.

rq is typically 3–7x faster than common alternatives, supports filters (size, date, type, regex, glob), and streams results as text or JSON. It’s designed for scripting and developer workflows.

Why not just use existing tools? • Windows Explorer: slow, not scriptable • PowerShell: Get-ChildItem is painfully slow • Everything: fast, but GUI-first • ripgrep: amazing, but focused on text content search

rq focuses on metadata-based search for files and directories on Windows.

Core challenges: 1. Handling Windows quirks like MAX_PATH and Unicode (rq uses \?\ paths and UTF-8 internally) 2. Efficient parallel traversal without burning CPUs 3. Adding powerful filters without making everything slow

Design highlights: • Custom thread pool built on Windows Thread Pool API • Directory traversal is fully parallel: each worker processes directories and queues subdirectories • CLI filters: size, extension, date, regex, glob, file type

Example usage: rq D:\ “*.png” –glob –min 1M –after 2024-01-01 –threads 8

Performance benchmark (1.2M files on NVMe SSD, Windows 11, Ryzen 7): • rq (8 threads): 3.2s • Everything CLI: 6.8s • PowerShell Get-ChildItem: ~40s

Lessons learned: • C17 is still great for high-performance tools • Windows APIs are powerful but painful for paths and Unicode • Thread pools beat raw threads for scalability • Avoid syscalls in the hot path for speed

Source: https://github.com/seeyebe/rq

u/seeyebe

KarmaCake day10July 9, 2025View Original