User:Opencooper/IPtoEmoji

__INDEX__ IPtoEmoji.js adds an arbitrary emoji representation to IP addresses for better recognizability. To humans, a string of random numbers doesn't mean much, but since we're very visual, emoji can help us easily differentiate different IP addresses. For example, 107.77.209.32 would become [🎪🍹👊🍉]. The next sequential address, 107.77.209.33, would be [🎪🍹👊🍊]. It also helps spice pages up. ✨

Note, the idea of adding visual representations to hashes is not new. OpenSSH has "randomart" to help humans validate keys that would otherwise mean nothing to them. The idea of using emoji and the specific selection came from windytan/emoji.pl.

Installation
To install the script, add the following to your common.js page:

Where it works

 * Anywhere the interface autogenerates links to user pages, such as in Watchlists
 * IP contribution and talk pages
 * Anywhere someone links an IP address and also mentions the address in the link text
 * Special:RecentChanges

Limitations
The script doesn't work in IE due to the method used to pad strings, but if you're still using that, you probably don't even know what emoji are ;). I don't plan on supporting the emoji for arbitrary IP addresses written anywhere, as it would just be obnoxious.

While IPv4 addresses will have 4-emoji long representations, IPv6 will be 16-long. This might make the latter seem impracticably long, but it's a testament to how many IP addresses it supports compared to the now-depleted IPv4 pool. It's a mathematical fact that you can't convert a set of unique numbers into a smaller set without loss. Meaning: we can't use less emoji for IPv6 addresses without duplication. There are also not nearly enough emoji to use a unique one for all the addresses.

License
This script and any associated files are licensed under Creative Commons Zero.