suggest
selfhosted
suggest | selfhosted | |
---|---|---|
2 | 3 | |
14 | 258 | |
- | - | |
3.6 | 7.2 | |
10 months ago | 3 months ago | |
Nim | Jinja | |
ISC License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
suggest
-
Self Hosted SaaS Alternatives
You are welcome. Thanks are too rarely offered. :-)
You may also be interested in word stemming ( such as used by snowball stemmer in https://github.com/c-blake/nimsearch ) or other NLP techniques, but I don't know how internationalized/multi-lingual that stuff is, but conceptually you might want "series of stemmed words" to be the content fragments of interest.
Similarity scores have many applications. Weights on graph of cancelled downloads ranked by size might be one. :)
Of course, for your specific "truncation" problem, you might also be able to just do an edit distance against the much smaller filenames and compare data prefixes in files or use a SHA256 of a content-based first slice. ( There are edit distance algos in Nim in https://github.com/c-blake/cligen/blob/master/cligen/textUt.... as well as in https://github.com/c-blake/suggest ).
Or, you could do a little program like ndup/sh/ndup to create a "mirrored file tree" of such content-based slices then you could use any true duplicate-file finder (like https://github.com/c-blake/bu/blob/main/dups.nim) on the little signature system to identify duplicates and go from path suffixes in those clusters back to the main filesystem. Of course, a single KV store within one or two files would be more efficient than thousands of tiny files. There are many possibilities.
-
SymSpell: 1M times faster spelling correction
As jamra correctly points out, the entry point to this (which gets a lot of traction on HN) is indeed attacking a strawman tutorial-written-on-an-airplane algorithm. So, the 1M speed-up is majorly over-hyped.
That said, the technique is not wholly without merit, but does carry certain "risk-reward" trade offs related to latency in the memory/storage system because of SymSpell's reliance upon large hash tables. For details see https://github.com/c-blake/suggest
selfhosted
- My collection of Ansible roles for self-hosting everything with Rocky Linux and FreeIPA
-
Self Hosted SaaS Alternatives
I self-host literally everything (email, calendar/contacts, VOIP, XMPP, you name it) from by basement with used 1U servers from eBay and a cable internet connection.
It was probably more hassle than most people would want to bother with to get it set up. But, with everything up and running, there's very little maintenance. I probably spend a few hours a month tinkering still, just because I enjoy it.
I use a stack of Proxmox VMs, FreeIPA for authn/authz, and Rocky Linux for all servers and workstations. My phone runs GrapheneOS with a Wireguard VPN back to the house. I don't expose anything to the public internet unless absolutely necessary.
I recently anonymized and Ansibilized my entire setup so that others might get some use out of it:
https://github.com/sacredheartsc/selfhosted
What are some alternatives?
nimsearch - A nascent tutorial/intro to search engine ideas in Nim
coolify - An open-source & self-hostable Heroku / Netlify / Vercel alternative.
abydos - Abydos NLP/IR library for Python
syncthing-android - Wrapper of syncthing for Android.
ordiri
FreeIPA - Mirror of FreeIPA, an integrated security information management solution
jsymspell - Java 8+ zero-dependency port of SymSpell: 1 million times faster through Symmetric Delete spelling correction algorithm
Bitwarden - The core infrastructure backend (API, database, Docker, etc).
home-ops - Wife approved HomeOps driven by Kubernetes and GitOps using Flux
awesome-selfhosted - A list of Free Software network services and web applications which can be hosted on your own servers
core - OPNsense GUI, API and systems backend
Jellyfin - The Free Software Media System