sqids-dotnet
sqids-ruby
sqids-dotnet | sqids-ruby | |
---|---|---|
2 | 2 | |
681 | 102 | |
8.4% | - | |
7.5 | 6.3 | |
3 months ago | 8 months ago | |
C# | Ruby | |
MIT 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.
sqids-dotnet
-
Sqids – Generate Short Unique IDs from Numbers
The approach definitely works. Some time ago I saw .NET listed but discovered it wasn't complete. I was eager to replace an existing Hashids implementation so I made some comments, shared a starter-snippet, and then someone was excited enough to complete in just a few days. It was great to see how quick the community stepped in. Maybe there was a bit of Cunningham's Law in effect with my contribution, ha.
https://github.com/sqids/sqids-dotnet/issues/2#issuecomment-...
- Sqids: Hashids, improved – encode numbers into random looking strings and back
sqids-ruby
-
Sqids – Generate Short Unique IDs from Numbers
I actually used sqids algo for something very different where I had to encode arbitrary sized byte arrays. And with Ruby it was very simple to remove limit - I think it was matter of monkey-patching https://github.com/sqids/sqids-ruby/blob/main/lib/sqids.rb#L... to return infinity.
The reason for the limit is most likely to ensure interoperability with libraries in other languages where working with bignums is much more complicated.
What are some alternatives?
sqids-javascript - Official JavaScript port of Sqids. Generate short unique IDs from numbers.
nanoid-dictionary - Predefined character sets to use with nanoid
nanoid-good - Obscene words filter for nanoid
base-emoji - BaseEmoji is a binary-to-emoji encoding scheme that represent binary data in a subset of the Unicode Emoji symbols, designed for triggering senior programmers effortlessly. BaseEmoji is heavily influenced by my furstration towards my tech lead that always shares data (base64 encoded) with me.
DotNetCore - .NET 8 Nuget Packages.
sqids-cpp - Official C++ port of Sqids. Generate short unique IDs from numbers.
Fine Code Coverage - Visualize unit test code coverage easily for free in Visual Studio Community Edition (and other editions too)
Architecture - .NET 8, Angular 17, Clean Architecture, Clean Code, SOLID Principles, KISS Principle, DRY Principle, Fail Fast Principle, Common Closure Principle, Common Reuse Principle, Acyclic Dependencies Principle, Mediator Pattern, Result Pattern, Folder-by-Feature Structure, Separation of Concerns.
compiler-explorer - Run compilers interactively from your web browser and interact with the assembly