Post AlzxhsLUcKi7UWD39k by aral@mastodon.ar.al
(DIR) More posts by aral@mastodon.ar.al
(DIR) Post #AlzkryOpfIqtl6FwQ4 by aral@mastodon.ar.al
2024-09-14T13:13:34Z
0 likes, 0 repeats
Was just documenting the KittenMoji standard I use to Base256 encode your ed25519 secret key in Kitten.The full alphabet:๐ต๐๐ฆ๐ฆง๐ถ๐๐ฆฎ๐ฉ๐บ๐ฆ๐ฆ๐ฑ๐๐ฆ๐ฏ๐
๐๐ด๐งฎ๐ฆ๐ฆ๐ฆ๐ฆฌ๐ฎ๐๐๐๐ท๐๐๐ฝ๐๐๐๐ช๐ซ๐ฆ๐ฆ๐๐ฆฃ๐ฆ๐ฆ๐ญ๐๐๐น๐ฐ๐๐๐ฆซ๐ฆ๐ฆ๐ป๐จ๐ผ๐ฆฅ๐ฆฆ๐ฆจ๐ฆ๐ฆก๐พ๐ฆ๐น๐๐ฃ๐ค๐ฅ๐ฆ๐ง๐๐ฆ
๐ฆ๐ฆข๐ฆ๐ฆค๐ชถ๐ฆฉ๐ฆ๐ฆ๐ฒ๐๐ข๐ฆ๐๐๐ฆ๐ฆ๐ณ๐๐ฌ๐ฆญ๐๐ ๐ก๐ฆ๐๐๐๐ฆ๐๐๐๐ชฒ๐๐ฆ๐ญ๐๐งฌ๐ชฑ๐ฆ ๐๐ธ๐ ๐๐น๐งฃ๐บ๐ป๐ผ๐ท๐ฑ๐ชด๐ฒ๐ณ๐ด๐ต๐พ๐ฟ๐ค๐๐๐ชบ๐ฝ๐๐๐๐๐๐๐๐ฅญ๐๐๐๐๐๐๐ซ๐ฅ๐
๐ซ๐ฅฅ๐ฅ๐๐ฅ๐ฅ๐ฝ๐งธ๐ซ๐ฅ๐ฅฌ๐ฅฆ๐ง๐ง
๐๐ฅ๐ฐ๐๐ฅ๐ฅ๐ฉ๐ฅจ๐ฅฏ๐ฅ๐ง๐ง๐ถ๐ธ๐พ๐จ๐๐ญ๐๐ญ๐ฅช๐ฎ๐ฏ๐ธ๐ท๐๐ฅ๐๐ผ๐๐พ๐ป๐ฅ๐ฟ๐งฉ๐๐ฅซ๐ธ๐๐๐๐๐๐๐ ๐ข๐ฃ๐ค๐ฅ๐ฅฎ๐ก๐ฅ๐ฅ ๐ฉฐ๐ฆ๐ฆ๐ฆ๐ฆ๐ก๐ฆ๐ง๐จ๐ฉ๐ช๐๐ฐ๐ง๐ฅง๐ซ๐ฌ๐ญ๐ฎ๐๐ผ๐ฎ๐น๐ซ๐๐๐๐งญ๐ ๐ช๐ช๐งต๐งถ๐ง๐๐ช๐๐๐Maybe Iโll make a limited-edition poster of it sometime :)https://kitten.small-web.org#Kitten #SmallWeb
(DIR) Post #AlzlZ0nCdxcpdIB4oi by blogdiva@mastodon.social
2024-09-14T13:21:24Z
0 likes, 0 repeats
@aral you encode secret keys with emojis? is that allowedโฝโฝโฝ
(DIR) Post #Alzlkmh4t8TlNgvUcS by ishotjr@chaos.social
2024-09-14T13:23:31Z
0 likes, 0 repeats
@aral oooo I think I need to get started with Kitten today!! ๐ป
(DIR) Post #AlzwujFReYOn5OwhCS by jalict@mastodon.gamedev.place
2024-09-14T15:28:28Z
0 likes, 0 repeats
@aral Never really thought about encoding stuff in Emojis. What a fun idea :)Now I wanna do savegames, or user-generated content for games in emojis haha
(DIR) Post #AlzxVcBGtMxJsja9i4 by aral@mastodon.ar.al
2024-09-14T15:35:09Z
0 likes, 0 repeats
@blogdiva Last I checked, I didnโt have to ask anyone for permission ;)
(DIR) Post #AlzxhsLUcKi7UWD39k by aral@mastodon.ar.al
2024-09-14T15:37:28Z
0 likes, 0 repeats
@jalict Why not? :)The design decision behind it is so folks canโt write it down on a post-it or something and have to keep it in their password manager (or find out what a password manager is and get one, if they donโt already know).Also, fun :):kitten: ๐
(DIR) Post #AlzxsH59VDt56cWbjc by jalict@mastodon.gamedev.place
2024-09-14T15:39:20Z
0 likes, 1 repeats
@aral Have this clean refresh video of the Emojis loading!
(DIR) Post #Alzy5pElpGh6nhU9Lc by freakazoid@retro.social
2024-09-14T15:41:46Z
0 likes, 0 repeats
@aral @blogdiva Encoding as emoji is funny, because the UTF8 ends up being 4x as many bytes as the original key, so 128 in this case, but because social media limits the number of characters and not the number of UTF8 bytes, it uses only 32 bytes of your character limit, less than hex or base64 would even though both of those would use less space in the database, in RAM, and on the wire.
(DIR) Post #AlzygLJK3TZ4hR1klU by aral@mastodon.ar.al
2024-09-14T15:48:18Z
0 likes, 0 repeats
@freakazoid @blogdiva Good point (no pun intended)โฆ I hadnโt even considered that (I hope folks donโt share their secret keys via social media) ๐ฌ
(DIR) Post #AlzylBpGkLNEjOHVD6 by aral@mastodon.ar.al
2024-09-14T15:49:19Z
0 likes, 0 repeats
@jalict Ah, haha, nice :)
(DIR) Post #AlzzXBqvwwzaiLwqye by freakazoid@retro.social
2024-09-14T15:47:39Z
0 likes, 0 repeats
@aral @blogdiva Hmm. If we assume bigint math is available, we could use 3184 of the emoji and encode your public key with only 22 emoji :D
(DIR) Post #AlzzXCcR6KzR5gAn1E by aral@mastodon.ar.al
2024-09-14T15:57:52Z
0 likes, 0 repeats
@freakazoid @blogdiva Oohโฆ Base3184, how delightfully evil :)The only problem I see is byte count. Iโm using only surrogate pairs. Afaik, there are less than 2,000 of those. So the codepoint size differences might be an issue.
(DIR) Post #Am01hlD3Y4x9AxSpG4 by freakazoid@retro.social
2024-09-14T16:22:14Z
0 likes, 0 repeats
@aral @blogdiva Hah, I'd missed that you said secret key. I seem to recall that was the original idea behind emoji-based codes, though they also look cool.I ran a script over https://unicode.org/Public/emoji/16.0/emoji-sequences.txt and only got 1185 that don't require 2 codepoints, so you're right. I did test with one codepoint sequence and confirmed it only uses a single character of my Mastodon character limit, so I may still publish an implementation just for fun.
(DIR) Post #Am03aRHRRkmFFP9TQO by freakazoid@retro.social
2024-09-14T16:35:16Z
0 likes, 0 repeats
@aral @blogdiva Damn, only 2321 in total even including those that require multiple code points. I don't even remember why I thought there were more than that.Base 921 encodes 256 bits in 26 emojis...
(DIR) Post #Am03aS54TETZjKN6mW by aral@mastodon.ar.al
2024-09-14T16:43:15Z
0 likes, 0 repeats
@freakazoid @blogdiva You remembered correctly: There are 3,790 in total in Unicode 16 (https://www.unicode.org/emoji/charts/emoji-counts.html) but thatโs with modifiers.
(DIR) Post #Am05hAQYhgv2ukkhOK by freakazoid@retro.social
2024-09-14T17:06:56Z
0 likes, 0 repeats
@aral @blogdiva My script must have had a bug, since looking at the counts in the data file it seems like there should have been a lot more than I was counting. I was creating the map for my encoder in the process, which left more room for bugs.Well, here's the base 921 version that only uses single codepoint emoji: https://git.sr.ht/~seanlynch/emoji921
(DIR) Post #Am1EjzaAZiFmtSd5W4 by by_caballero@mastodon.social
2024-09-15T06:23:02Z
0 likes, 0 repeats
@aral is this based on the emoji multibase or a different alphabet/algo? I've seen a few diff emoji bases over the years
(DIR) Post #Am1UH3wis0vnIQPDUm by aral@mastodon.ar.al
2024-09-15T09:17:06Z
0 likes, 0 repeats
@by_caballero Hadnโt heard of multibase (just looked it up, nice idea). This is just a basic map optimised for encoding/decoding ed25519 secret keys with a one-to-one mapping of bytes to emoji.https://codeberg.org/kitten/app/src/branch/main/src/lib/KittenMoji.js
(DIR) Post #Am3Qm0iUurICkzAoxk by by_caballero@mastodon.social
2024-09-16T07:46:51Z
0 likes, 0 repeats
@aral Haha nice! The backstory is that I was trying to figure out which entries in the Multibase registry were realistic to bring to IANA if Multibase were to become an RFC governed by a WG, and I opted to leave emojibase out because there were multiple competing prior arts and the one registered in multibase seemed to conflict with more widely-used ones. It's a v low priority for me but I always mention it to people working on base-encodings just in case it's something they care more about :D
(DIR) Post #Am4HxER7Xevu41HVb6 by erinaceus@fosstodon.org
2024-09-16T17:43:04Z
0 likes, 1 repeats
@aral I saw this and felt the need to write a rust crate for encoding/decoding KittenMoji: https://crates.io/crates/kittenmojiThat was a nice way to tune out all the stuff that is happening in the world right now. Also a nice way to get to know how to publish crates (with a crate that probably no one will use so it does not matter that much when I make mistakes :) )
(DIR) Post #Am4PKaZk5wT74BOmps by aral@mastodon.ar.al
2024-09-16T19:05:49Z
0 likes, 0 repeats
@erinaceus Haha, nice :):kitten: ๐