5 ms·
If you're really adventurous, you could just use Braille which has 255 Unicode symbols. Ahem ip6emoji("fe8000000000000003ceecdfffe30c27",Char(0x2800)) => "⣾⢀
by elcritch 11y ago
If you're really adventurous, you could just use Braille which has 255 Unicode symbols. Ahem
ip6emoji("fe8000000000000003ceecdfffe30c27",Char(0x2800))
=> "⣾⢀⠀⠀⠀⠀⠀⠀⠃⣎⣬⣟⣿⣣⠌⠧"
Then:
deadbeef000000000000000000000001
2607f2f8a36800000000000000000002
fe8000000000000003ceecdfffe30c27
fe800000000000000000000000000001
2607f8b040078090000000000000200e
Becomes:
⣞⢭⢾⣯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁
⠦⠇⣲⣸⢣⡨⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂
⣾⢀⠀⠀⠀⠀⠀⠀⠃⣎⣬⣟⣿⣣⠌⠧
⣾⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁
⠦⠇⣸⢰⡀⠇⢀⢐⠀⠀⠀⠀⠀⠀⠠⠎
At first I was just playing around, but after a bit it begins to resemble one of those binary clocks. It even becomes somewhat natural to read. Might actually use this for myself... something nice about the 2x4 bit block patterns. 64bit pointer addresses?
- proactivesvcs 11y agoI parsed that as Conway's Life. Which is odd, because I've not played with, nor seen it, since about 1993! I'll be plumbing that into Life to see what happens.
- elcritch 11y agohehe, now I'm going to envision a giant Conway's game of life being played every time I see a room full of IoT devices on IPv6. Wonder if there would be an interesting way to visualize a cascading failure of the kind that brought down AWS in past years. Which of course makes one wonder if there would be any kind of useful calculus for a series of such glyphs. PS: according to wikipedia there is a calculus of communicating systems of sorts: https://en.wikipedia.org/wiki/Calculus_of_communicating_systems https://en.wikipedia.org/wiki/Calculus_of_communicating_syst...
- kbenson 11y agoI guess if you make sure to always use a mono-space version of Braille (I'm not sure that makes sense, it could be a requirement it be mono-spaced) and have really good whitespace awareness. That output gives me a very good quick general feel of an address, but very poor fidelity.
- na85 11y agoThat results in a different usability problem. Installed fonts are very nonstandard. At the moment I happen to be on an up-to-date version of Windows 7 and here's what it looks like: http://imgur.com/U5vZFRQ http://imgur.com/U5vZFRQ *edit: though it appears to render properly on Debian
- outworlder 11y ago"up-to-date version of windows7" reads like an oxymoron.
- mulmen 11y agoWhy? Windows 7 gets regular updates. Windows 8/8.1/10 are not updates to Windows 7, it is a different operating system. Edit: Not sure why all the downvotes, I honestly don't see how "up to date Windows 7" is an oxymoron.
- johnmaguire2013 11y agoUpvoted because downvotes without reasoning is pointless. In regards to why I think you may being downvoted: > reads like an oxymoron The parent was being a bit facetious. We all know they are different operating systems. But it's far less likely that an operating system that no longer receives "feature" updates would be up-to-date on its fonts. In any case, an oxymoron is (per Google): > a figure of speech in which apparently contradictory terms appear in conjunction (e.g., faith unfaithful kept him falsely true ). Which I think the parent accurately described. (It's apparently contradictory, but has meaning.)
- outworlder 11y ago> Why? Windows 7 gets regular updates. Windows 8/8.1/10 are not updates to Windows 7, it is a different operating system I'll address this point, the sibling comment already addressed the other point (it wasn't meant as a criticism, by the way). It's true that Windows 7 still get updates. However, these are mostly security updates, or bugfixes. We don't expect it to get new features. In this case, unicode font rendering. It is likely (but not guaranteed) that a user running Windows 10 would see a much better result.
- arm 11y agoFor reference, it looks like this on Safari v9.0.2 on OS X v10.11.2 'El Capitan': http://f.cl.ly/items/0E182U1p3r430M073w2i/braille.png http://f.cl.ly/items/0E182U1p3r430M073w2i/braille.png Seems like the font that OS X’s text rendering system substitutes for the braille characters (U+28E3, etc.) is Apple Braille Regular over the other fonts installed that also have glyphs for those codepoints (Apple Symbols, Everson Mono (font I installed myself), and Symbola (font I installed myself)). As an aside (and yes, I’m copying part of a post I made more than a year ago¹; I’m still interested in knowing the answer to this!) I’m pretty interested on how OS X and Windows decide on which font to use when there are multiple fonts installed containing the required glyph. For example, I have two other fonts on my OS X system that have a glyph for U+2705 (Everson Mono and Symbola), but OS X always seems to consistently pick Apple Color Emoji’s glyph. Maybe OS X’s text rendering system goes through the fonts in alphabetical order and uses the first one it finds containing the required glyph? It would be great if end users could have a bit more control over the font substitution process. I know it’s possible to do in some text editors like Emacs², but I believe that programs like that use their own text rendering systems instead of that supplied by the OS (could be wrong though). ―――――― ¹ — https://news.ycombinator.com/item?id=8865067 https://news.ycombinator.com/item?id=8865067 ² — http://stackoverflow.com/questions/6491202/overriding-emacs-23-font-substitutions http://stackoverflow.com/questions/6491202/overriding-emacs-...
- guelo 11y agoI like where you're going with this. By using a base 256 representation you shrink hex's 32 charachters down to 16, almost the same as IPv4's decimal dot representation of 15 characters: 255.255.255.255. But obviously you don't address the typeability issue. Without using the shift key it's easy to type base 32 numbers. That comes out to an average of 26 characters per IPV6 address. So Hex deadbeef000000000000000000000001 2607f2f8a36800000000000000000002 fe8000000000000003ceecdfffe30c27 fe800000000000000000000000000001 2607f8b040078090000000000000200e Becomes base 32: 6ULMVEU0000000000000000001 160VPFH8R80000000000000002 7UG000000000007JNCRVVU6317 7UG00000000000000000000001 160VSB0G07G28000000000080E If we are willing to use the shift key we could move up to Base 64 and get it down to an average of 21 characters. (Anyone know why the standard base 64 alphabet starts at A instead of 0?): 3q2+7wAAAAAAAAAAAAAAAQ Jgfy+KNoAAAAAAAAAAAAAg /oAAAAAAAAADzuzf/+MMJw /oAAAAAAAAAAAAAAAAAAAQ Jgf4sEAHgJAAAAAAAAAgDg Now if we are willing to use unicode characters, why stop at base 256? Unicode has 95,000 characters so we could use a base 65,536 number and cut it down to 8 characters, now we're talking! Unfortunately to get it down to 4 characters would require 4,294,967,296 different characters. Even the extended unicode set won't get us there. But maybe an alphabet with emoji could be practical. You could have smiley or sad faces in your IP address. All kinds of possibilities with that. Though software such as this HN website would have to be fixed to be able to display it. But you know, a long term project.
- gre 11y agoI like the base32 one. If you put two colons in front then you can even copy/paste and it distinguishes it from other text as an ipv6. ::6ULMVEU0000000000000000001 ::160VPFH8R80000000000000002 ::7UG000000000007JNCRVVU6317 ::7UG00000000000000000000001 ::160VSB0G07G28000000000080E
- oconnor663 11y agoThere's an RFC for IPv6 addresses in Base85: https://tools.ietf.org/html/rfc1924 https://tools.ietf.org/html/rfc1924
- azdle 11y ago> 7. Implementation Issues > Many current processors do not find 128 bit integer arithmetic, as required for this technique, a trivial operation. This is not considered a serious drawback in the representation, but a flaw of the processor designs. Oh, IETF, please never change.