Skip to content
weep edited this page Dec 3, 2023 · 50 revisions

base-62 (x62) とは、#InstanceTicker で使用している「62進数」のことである。

この62進数が #InstanceTicker の隠し味である。

暫定的な名前(変数)は $que だが、SQL の Query の意味ではなく、REQUEST_URI のほうの意味。

REQUEST_URI は $req で使っているため $que にしたのが由来(適当)。

Queue からきたのかも知れないが、暫定的な名前というのは特に意味はない。

概要

image

画像は、エンコードとデコードの処理が書かれたPHP。。。


カスタムCSSであることから、文字数を極力減らしたいということで weepjp が工夫に工夫を重ねた文字数削減技(?)である。

2世代目 で設計されたもので、アイコン画像用URLを62進数にすることで、 3843 まで2桁、、、もとい2文字以下で表記を可能にし、これでCSSの文字数削減が期待できるというもの。

仕様

数字 → 英小文字 → 英大文字 ( 123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ) という61文字の並び。

Z の次は 10 である。

3843ZZ となり、2桁、、、もとい2文字表記の最後の値である。

この並びにしたのは、敢えて文字コード順(数字 → 英大文字英小文字)とは別物であると区別するため。

一般的な 32進数や64進数で使われがちの =_ - + / などの記号を採用しなかったのは、URLに適している文字を厳選したため。

そのうち、_ - は、mod ファイル名用に使用する想定で省いている(つもりだったが忘れていた)。

instances との関わり

instances の連番 id の値を62進数に変換し、画像URLや、CSS の :root 要素に利用している。

1文字枠

SNSというかソーシャルメディアのソフトウェアの情報データ(名前と画像など)を格納している。

実質、61 件しか格納を想定していないため、乱立するであろう Fork (亜種)の区別はしない方針 Misskey のフォークが乱立した結果、この方針は変更された。

分類不明のものは暫定として 60(Y) として設定される(Ohagi など)。

個々のサーバーの favicon 設定に委ねており、Forkロゴ favicon であれば(type1 ~ type3 で 表示され)区別できる。

例えば、Mastodon Fork「Hometown」は、固有の favicon ( image ) を制定しているため、区別しやすくなっているので、Fork開発者さんは固有の favicon を制定してくださるとありがたいかも(鯖缶に変更されたら意味がないですが)。

なお、枠は柔軟に増設できるが、それは61種類を越えるソフトウェアが生まれたときに考える。

過去、Gab Social(現在はActivityPubってないため除外済み) や SoapBox (Pleroma のフロントエンド) など、Forkで区別していた時期はあるが、Forkに転換したインスタンスも多々あったため(特に、Mastodon → Hometown や Pleroma → Akkoma のケースが顕著である)、亜種の区別を重要視する必要はないと判断した。

2文字枠

3783 件の格納ができる。

数に限りがあるため、サービス終了・不調状態(証明書期限切れ含む)から一定期間を経て復帰されなかった件は、再利用され新たなサーバー情報に上書きされうる。

3文字枠

それを超えた場合は3文字を扱う必要が出てくるが、すでに mod で、3文字(css, 330, 402)で使用している。

CSSファイルとしては、3783 件以上の設定されたものは現実的ではないので、それを超えないことを目安にして運用する方針である。

しかし、2023/09/09 より、62進数 200(7688)まで拡張したことにより、3桁の1部が使用されることに(筆記現在の表示設定数は 2970 を超える)。

関連項目