What goes on/what's going on:2021年04月25日分

2021/04/25(Sun)

[オレオレN6] LC_MONETARY/LC_NUMERICの監査

とりあえずLC_NUMERICとLC_MONETARYの定義を(mon_)?(thousands_sep|decimal_point|grouping)そしてcurrency_symbolに限ってだけど監査してごっそり修正。 とにかくCLDRとか他OSの実装もまったく信用ならんので困る。

ここ10年の間に

が結構あって確認するのに丸一日潰れてしまった、まぁ欧州情勢は複雑怪奇というかそらウォッカ視点じゃジャガイモを3度目の ベイクドポテトにしたろうかって認識になるわな、おーこわ。 そら紅茶もライン川沿いに ローストチキン製造機を埋めてまとめて料理するかって考えても当然と思われる、政治ネタではなりません明日の夕食何にしようかなって話です。

あとUTF-8 localeつっこんだのでCJK Ambigious Width対応を入れんとならんのだが、昔作りかけてる最中にマシン死んでリポジトリ救出できなかったやつまた最初っから作り直しかぁと萎える。 ちなみに今のFから持ってきたUTF-8 locale定義ってそもそもどうやって生成したか一切不明なので、定義の正確性とかライセンス周りなどまったく信用ならんのだ(パラノイア)。

まぁ特にライセンス面考えると更地から作業はじめんとなのだが、結構めんどくさいんだよなあのUnicode data処理すんの。 とか思ってたら最近はあのクソなフラットファイルじゃなしにXML形式でも配布してるんだな。

それどころかCLDRもJSON化とかはじめとるし、ねえ皆さんなんでRDBMS化しないんですかね…

そいやGB18030とUnicode BMPの変換テーブルもクソめんどくさかったのを思い出した、仕様的には以下のようなコードで算術…うん一応算術だね…で出せるんだけども。

int
gbk_exists(uint32_t src)
{
  ...
}

int
main(int argc, char *argv[])
{
  int b1, b2, b3, b4;
  uint32_t ucs = 0x0, gb;

  for (b1 = 0x81; b1 <= 0xfe; ++b1) {
    for (b2 = 0x30; b2 <= 0x39; ++b2) {
      for (b3 = 0x81; b3 <= 0xfe; ++b3) {
        for (b4 = 0x30; b4 <= 0x39; ++b4, ++ucs) {
          for (; ucs <= 0xfffd; ++ucs) {
            if (ucs >= 0xd800 && ucs <= 0xdfff)
              ucs = 0xe000; /* dummy */
            if (gbk_exists(ucs))
              goto found;
          }
          exit(EXIT_SUCCESS);
found:
          gb = b1 << 24 | b2 << 16 | b3 << 8 | b4;
          printf("%#.8X = U+%.4X\n", gb, ucs);
        }
      }
    }
  }
}

当時書き捨てたコードの一部を抜粋したものだけど、お判りの通りgbk_exists()が参照する変換テーブルが間違ってると即レズるじゃなくてズレるんだよね。 これがまたGBKの私用領域の仕様が資料ごとにまちまちで、何度やってもICUの変換結果と一致しなくて困った。

気づいてしまったがGB18030も追加文字対応とか基本面以外の文字も変換表作らんとならんのかうげげ、作った当時は追加漢字面に数文字とかだったけど。

[自宅ネットワーク管理者] HPE OfficeConnect 1820買うた

以前現場で酷い目にあって窓から投げ捨てろリストに入れたHP Procurve 1810( 過去記事参照)なのだが、何の因果か マッポの手先後継機であるHPE/Aruba OfficeConnect 1820買ったよ。

以前からIEEE 802.3ad(LACP)対応スイッチ欲しかったのよね、手元にあるのはプログラマのワイにネットワーク屋の真似事させるという無茶振りやらされとった頃に自腹で学習用に買ったHP Procurve 2510無印の100baseしか無くてな。 とはいえ新規に買うのも予算が厳しかったのだが、この古いProcurve×2台をこんなんタダでも欲しがるやつおらんやろとダメ元で売りに出したら、想定の3倍くらいの値段で売れたので予算が発生してしまったのだ。

正直1810の後継ってことでどーせ以下略なんやろうなぁと躊躇したのだけど(実際ファームアップの回数見るだけで察する)、ファンレスの機種ってもう今こいつしかないのよね。 もう何年も認知症老人の深夜徘徊の気配を察知するのにちょっとの物音に反応する体になってしまったもんで、無音しか選択肢がないのだ。

同時にクッソ古いHPのKVM over IPも処分したんだけどこっちも予想の4倍くらいで売れてしまった、やっぱリモートワーク需要ですかねぇ新型コロナ(notトヨタ)以来いいことあったの初めてだよ給付金も施設代で即日溶けたからな。 でもいまどきPS/2なアダプタしか無いからUSBタイプも別途買わなきゃならんだろうし新品買った方がよくない?

まぁ安く上げたいならリモート機能無しのタイプは相変わらず中古で安いので、俺だったらラズパイでKVM over IPを作る Pi-KVMと安物のKVM(さすがにOSD対応でないと厳しいけど)を組み合わせてリモートオフィス構築するなぁ。

そもそも今時のサーバならiLOとかiDRACとかパソコンでもIntel AMT標準装備だろうしそれ使わんのかと思ったけど、あれもいざ使おうとすると専用のネットワーク作らんとならんからめんどいか。

このPi-KVMも一度試してみたいけどそのためにラズパイ買う金なぞ無いので、余ったパソコンにでも入れられるようx86イメージ欲しいんだよな、誰かやってくれクレクレ。 というかルーターでこれ内蔵した製品とか出てきてよさそうなんだけどな。

とりあえず1820のセットアップはまた後日…