Weekly report 2017-W28

2017-W27-6 (Sat) から 2017-W28-5 (Fri) までの日記。 やはり月〜日だと土日のことがまとめづらいので、土〜金で区切ることにした。

ニュース・知ったこと

XSLT 3.0 が勧告になってた (2017-06-08)

めでたい。

でもたぶん現状で XSLT 3 相当の実装を持っているのは Saxon とかの Java 実装だけな気がする。 xsltproc でもそれ以外でもいいから、 C/C++ か Rust あたりでの実装が出てきてほしい。 VM やらインタプリタの必要な言語での実装は嫌だ。

GNU Social merge 祭 (2017-07-09 – 2017-07-11)

べつに実際の祭があったわけではなく、たくさん merge されただけの話。 いつぞや私が投げたパッチも merge された

chuable soft の会社、「有限会社くくり」が破産手続を開始していた (2017-06-16)

まじかよ。 あなたをオトコにしてあげる!は割と好きだったのでショック。

有限会社くくり | 破産法人公告資料 http://gazette365.com/2017/06/7041-11/
chuable soft こと有限会社くくり、やばいし、ロケットゲー今のうちに買っておくべきか真剣に悩んでる

@lo48576@gnusocial.cardina1.red, , https://gnusocial.cardina1.red/notice/130059

Mastodon インスタンスのいくつかが死に始めた (2017-07-13 –)

主な死因: Let's Encrypt の証明書を更新せず放置したため

少し前から鯖が消滅したり謎のエラー出していたり、果ては通常の web ページになっていたり(勘弁してほしい)したのだが、そろそろ Let's Encrypt の証明書の期限90日を経過して死に始める鯖が出現した模様[0]。 まあ放置された鯖はフョヨーしてようがしていまいがどうせ投稿は流れてこないので、エンドユーザとしてはあまり関係ないのだが、鯖缶としては若干厄介だ。

GNU Social では、 queue に DB を使っている場合、 queue が詰まって後続イベントが処理されなくなる(イベント自体を取り零すわけではないので、再起動すると次のイベントから正常に処理される)問題が発生している: [DBQueueManager] Some broken server can broke dameon totally (#281) · Issues · gnu.io / gnu-social · GitLab 。 私のインスタンスでも、朝起きたら外からのイベントが11時間更新されておらず、ビビって再起動したら11時間ぶんの投稿がどんどん TL に流れてきてびっくりした。

GNU Social の OStatus plugin のスクリプトにはそういうのに対応できるものは無さそうだったので、対処するには自分で SQL を叩く必要がある。 hubsub テーブルに PuSH 先の URL が格納されているので、 SELECT topic,callback,created,modified FROM hubsub ORDER BY modified ASC; とかで古そうなフィードから疎通を確認してやって、死んでそうなインスタンスは DELETE FROM hubsub WHERE callback LIKE "https://ドメイン/%";とかで消してやればよい。 HubSub now remembers recent failures and counts them (9919ccb8) · Commits · gnu.io / gnu-social · GitLab を導入してやれば、 hubsub テーブルでエラーがカウントされるようになるので、手作業での処理がもっと楽になるであろう。

個人的な体験

GNU Social で文字化け

原因不明なので超怖い。

どうも Windows-1252 なるエンコーディングが絡んでいるらしいということはわかった。 Windows-1252 はラテン文字の文字コードとのことなので、 HTTP client が文字コード誤認してるとかそういう系なのかもしれないが、それにしても後続のメッセージまでまとめて化ける原理が謎だ。 引き続き原因究明を試みる。

パブリック活動

Qvitter への merge request が merge された

やったね! (ただし QvitterPlus の方は merge されていない。)

GNU Social に出していた gitignore の小さな変更の merge request が merge された

GNU Social merge 祭で merge された。 これで git clean -df しても保存された画像ファイルが抹消されなくなった。 やったね!

rust-ordered-float crate の pull request をちょっと更新

RFC で用意された命名規則に従うよう型をリネームする簡単なパッチだが、互換性の崩れる変更では #[deprecated(〜)] を使うべきとのコメントがあったため、そうした。

なんとなく deprecated 属性は言語機能で使うものと思っていたので、いち crate で使えるのだというのは“気付き”だった。 勉強になった。

感想

Mastodon がなにやら話題になっていたので gnusocial や mastodon の哲学 - 何とは言わない天然水飲みたさを急いで書いたのが、もう四半期も前のことである。 ちょっと感慨深い。 そしてそれ以降、日記以外の記事をひとつしか書いていないので、やはりもう少しカジュアルにいろいろ書いていった方がいい気がしてきた。 (でも日記書くし更にトピック特化記事が少なくなりそうな予感もしており、若干不安でもある。)