HackerTrans
TopNewTrendsCommentsPastAskShowJobs

neogoose

no profile record

Submissions

F* file system – file search that reads SSD directly bypassing OS kernel

github.com
112 points·by neogoose·il y a 22 jours·51 comments

OpenCode migrates file search to fff – rust based file search SDK

twitter.com
4 points·by neogoose·le mois dernier·0 comments

The future of code search is not regex – 100x faster than ripgrep

fff.dmtrkovalenko.dev
60 points·by neogoose·il y a 3 mois·44 comments

FFF MCP – file search tool for AI that is faster and cheaper [video]

youtube.com
1 points·by neogoose·il y a 4 mois·1 comments

Fff.nvim – Typo-resistant code search

github.com
66 points·by neogoose·il y a 5 mois·15 comments

Zlob.h 100% POSIX and glibc compatible globbing lib that is faste and better

github.com
36 points·by neogoose·il y a 5 mois·20 comments

Show HN: Free and local browser tool for designing gear models for 3D printing

gears.dmtrkovalenko.dev
53 points·by neogoose·il y a 6 mois·13 comments

comments

neogoose
·il y a 20 jours·discuss
It doesn't have to, you can give it a blob of bytes as well. It's just hard to keep it a cli and doesn't use kernel at all

more correct would be - do not use kernel file system
neogoose
·il y a 20 jours·discuss
yeah I was just picking up an interesting the title for hn, you should read a README to get the actual understanding of project
neogoose
·il y a 22 jours·discuss
This is practically the most useless project becuase you can not run it without sudo permissions, but it was insanely fun to work on it

supports ext4, btrfs, and apfs. Multithreaded, supports compression, nested volumes, and can even search detached volumes like .iso and .dmg without mounting

An interesting bonus point: you can't really vibe code it cause clankers can not run sudo commands
neogoose
·il y a 3 mois·discuss
it is absolutely amazing experience on mobile if you guys do not understand how to use a search bar and a couple of segmeneted controls -- there is nothing much I can do about it
neogoose
·il y a 3 mois·discuss
you absolutely missed the point
neogoose
·il y a 3 mois·discuss
my tool is not using regex, it can use regex but it is not required
neogoose
·il y a 3 mois·discuss
you can try it yourself. ripgrep search for "MAX_FILE_SIZE" in the chromium repo takes 6-7 seconds, with fff it is 20milliseconds

so essentially in this specific case it is over 1000x faster, but the repo size is huge (66G, 500k files)
neogoose
·il y a 3 mois·discuss
because it is meant to be used by the long running sdk not one shot search (this is where all the optimizations are coming from)
neogoose
·il y a 3 mois·discuss
it looks absolutely gorgeous btw but the idea is that you can try the search speed not actually use lmao
neogoose
·il y a 3 mois·discuss
it very much depends on the platform and the operating system

for example ripgrep doesn't do any memory mapping on macos which makes it 2-3x faster just becuase of that
neogoose
·il y a 3 mois·discuss
if you would search in the chromium repo you would see the correct match https://fff.dmtrkovalenko.dev/?repo=2&q=bazel
neogoose
·il y a 3 mois·discuss
I have open sourced the fastest code search implementation. Comprehensive SDK for both file finder and grep file search that is over 100x faster than ripgrep
neogoose
·il y a 4 mois·discuss
fff originated as very much loved neovim file finder that is not a ripgrep wrapper and provides better and faster search

Lately I've been researching the way to make it work for AI to improve the search ai harness is perfroming and the results are amazing

works for every harness https://github.com/dmtrKovalenko/fff.nvim
neogoose
·il y a 5 mois·discuss
Since glibc (better to say csh) implemented it. https://man7.org/linux/man-pages/man3/glob.3.html search for GLOB_BRACE
neogoose
·il y a 5 mois·discuss
I agree though the main problem for me is not the API it's missing functionality of patterns like ./*/*.c. There is a very long running thread in the gnu mailing list where authors do not like this idea.

While I need this because everyone expects it to be available. Another reason is the API for thing like someone else asked here already (match in memory over a list of paths)
neogoose
·il y a 5 mois·discuss
That's one of the reasons I built zlob. It literally has an endpoint to do this but if you are talking about glibc there are 2 options

1. fnmatch function which is not ideal because it doesn't take into account all the path specific optimizations and does not support BRACE 2. ALTDIRFUNC flag for globbing let you simulate file system which absolutely sucks

in zlob you can simply call zlob_match_paths(<pattern>, <list>, flags, ptr)

where list would be either c string or rust/zig like slices
neogoose
·il y a 5 mois·discuss
100% POSIX and glibc compatible globbing library for C, Zig, and Rust that is faster and supports all the modern globbing formats (more than libc and rust glob crate)

It supports all the formats like * and {a,b} expansion as long as have a very efficient syscall and SIMD optimization for faster processing
neogoose
·il y a 6 mois·discuss
I should at some point, I do not need other gear types so I didn't do that, but if this project gets a little attention I'll just do it
neogoose
·il y a 6 mois·discuss
I printed a lot of gears from this website (well I built it because I had to print a lot of different gears) and they came out very nice and reinforced. If you use the optimized for 3D printing export it doesn't need anything from your printer software to just print it, and they mesh with existing gears just fine (for sure if you calculated module correctly)

Libraries are simple: threejs for preview, meshlib for watertight export, used some frontend framework for state management too