Monthly report 2018-01
2018-01 の日記。
ニュース・知ったこと
Intel の CPU に 脆弱性 #575
リンクの順番は適当。 意味はない。
-
公式或いはそれに近い情報源、大手プロジェクト
- Project Zero: Reading privileged memory with a side-channel
- Meltdown and Spectre
- 643352 – sys-kernel/gentoo-sources: Meltdown mitigation (KPTI patch set)
- KPTI - the new kernel feature to mitigate "meltdown" - Fedora Magazine
- Mitigations landing for new class of timing attack | Mozilla Security Blog
- Actions required to mitigate Speculative Side-Channel Attack techniques - The Chromium Projects
- Mitigating speculative execution side-channel attacks in Microsoft Edge and Internet Explorer - Microsoft Edge Dev BlogMicrosoft Edge Dev Blog
- 投機的実行に関する脆弱性「Meltdown」と「Spectre」について解説 | トレンドマイクロ セキュリティブログ
-
その他
- Meltdown and Spectre Linux kernel status - Linux Kernel Monkey Log
- spinlock: "CPUの脆弱性の問題が、明らかになってきたようです https://gigazine.net/n…" - マストドン丼部
- Michael Schwarz on Twitter: "Using #Meltdown to steal passwords in real time #intelbug #kaiser #kpti /cc @mlqxyz @lavados @StefanMangard @yuvalyarom https://t.co/gX4CxfL1Ax… https://t.co/TuFUTP0r0V"
- Googleが発見した「CPUの脆弱性」とは何なのか。ゲーマーに捧ぐ「正しく恐れる」その方法まとめ - 4Gamer.net
- 本来アクセスできないメモリ領域のデータを読み出せる可能性がある脆弱性が見つかる、多くのCPUに影響 | スラド セキュリティ
- CPUの脆弱性 MeltdownとSpectreについてまとめてみた - piyolog
- Google、CPUの投機実行機能に脆弱性発見。業界をあげて対策へ ~Intel、AMD、Armなど多数のCPUが対象も、コンシューマでは影響は軽微 - PC Watch
- marcan/speculation-bugs: Docs and resources on CPU Speculative Execution bugs
- SpectreとeBPF - 睡分不足
年明け早々どでかい花火だった。 漁れば情報は(信頼できないもの含め)いくらでもあるので、ここで多くは語らない。
$ grep bugs /proc/cpuinfo bugs : cpu_meltdown bugs : cpu_meltdown bugs : cpu_meltdown bugs : cpu_meltdown $ uname -a Linux veg 4.14.13-gentoo #1 SMP Fri Jan 12 23:29:01 JST 2018 x86_64 Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz GenuineIntel GNU/Linux $
$ grep bugs /proc/cpuinfo bugs : cpu_meltdown spectre_v1 spectre_v2 bugs : cpu_meltdown spectre_v1 spectre_v2 bugs : cpu_meltdown spectre_v1 spectre_v2 bugs : cpu_meltdown spectre_v1 spectre_v2 $ uname -a Linux veg 4.14.18-gentoo #1 SMP Fri Feb 9 14:58:20 JST 2018 x86_64 Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz GenuineIntel GNU/Linux $
こりゃおもしろい。
50番目のメルセンヌ素数 M77232917 発見 ()
277,232,917-1 らしい。
『まいてつ』中国語版 製作決定 ()
中国で行われていた茂伸奇谈のクラウドファンディングのストレッチゴールを達成し「まいてつ」も中国語版の製作が決定しました! 中国語名は「爱上火车(列車に恋するの意)」となります!続報にご期待下さい! https://zhongchou.modian.com/item/10188.html
『ものべの』に続いて『まいてつ』も中国語版が出るのか。 めでたい。
卒研発表も終わったし、まいてつやるぞ!!!!!
緊急地震速報 誤報 (2018-01-05)
- NHKニュース on Twitter: "茨城と石川で同時に地震 気象庁 1つの地震と解析し速報か #nhk_news https://t.co/X57DtwzQjZ"
- NHK@首都圏 on Twitter: "5日午前11時2分ごろ茨城県と石川県でそれぞれ震度3の揺れを観測する地震。気象庁は午前11時2分に関東地方などに緊急地震速報を発表したが異なる地域でほぼ同時に起きた2つの地震を1つの地震として解析したことが原因ではないかとみて調べ。 https://t.co/ToIymo1S6u"
こんなこともあるんですね。 緊急地震速報のアラートは久々に聞いた気がするが、惨事にならずなにより。
MusicXML 3.1 発行 (2017-12-14)
- https://www.w3.org/community/music-notation/2017/12/14/musicxml-3-1-published-as-a-w3c-community-group-report/
- Release v3.1 · w3c/musicxml (GitHub)
- MusicXML (仕様)
MusicXML is a standard open format for exchanging digital sheet music. It is designed for sharing sheet music files between applications, and for archiving sheet music files for use in the future. As of this publication date it is supported by over 200 applications.
こんな規格があるとは知らなかった。 良さそう。
WebSub と ActivityPub が W3C 勧告に (2018-01-23)
- WebSubとActivityPub、W3C勧告 | マイナビニュース
- ActivityPub is now a W3C Recommendation | W3C News
- WebSub is now a W3C Recommendation | W3C News
規格が安定化した🎉ということなので、これからより活発な関連ソフトウェアの開発が期待できる。 (期待できるというか、私も書きたい。)
最近の Rust
- impl FromIterator<()> for () by cuviper · Pull Request #45379 · rust-lang/rust (merged)
-
結果は捨てていいからイテレータを最後まで消費したいというとき、今までは
last()
やcount()
などを呼んで結果を捨てるようなことをしていたが、これからはcollect::<()>()
でできるようになる。
-
結果は捨てていいからイテレータを最後まで消費したいというとき、今までは
- impl Trait の安定化は近い
-
transpose
- Add transpose conversions for nested Option and Result by cramertj · Pull Request #47193 · rust-lang/rust (merged, feature gate)
- Tracking Issue for Result<Option> and Option<Result> Conversion · Issue #47338 · rust-lang/rust
Result<Option<T>, E>
とOption<Result<T, E>>
を相互変換する{Result, Option}::transpose()
メソッドの追加。transpose_result
feature gate で利用可能。
-
never_type 安定化への道
- Stabilise feature(never_type). Introduce feature(exhaustive_patterns) by canndrew · Pull Request #47630 · rust-lang/rust
- Rust での never type とセミコロン、型推論のルール変遷 - 何とは言わない天然水飲みたさ
という過去の記事でちょっとした闇を見た never_type だが、ついに
!
型も安定化されようとしている。 感慨深い。 (私は何もしていないが。)
パブリック活動
libskk にプルリク投げまくった (いくつか merge された)
- ueno/libskk: Japanese SKK input method library
-
出したプルリクエスト:
- Add `Escape`, `Henkan`, `Muhenkan` keyval names by lo48576 · Pull Request #47 · ueno/libskk
- Add `abort-to-latin` and `abort-to-latin-unhandled` command by lo48576 · Pull Request #48 · ueno/libskk (merged)
- Inherit typing rule for dict edit by lo48576 · Pull Request #50 · ueno/libskk (merged)
- improve hankaku katakana conversion by lo48576 · Pull Request #51 · ueno/libskk (merged)
- Let key release events pass through by lo48576 · Pull Request #52 · ueno/libskk
-
issue など:
- Pull Request #50 で解決済み
- Pull Request #52 で解決される
ふと思い立って(正確には卒論ライティングから逃避したくて)、ターミナルと入力まわりの環境を一新することにした。 特に uim-skk は内部コードが EUC-JP であり、「たし🦀そう🦆しれな🌾」などが辞書登録できないため、日頃から不便を感じていたゆえのことでもある。 fcitx の uim では Unicode が使えるとのことなので、これに乗り替えようとしたのだが、どうにも欲しい機能がなかったり挙動が不審だったりしたので、ソースを読みつつパッチを当てまくった次第。
vala とかいう聞いたことしかない言語を触ることになったが、文法はだいたい better C だしメモリ管理は参照カウントによる GC だし、意外と弄れた。
alacritty にパッチ投げた (merge されなそう) (2018-01-24)
- jwilm/alacritty: A cross-platform, GPU-accelerated terminal emulator
- Support config to control width of ambiguous width characters by lo48576 · Pull Request #1049 · jwilm/alacritty
- らりお・ザ・何らかの🈗然㊌ソムリエ (mstdn): "Support setting and changing width of ambiguous w…" - Mastodon
環境一新のついでに、脱 mlterm もしたかったので、この機会に Rust 製のターミナルエミュレータである alacritty を使ってみることにした。
さてこういう場合いつものことではあるが、 ambiwidth の表示がやはりおかしかったので、 CJK 環境用に文字幅計算を切り替えるプルリクを出した。
……が、どうにも ambiwidth あたりの問題を理解してもらえていない感じであり、 merge されそうにない。
rust-jp slack で助けを求めたところ、 tatsuya6502 氏が width{,_cjk}
関数だけでなくフォントメトリクスも使える文字幅判定の実装を進めてくださっているので、最終的には(高機能なので)そちらがマージされることになるかもしれない。
いずれにせよ今の段階ではローカルに clone してきてそれを使うなりするしかない。 私はそうしている。
fcitx-skk にパッチ投げた (2018-01-22)
- fcitx/fcitx-skk
- Resolve `$FCITX_CONFIG_DIR` for read-only dictionary paths by lo48576 · Pull Request #7 · fcitx/fcitx-skk
- らりお・ザ・何らかの🈗然㊌ソムリエ (mstdn): "Resolve `$FCITX_CONFIG_DIR` for read-only diction…" - Mastodon
SKK 辞書を自動生成して複数用意したものを使いたかったが、設定ディレクトリのパス解決が微妙な感じの仕様になっていたので直すパッチを投げた。 どうも fcitx-skk は外部の翻訳システムによるコミット以外はアクティブでない感じなので、いつマージされるやら……
大昔に stb_truetype-rs に投げたパッチが merge された (2018-01-09)
- redox-os/stb_truetype-rs: A straight port of stb_truetype-rs from C to Rust
- Implement features for font name strings by lo48576 · Pull Request #4 · redox-os/stb_truetype-rs
フォント名を取得するために必要な機能を、 rusttype で利用されているライブラリ stb_truetype に実装したプルリクエストが、やっとマージされた。
大昔 rusttype に投げたパッチが merge された (2017-01-09)
- redox-os/rusttype: A pure Rust alternative to libraries like FreeType.
- Implement `Display` and `Error` traits for error types by lo48576 · Pull Request #72 · redox-os/rusttype
べつに今はゲームをアクティブに作ってるわけじゃないから rusttype も現在進行形では使っていないが、気付いてしまったので投げた。
私的活動
スマヒョ壊れたので買い替えた (2018-01-31)
Xperia Z Ultra (SOL24) という、かれこれ4年くらい前のモデルを使っていたが、遂に壊れたので買い替え。 新しい機種は Xperia XZ1 (SOV26) 。
Android 4.4 から 8 への大ジャンプだったが、スクスト(ゲーム)のロード時間とか指紋センサの利便性とかカメラ画質とか、いろいろいい感じになっててすごかった。 これで TLS 1.0 ともオサラバだ!
雑感
-
卒論 XeLaTeX で書いてたのに、公式テンプレ(ただし“無保証”)が pLaTeX だったでござる
-
言うて upLaTeX で動くやろ……と思ったら枠線とかいろいろ崩れて駄目だったし、 pLaTeX にしても BibLateX あたりで意味不明な問題に行き当たるし、つらかった。
現代的なプロセッサ使おうな……
-
-
卒論がヤバくなってくると関係ない進捗が捗るの、試験前に掃除するアレと同じだと思った。