Monthly report 2018-03 -- 2018-04

の日記。

ニュース・知ったこと

Rust 1.24.1 リリース ()

FFI 周辺での unwinding (panic) の挙動に関するリグレッションの修正と、 Windows 関連のエラー修正など。

Rust の stdsimd が nightly で std 入り ()

めでたい🎉

Hiveway の可燃性が高い ()

実態としては fork ということになるので、 Mastodon が AGPL-3 である以上はその行為自体に問題はない。 しかし git と GitHub を使っているにも関わらず Mastodon での git メタデータ(過去のコミット)を消し去って著作権情報をトラッキングしづらくしている(著作者を偽っていると捉えることもできる?)とか、いろいろ勘違いしてそうな主張がされているなど、何やら不健全というか怪しい雰囲気がある。

はてさて。

Vulkan 1.1 リリース ()

🎉

Linux の Intel CPU 内臓グラフィックスでまともに使えるようになるのはいつ頃になるだろう。 (以前試したときはドライバが開発途上でまだバグだらけだったので、自作ゲームで使ってみる気にはなれなかった。)

Let's Encrypt が ACMEv2 と ワイルドカード証明書をサポート (2018-03-14)

予定より遅延していた ACMEv2 とワイルドカード証明書対応だが、めでたく正式リリースとなった。

Rust の inclusive range (`..=`) の安定化が merge された ()

プログラミングにおいて両端を整数で表現する区間は半開区間にするのが一般的である[要出典]が、 inclusive すなわち両端を含む閉区間を指定する演算子もまた有用であり、 Rust でもそのような演算子が提案されていた。 Rust では .. が半開区間なのに対し、 ... を閉区間にすることもできたのだろうが、これがまた Ruby と逆で大変紛らわしい[0]し、そうでなくとも字面もよく似ており取り違えや typo によるバグの原因になるということで、 ..= を閉区間に使うということになった。 (……という経緯があったような記憶を朧げに持っているのだが、確信はないので信じないでほしい。)

そういったわけで(かは知らないが)、既に入っていた .. とは別に ..= が提案されていたが、それがやっと安定化されるとのことである。

AV1 video format released ()

H.264 や H.265 、 VP9 等に次ぐ、次世代の動画コーデック。 ロイヤリティフリーのオープンなフォーマット。

是非とも覇権を獲得してほしいが、エンコードが激重らしいのですぐには普及しないかも? ハードウェアでの対応に期待したい。

そういえば可逆圧縮の動画コーデックとしては FFV1 が IETF RFC のドラフトとして標準化過程にあるが、こちらも普及に期待したいところである(と言いつつ使ったことはないが)。

パブリック DNS 1.1.1.1 ()

プライバシーを大事にね。

ジョークRFC: RFC 8369 ()

Unicode emoji を踏まえての皮肉だと考えるのは穿ちすぎだろうか(読んでない顔)。

Rust の never_type 、安定化されかけるも revert される ()

! 型 (never_type) の安定化とともに TryFrom 等も安定化が master に merge されたのだが、 never_type の型強制まわりでのバグが発見され、これらの安定化が revert された。

かなしい。

Let's Encrypt が最大勢力(過半数)になったらしい ()

大変すばらしい。

なお日本での HTTPS 普及率は(以下略)

ヨーロッパ方面での IPv4 アドレスが枯渇 ()

いつか来る日がついに来た。

WebAuthn が W3C 勧告候補へ ()

Firefox でもバージョン60 ( リリース)で対応された。

Rust で x86/86_64 SIMD の安定化が merge された ()

🎉

Ubuntu 18.04 リリース ()

LTS なので、しばらく様子を見て、そのうち鯖の OS を入れ替えたい。

パブリック活動

nanoc に issue 立てた (解決済) ()

nanoc は、このブログの生成(2018-03 時点)も含めて長らく世話になっている静的サイトジェネレータ。

報告してから1日以内でテスト付きの修正が追加されて issue がクローズされ、あまりの早さにびっくりした。 ありがたい話である。

alacritty に Pull Requset 出した (merge された) ()

ある日——たしか llvm を 6 へアップデートして mesa (18.0.0_rc4) もリビルドした翌日かそのすぐ後だったと思う——マシンを起動すると、 X の仮想ターミナルが起動しない。 XMonad あたりで何かやらかしたかと思ったが、 dmenu や xterm は普通に動くので、どうやら alacritty だけが駄目らしいということがわかった。 調べてみると issue #921 が見付かったが、解決されていないようだった[1]ので、仕方なく xterm 上で胡麻粒のように小さくアンチエイリアスのきかないガタガタの文字でバグの調査と修正をすることにした。

調べていくと、どうやら SRGB を有効化すると問題なく起動するようになることがわかった。 該当 issue にパッチを投げてみたところ、直ったという報告がすぐにいくつか来たので、それならとプルリク #1178 にして投げたら、今度はそのパッチのせいで逆にエラーが発生するようになったと報告が来た[2]。 仕方ないので、「パッチ当てる前の設定と当てた後の設定を成功するまで両方試す」という、力技ながら確実性のある方法でウィンドウ作成を試行するパッチをプルリク #1183 として投げ、これが merge されたことで本件は(おそらく)今度こそ解決した。

心臓に悪い2日間だった。

私的活動

卒業旅行 (ロボット技術研究会 14 世代) ()

下呂温泉に行った。

opaque_typedef 0.0.2, 0.0.3 リリース (, )

いろいろ改良して、ひとまずの実用に堪える品質は確保できたと思う。 まだまだ文法がアレ (derive(FooBarBazQuxQuux, ..) のような長いオプションが無限にある)ので、そのうちもうちょっとまともにしたい。

考え事

W3C 規格をソフトウェアのドキュメントで多数引用したい

W3C の規格の少なからぬ部分をソフトウェアのドキュメントを引用したかったのだが、ライセンスが怪しかったので仕方なく諦めた。 実際どうなのだろう。

雑感

ついに月一の記事更新もできなくなった。 もうだめだ。