News for hackers. Stuff that matters.
Re:Atuin replaces your existing shell history with a SQLite ... by bastawhiz on Saturday May 06, 2023 @12:09PM (#35842695)
Grep only works if you want an exact string match. If you want to find words out of order or support features like stemming, fts is necessary.
Re:Atuin replaces your existing shell history with a SQLite ... by wpietri on Saturday May 06, 2023 @12:17PM (#35842749)
Maybe I have some sort of disease, but while reading "find words out of order or support features like stemming" the regexs for that immediately flashed before my eyes, so I think "necessary" is a little strong there.
Re:Atuin replaces your existing shell history with a SQLite ... by jack_squat on Saturday May 06, 2023 @12:40PM (#35842986)
FTS is not the same as regex.
Re:Atuin replaces your existing shell history with a SQLite ... by wpietri on Saturday May 06, 2023 @12:54PM (#35843123)
I don't think I said it was. I was addressing the specific use cases mentioned. If there's another use case you think is important in searching command line history, feel free to describe it.
Re:Atuin replaces your existing shell history with a SQLite ... by justinclift on Saturday May 06, 2023 @02:47PM (#35844198)
> feel free to describe it

Didn't they already? eg stemming

Re:Atuin replaces your existing shell history with a SQLite ... by epr on Saturday May 06, 2023 @04:13PM (#35844980)
Most stemming use cases are trivially solved with a regex. That's the point he was making. The difference between a beginner and expert with regexes is quite a lot.
Re:Atuin replaces your existing shell history with a SQLite ... by justinclift on Saturday May 06, 2023 @10:01PM (#35847192)
Ahhh, interesting point.

"We could learn advanced regexes... or we could just use FTS5".

Hard call. :)

Re:Atuin replaces your existing shell history with a SQLite ... by epr on Sunday May 07, 2023 @06:56AM (#35850131)
Well, I suppose what's trivial for me might be advanced for you :)
Re:Atuin replaces your existing shell history with a SQLite ... by justinclift on Sunday May 07, 2023 @09:57AM (#35851567)
For regexes, definitely. ;)
Re:Atuin replaces your existing shell history with a SQLite ... by wpietri on Sunday May 07, 2023 @12:02PM (#35852816)
Maybe! Full-text search is great for text. Command lines have some things in common with text, but they definitely aren't normal text. E.g., punctuation is much more significant. Stemming may not be appropriate. Case matters. Word boundaries are different, and many of the significant lumps aren't really words.
Re:Atuin replaces your existing shell history with a SQLite ... by jefftk on Saturday May 06, 2023 @12:31PM (#35842888)
With a small enough corpus, full text search does not require an index to be instantaneous, and 100k entries is easily small enough for that.

Additionally, everything you describe can be phrased as a regular expression.

Re:Atuin replaces your existing shell history with a SQLite ... by bastawhiz on Saturday May 06, 2023 @01:03PM (#35843225)
Sometimes it's nice to not manually write a regexp to find all of the variants of every word or deal with arbitrary ordering of substrings. And if you're using SQLite and fts5 is installed, why not just create a virtual full text search table with one command and use that? With a small enough corpus, it's a meaningless distinction to bikeshed about the implementation: the easiest solution to build is the best. 500MB of disk space for a pet project that gives you convenience is a terrifically small amount of storage. I have videos that I recorded on my phone that take up more than double that.