Link shorteners have been a staple of the online world for over two decades now, but theyβve got some issuesβ for one thing, itβs totally non-transparent where the link actually goes, leaving you open to all sorts of shenanigans, of which RickRolling is probably the best case. For two, your traffic is going through an external service who may have their own nefarious intent. [PortalRunner] had an idea: donβt shorten the link, but compress it.
You see, a traditional URL shortener like tinyurl just generates a random code and associates that with your original link in its database. Thatβs fine, but youβre relying on a third party database. The alternative is to take the URL, encode it in some way, and apply some compression algorithm to the data. If the encoding and compression are open-sourceβ which [Portal ]βs absolutely areβ then you can check yourself before following the link, and/or self-host the whole thing for piece of mind. As a bonus [Portal]βs Ha.mrβ thatβs pronounced Hammerβ also gives you a QR code optimized for easy scanning. QR codes have a specific alphanumeric character set built in, and it isnβt the full UTF-8β if you naively use random text, youβre in byte mode, which needs a lot more QR real estate. Or inverting that, the fewer bits it has to store, the easier a qr code is to scan at the same size. The text version of the compressed links can use UTF-8β including emoticonsβ but they donβt have to.
The whole project has a βwhy isnβt everyone doing it this wayβ vibe about it. Weβd probably want to self-host this if we were using it seriouslyβ [Portal] put this together on a lark and makes no promises it will be online foreverβbut again, this is open source, so we can. [Portal] is using normal compression algorithms here, but if you really want to squeeze text, use a neural net.Β