■ 開発日記 巻之七拾五


OSTRA / Takeshi Yoneki


メトロイド ドレッド (Nintendo Switch)

 メトロイド終盤はアイテム回収のパズルになる。三ヶ所残ってて、どうにも現在の手駒では取れそうにない。全部スピードブースター関連。攻略サイトを見る。知らない機能が解法のキモだった。

1. スピードブースターはキッククライム(壁ジャンプ)で持続する。

 スライディングで持続するのは判明していたし、それを使わないと解けないアイテムはクリアしていたが、キッククライムでの持続は試してもいなかった。ダイロン左上の寒冷エリアで練習。取れないアイテムがここにある。なかなか発動しないが、ときたま成功する。スピードブースター発動後、一段上でシャインスパーク準備状態にしなくてはいけなくて、キッククライムによるスピードブースターの維持が必須となる。一段上からのスペースジャンプでギリギリエリア上部の破壊対象ブロックに届く。

2. <Y> + <B>で空中でもシャインスパークが発動する。

 キッククライムの件はメトロイドプレイヤーなら常識だろと言われてもしかたがないが、<Y> + <B>はゲーム内で説明しないと駄目な機能なんじゃないでしょうか、任天堂さん。

 ギリギリエリア上部の破壊対象ブロック近辺に届くがギリギリすぎて足場を確保できない。上級プレイヤーなら足場まで行けるんだろうが(そういう説明の攻略サイトもある)、高さが届いた時点でシャインスパークが発動できれば多少下手でもなんとかなる。<Y> + <B>がなかったらあきらめてたかもしれない。

 ダイロン下中央左寄りのアイテムはひたすらキッククライムによるスピードブースターの維持が要求されるが、サムスの動きに合わせて面が作られているのだろう、何度かトライしたら取れてしまった。

 フェレーニアの左上のガヴォラン方面駅近所も一段上でスピードブースターを維持する方法が全く思いつかなかった。これもキッククライムによるスピードブースターの維持が解法。で、100パーセント。

 スライディングジャンプも攻略サイトで知ったんだが、これもゲーム内で説明はない。メトロイドプレイヤーなら試すだろ普通、とか言われそうな機能なのでまぁこれはいいか。

 そういえばスーパーメトロイドのキッククライムはえらいシビアな操作タイミングが要求されてた記憶がある。メトロイド ドレッドでは多少は易しくなったんだろうか。

 ラスボス戦では。今日は三形態目で瞬殺。また明日。


2021.11.03


 衆議院選挙のウチの区の立候補者には立憲民主党と自民党と維新の会はいるが公明党と共産党がいなかった。共産党がいないおかげか、自民党による、共産党がどんなに怖い団体なのかの怪しいパンフレットも配られなかった。数年前参議院選のときに自民党国会議員に配られたというあのひどいパンフレットと同じ人の書いたイラストのやつです。

『伸び悩む自民党が共産党への“ネガキャン”を激化「野党共闘への脅威の裏返し」』(https://dot.asahi.com/dot/2021102400008.html?page=2)

「<共産党の「1951年綱領」は、「日本の解放と民主的革命を、平和の手段によって達成しうると考えるのは間違いである」と「暴力革命論」を掲げています>」

 あぁ、このパンフレットだ。共産党候補のいる区では今回もまたこの気違いパンフレットを配ったんだ。

 自民党も変わったな(まさか気違いになるとは)と本気で心配しています。


2021.11.05


 家のファイルサーバーのaleph君に接続している三菱電機の4:3の17インチ液晶ディスプレイモニタが壊れた。三菱電機のブラウン管モニタが壊れて三菱電機の液晶モニタを導入したのは2005年の11月なのであれから16年。保証期限が切れる直前に一度壊れてパネル交換してるとはいえ、長すぎ。

 Ubuntuのブランクスクリーン機能がどうも不安定で、結構発動されてなかったようである。それが寿命を縮めたんではないかと思うが、それでも長すぎ。

 ママもテレワークで追加モニタが欲しいとかで、我が家はモニタ獲得大作戦。なんとなく新宿のヨドバシとビックを見に行ったがママはまだしも私は全くピンと来なかった。4:3のモニタが一つも展示されてなかったというのが割とショック。置ける場所的に16:9ならばせいぜい15インチまで。で、15インチ以下はモバイルモニタしか選択肢がないという現実。とりあえず俺は店頭で15インチのを適当に買うと決めた。ママは色々調べてASUSの13インチモバイルモニタに決め、翌日店頭在庫のあるヨドバシ吉祥寺店に向かった。吉祥寺で佐野ラーメンを食ってヨドバシへ。俺はおそらく型落ちで安くなってたJAPANNEXT JN-MD-IPS158FHDRを入手。かなりテカテカが気になる2Kモニタ。ママは土壇場でASUA製品にHDMI端子がない(USB Type-Cのみ)と気付き、JAPANNEXT JN-MD-IPS133UHDRを入手。テカテカしない4Kモニタ。

 aleph君とはPC本体のDVI端子 → DVI-HDMI変換アダプタ → HDMIケーブル → HDMI延長アダプタ → モニタ付属HDMI-ミニHDMIケーブル → モニタのミニHDMI端子と割と奇跡的な接続となっている。モバイルモニタなので手軽に縦長利用も可能。まずはUbuntuのフォントの設定を大きくしないといけない。


2021.11.08


 前歯を抜歯して初めての入れ歯。抜歯と抜糸が同じ発音なので、歯医者同士では「バツイト」と呼んでた。へ~。凄い回数縫われてて来週末バツイト。患者(俺)には「バツイト」ではなく、「糸を抜きます」と抜糸という用語そのものを避けて説明した。


2021.11.08


DOOM Eternal (PS4)

 メトロイド ドレッドのラスボスを倒したので、積んでたDOOMをプレイ。一番易しいモードなのに死ぬ死ぬ死ぬ。圧倒的に足りない弾薬でどう戦うというゲームなのだろうかと思っている。ググるとその辺はチェーンソーを使えということだそうだ。


2021.11.08


 マイクロソフトのWin32APIのページの日本語は結構壊れているが、どんな風に壊れているか、まぁ見て欲しい。

「EnumPrinters 関数」(https://docs.microsoft.com/ja-jp/windows/win32/printdocs/enumprinters)

「pPrinterEnum [乙]」の乙ってなんだよ。

 英語で読むしかないとか明らかに20世紀より劣ってるぞ。20世紀のヘルプファイルはセキュリティがどうしたとかで読ませて貰えないし。


2021.11.09


 Windows PowerShellで色のカスタマイズをしてたんだが、いつのまにやら入力した数字が表示されないことに気付いた。色の設定とか無視して固定的に白で表示されてるようだ。なんでこんな頭の悪いことになってるんだろう。しかたがないので、デフォルトの配色に戻した。


2021.11.12


メトロイド サムスリターンズ(3DS)

 メトロイド ドレッドがボリューム的に足りなかったのか、3DSのメトロイドを始める。


2021.11.12


 温暖化対策でエネルギーって、結局現実的には原子力しかないのかもしれない。しかし、東日本大震災前の日本では国が小中学生向けにきわめて偏った内容の副読本(「わくわく原子力ランド」など)を配ってたり、いくらなんでも推進派が浮かれ過ぎだったわけで、その反動が長引きそうだ。


2021.11.12


 日本は完全な「政策のミス」による貧困だという説。経済学に疎い俺にはよく考えないと何とも言えないが、米百俵とか言いながら教育に金を掛けるのをやめた小泉政権の政策で潰された未来に我々はいる。


2021.11.15


 Microsoft Edgeは新規タブ時に表示させるものを変更できない。カスタマイズできる云々はあるが、基本的に変更できない。私はデスクトップに置いてあるリンクファイルをウェブブラウザにドロップするという使い方を長らくやってきた。新規タブを開いてリンクファイルをドロップ。Microsoft Edgeの新規タブではドロップできない。と思っていたのだが、今やってみるとドロップしたらちゃんとそのリンク先が表示された。バグだったのか仕様変更なのか知らないが、俺にとってはEdgeを使わない理由になるくらいのことだった。いや、違うな、常にドロップしたら新規タブでリンクが開く。自分で用意した新規タブではなく必ずさらにもう一つ新規タブが用意されリンク先が表示される。「新規タブを開いて」という動作が余計なものになったんだ。サクラエディタにドロップしたら新しいタブでファイルを開くので、そう間違った動きとも言えないところがなんとも。むしろGUI的に正しい動きなのかもしれない。

 Microsoftのサイトを見るのにEdgeを使っている。API関連とかはEdgeで見る。AppleのサイトもAPI関連は、以前検索で痛い目に会ってるのでSafariで見る。痛い目とは、APIの名前が「幅のない空白」で分節区切りにして表現されており、Firefoxではそこに見えてるのに見つからないという残念な状態になること。Safariの検索では「幅のない空白」を無視する。


2021.11.16


メトロイド サムスリターンズ(3DS)

 買った当時ラスボスのリドリー戦で放置していた。ようは未クリアだった。今回三日程かけてリドリーを攻略。なんとかエンディングを見る。クリア。メトロイド ドレッドのロード時のメッセージに「避けられない攻撃は無い」ってのがあって、それを励みになんとか頑張った。メレーカウンター2度目でリドリーが倒れる。倒すのにメレーカウンターが必須なのかどうかは不明。リドリー硬すぎ。スーパーメトロイドもリドリー戦で長いこと放置したんだっけ。


2021.11.22


メトロイドプライム (GC)

 なんともメトロイド熱が冷めないので、GAMECUBEでメトロイドプライムを始める。居間の液晶テレビのアナログ入力端子はコンポジット端子とD端子しかなく、GAMECUBE用D端子ケーブルを持っているわけでもなく、そもそも流通量が少ないせいで現在は1.8万円という中古相場だとか。GAMECUBEの出力をHDMIに変換する装置もあるようなんだが、あまり安くはないうえに、ちゃんと動くものを入手するまで博打ってのがなんとも乗り気になれず、素直にコンポジットで接続。ちょっと画像品質に不満はあるが、まぁこんなもんかという感じ。

 GAMECUBEのゲームをイマドキの液晶テレビでプレイするには、Wiiを使うという方法もあると思い出す。Wii UにもGAMECUBE互換があればもっと良かったんだが、残念なゲーム機だった。Wiiが売れに売れて驕った結果なわけだが。

 Wiiはさすが爆発的に売れたゲーム機、出力をHDMIに変換する装置は安く、実績もそれなりにあるようなので、それを入手する前提で、まずはWii U導入時に仕舞ったWiiを引っ張り出してきて出力用ケーブルを探す。AV装置の裏側に落ちてたケーブルを救い出してWiiをコンポジット出力でテレビに接続。ケーブルは非純正品のようなんだが、鼠に齧られて買ったんだっけか。映像は明らかにGAMECUBEより奇麗。Wiiの出力は一旦画像の拡大処理を経ているように見える。特に文字の様子が顕著に違う。GAMECUBEの方が素の出力だとしたら、少なくともメトロイドプライムは縦480では出力してないゲームってことなんだろう。

 Wiiの出力をHDMIに変換する装置を入手。コンポジット出力が割と奇麗だったので、特に感動もなく、でも一応プログレッシブ出力の設定をする。まぁ、ともかくWiiが我が家に戻ってきた。

 そもそもS端子を急速に廃止した電器業界が残念だという話。


2021.12.02


 Ubuntu 20.04がマイナーアップデートして20.04.3になったときにどうもpulseeffectsが動かなくなったような状態。pulseeffectsを再度入れようとしてもパッケージが破損してるとかのエラーになる。どれだったか、1.5を要求するけど、Ubuntu 20.04では1.4が入ってるんだったかな、ともかく自力では難しそう。pulseeffectsで使ってたのはGUIのイコライザ。

 代替手段を探す。

 pulseaudio-equalizerをインストールして、/etc/pulse/default.paに、

load-module module-dbus-protocol

を加えて再起動。

 コマンドqpaeqでGUIのイコライザが起動、[設定 - サウンド - 出力 - 出力デバイス]で選択する。

 割と良い感じ。


2021.12.08


 Rustの入門を読む。無名関数の記述でため息。縦棒ですか。格好悪い。C++の大括弧やObjective-Cのキャレットもどうかと思うが縦棒ですか。C#は当初delegateというキーワードが必要だったのが=>でも書けるようになった。身軽でいいですね。.NET 6(C# 10)からは型推論でFunc<int, int>もvarにできるそうです。

 まぁ、Cの子孫っぽい中ではScalaが一番スッキリしてて好感度高いです。Java VMでなければもっと使うんですが。


Rust
let square = |x: i32| {
  x * x
};

C++
auto square = [](int x) {
  return x * x;
};

Objective-C
int (^square)(int) = ^(int x) {
  return x * x;
};

C#
Func square = delegate (int x) {
  return x * x; 
};

Func square = (int x) => {
  return x * x;
};

Scala
val square = {
  x: Int =>
  x * x
}

OCaml
let square = (fun x ->
  x * x
)
in

2021.12.10


メトロイドプライム (GC)

 Wiiで遊んでいるGAMECUBEのメトロイドプライム。メトロイドプライムはWii版が存在したんだが、遊ぶ人は全員GAMECUBEで遊んだし、評判の悪いリモコンでの操作が敬遠されたのか、売れなかったおかげで現在中古市場では高騰。

 オメガパイレーツ戦は何度か死んだ後で攻略方法を見る。邪魔してくるザコ相手にスーパーボムってのは私の発想にはなかった。で、攻略サイトで確認しながら取り損ねたアイテムを収集し、メタリドリー戦へ。

 メタリドリー戦も何度か死んでから攻略方法を見る。序盤の戦闘のブーストボールでのショートカットなんて知らんがな。メタリドリーをスキャンするとアイスビームが有効だというようなメッセージが出るが、結局プラズマビームが一番手っ取り早いようだ。怯んだときに溜めプラズマビーム4発で倒れたので、ミサイルは全く使わなかった。スーパーミサイルでも多分4発(ミサイル20個)必要なんだろう。


2021.12.13


メトロイドプライム2 ダークエコーズ (GC)

 スパイダーガーディアンで詰まる。4面目の2つ目まではイケたんだが、力尽きる。昔は突破できたってことだよな。しばらくはRustで遊ぶので休止。


2022.01.11


 家で使ってる仕事っぽい椅子が壊れたので、新型コロナウイルス・オミクロン株流行での緊急事態宣言が出る前にニトリで似たような椅子を買ってきた。ちょっと構造が違うので、壊れにくいかもしれないが、時間経過しないとわからない。今度同じような壊れ方をしたら、もう少し構造の違うものを物色するつもり。


2022.01.11


『The Rust Programming Language 日本語版』

http://doc.rust-jp.rs/book-ja/ch19-05-advanced-functions-and-closures.html

「高度な関数とクロージャ」に「クロージャを関数に渡す方法について語りました」と書かれてるのですが、どこにそんなものがあるのか見つかりません。

http://doc.rust-jp.rs/book-ja/ch13-01-closures.html

「クロージャ: 環境をキャプチャできる匿名関数」のあたりで

impl<T> Cacher<T>
    where T: Fn(u32) -> u32 {
    fn new(calculation: T) -> Cacher<T> {

impl部分にてwhere T: Fn(u32) -> u32 とTを定義した後、implのブロック内で

fn new(calculation: T)

とTを使っているのが一応「クロージャを関数に渡す方法」なのですが、こういう間接的な方法でなく、もっと直接的な書き方の説明がありません。また、間接的でも、

fn check_nunmber<F>(num: i32, f: F) -> i32 
    where F: FnMut(i32) -> i32 {

といった割と直接に近い書き方が上記例からあたりまえに導けるかと言うと、それは無茶ってもんです。少なくともこういった書き方はきちんと例示して欲しもんです。

『Rust By Example 日本語版』

http://doc.rust-jp.rs/rust-by-example-ja/fn/closures/anonymity.html

「クロージャを受け取る関数」によると、whereなしでの直接的な書き方はなさそうです。ジェネリックが要求される理由まで書いてありますが、なんだかRustのバージョンが上がると表現が変わりそうな気配が濃厚です。


2022.01.11


 AndroidのAPIリファレンスをFirefoxで見るとひたすら崩れる。わざとやってるんだろうなと思うし、できるだけGoogleさんとは距離を置きたいとは思っても仕事ではしかたがない。Edgeで見る。


2022.01.14


注:

 「ウェブページが指定したフォントを優先する」がオフだと崩れる。悪意でなく無能。


 AndroidのAPIリファレンスをEdgeで見てる最中、テキストを選択してControl-Cを押してからテキストエディタに移動してControl-Vを押す。Edgeでコピーしたはずの内容でなく、クリップボードに残っていた前のコピーがペーストされる。まともにコピーされるにはControl-Cを押してから数秒待つ必要があるようだが、意味不明。AndroidのAPIリファレンスのサイトはどんな極悪な作りなんでしょう。

 iOSのAPIリファレンスのページでもおかしい。問題はサイトの作りでなくEdgeなのか? なんでこうなった。


2022.01.19


『ベラルーシのハクティビスト、ロシア軍阻止目的で国鉄にランサムウェア攻撃と声明』(https://www.itmedia.co.jp/news/articles/2201/25/news080.html)

 ラサムウェアは現代の弩か。


2022.01.25


 OCamlにはreturnはないが、Rustにはある。関数の途中で値を返すといった記述が可能だ。Rustのブロック(中括弧・波括弧)は値を返す構造物なのだがreturnに相当する機能がない。途中で値を返す方法がないのでOCamlと同じように全てのelse ifで値を返さないといけない。おそらくC由来なのであろうreturnの非対称性が気になるが、今更returnを廃止できないだろうとは思う。

 OCamlの関数と無名関数(クロージャ)は同じ機能を持つ。関数の中に関数を書いた場合、親側の関数の変数は子側の関数から見えている。無名関数でも同じく見える。だが、Rustの関数は関数の中に書けるが、親側の関数の変数は子側の関数からは見えない。無名関数ならば親側の関数の変数は見える。だが、無名関数から見える親側の変数に関しては所有権に絶妙な制限がある。なんというか、ループを関数型言語的に書くのに制約が多いと感じる程度には厳しい。mapやfor_eachでなくforならば無名関数でも関数でもないので、素直にコンパイルできる記述が書きやすい。

 変数を共有して処理を小分けにして扱うとき、Rustの無名関数では、あまり自由に親側の処理と変数を共有できない。結局はC++のクラスやCの構造体と同じように書くしかなさそうで、この点は割と失望している。関数の中にローカルな構造体を書けるのが救いだが、もう少しなんとかならなかったもんだろうか。

 Rustの無名関数はちょっとしたことを扱うに留めるべきものなのかもしれない。いや、そもそも関数言語的に書くのはさほど推奨されてない気配も感じる。


2022.01.25


 永らく通勤時に愛用してきたポータブルヘッドホンのオーディオテクニカATH-S500が断線した。問題は直接の後継機種が存在しないこと。しかたがないので、ATH-AR3を買ってきた。

 ATH-AR3は中域を少し持ち上げて低域を少し下げるとだいたいいい感じ。ようはいわゆるドンシャリ。ATH-S500は中域を下げてた。中域を持ち上げる必要があるのはATH-CKR50(イヤホン)も同じなので、オーテクのこのあたりのクラスはドンシャリが多いのかもしれない。

 ATH-AR3の問題は音でなく締め付け。耳たぶが痛くなる。様子を見て改善されないようならまた物色しなくてはいけない。


2022.02.01


 Android Studioをダウンロードしようとしたらダウンロードボタンがグレーのままでダウンロードできない。そのボタンの上の方になにやら壊れた表示がある。FirefoxではなくEdgeで見てみる。「I have read and agree with the above terms and conditions」とかいうチェックボックス。Firefoxでなぜ表示が壊れるのか。これがGoogleのFirefoxへの嫌がらせでなくてなんだろう。Googleは一度滅ばなくてはいけないのだろうか。


2022.02.03


注:

 多分これも無能開発者によるフォント問題。


 日曜日に、翌週土曜に86-エイティシックス-の放送があるはずだとテレビのEPGを見るが、「放送内容未定」となっていた。ウクライナへのロシアの侵攻で、戦争アニメの放送は微妙なのかなぁ、9.11の影響で発売中止になったゲームボーイウォーズアドバンスの二の舞かなぁと思っていた。

 月曜に入り、同じく戦争アニメの進撃の巨人が通常通り放送されたためか、土曜の86-エイティシックス-はちゃんとEPGに登録されたようだ。でも番組概要とか番組詳細とかが空っぽ。何が起きてるんだろう。


2022.02.28


 WindowsにてVSCodeでRustプロジェクトをデバッグするためにlldbの拡張機能をインストール。デバッグしようとしたがなかなか動かない。

 色々ググった結果(使ったのはDuckDuckGo)、

「Error occurs when debugging rust program with vscode (windows only)」

(https://stackoverflow.com/questions/66764603/error-occurs-when-debugging-rust-program-with-vscode-windows-only)

を見つける。管理者権限のあるコマンドプロンプトで

regsvr32.exe C:\Users\【user name】\.vscode\extensions\vadimcn.vscode-lldb-1.6.8\lldb\bin\msdia140.dll

msdia140.dlを登録する。

 デバッガが動き出す。しかし、tokioで落ちる。

#[tokio::main] を消して、注釈で展開されるコードを書いてみると、block_onで落ちてる。

 もちろんデバッガを使わずに動かしたときは落ちたりしない。困った。

 lldbでなく、Microsoftのデバッガ(cppvsdbg)を使うと落ちたりしない。WindowsのRustはリンカとしてMicrosoftのlink.exeを使うので、結局デバッグもMicrosoftのデバッガを使うのが良いのだろう。それにしては、WindowsでのVSCodeのRust開発でのデバッガについて、Webで見られる解説のほとんどがlldb。このへんの解説ページを作った人々はtokioすなわちWeb通信のあるプログラムを書いてないってことなんですかね。

 次はLinux。


2022.03.07


 Linux(Ubuntu)のVSCodeにてRustでgdb。動くことは動くんだが、変数がなんというかCトランスレーターだった頃のC++のように、例えばStringなどは深い構造のまま表示され、まっとうに読めない。これは事実上使えない。rust-gdbがVSCodeで使えるようになるのを待つしかないのだろうか。

 次はlldb。なかなか動かすのに苦労したが、

「Breakpoints Not Working With VS Code + Rust + LLDB」

https://blog.dbrgn.ch/2020/12/20/rust-vscode-lldb-breakpoints-not-working/

がそのものズバリ。開発ディレクトリがシンボリックリンクの配下の場合、どうやらそれを教えてあげなくちゃいけない。VAIO君では別のパーティションを /home/mnt/USER にマウントし、そこにあるディレクトリ program を /home/program にシンボリックリンクを張ってた。そんなわけで launch.json に、

"sourceMap": { "/home/mnt/USER/program/epubfix_RS": "/home/ostra/program/epubfix_RS" }

といった風に記載して、ようやくlldbが動けるようになった。

 Windowsのようにtokioで落ちることもない。変数もまっとうに読める。巨大プロジェクトでは問題があるそうだが、当面はこれでオッケイ。


2022.03.08


 別のWindows機にてVSCodeでRustプロジェクトをlldbでデバッグ。tokioでエラーになることもなく動く。はて。

 元のWindows機で rustup update を行い、プロジェクトをビルドしなおす。tokioでエラーになることはなくなったものの、ブレークポイントが効かない。はてさて。

 別のWindows機でも rustup update を行い、プロジェクトをビルドしなおす。ブレークポイントが効かなくなった。いやはやなんとも。Linuxでシンボリックリンクを使ったときにソースが見えなくなったのと似た現象だが、Windowsではシンボリックリンクは使ってない。あり得ない程度に不安定。Windowsでlldbを使うのはたまたま条件が合ったときのみ可能だってか。それだってちゃんと機能してるのかはなんとも言えない。

 CodeLLDB以外のlldb向け機能拡張は全部MacOS X向け。当面Windowsではlldbは使えないと考えた方が良さそう。

 とはいえ、Microsoftのデバッガ(cppvsdbg)だとステップインでライブラリのコードに移動しようとするので、これまた現実的ではない。何か制御できるんだろうか。WindowsでのRustのデバッグは絶望的。


2022.03.09


 そろそろかなとWindowsでのCodeLLDBを再度試してみる。VSCodeでCodeLLDBを無効から有効に切り替えるとなにやらプログレスバーが表示された。アップデートされたようだ。今度はブレークポイントで止まる。CodeLLDBの変更ログ(リリースノート)を見るとFixedの項目に「#633: Rust now emits with a new PDB language identifier, breaking debugging on Windows」とある。Rustコンパイラ側が.pdb(Windowsプログラムのデバッグ向けシンボル情報ファイル)への出力の仕様を変更したのが原因だったようだ。ようやくWindowsでまともにRustのデバッグができる。CodeLLDB 1.7.0のリリースは3月13日で1週間前。


2022.03.20


ダークソウル3 (PS4)

 ロシアのウクライナへの侵攻も長期化しつつあり、いつ核戦争が起きてもおかしくない情勢。心残りの無いように、積んでたダークソウル3を始める。Nintendo Switchにダークソウルを移植したことで、2や3も来るんだろうと思っていたが、売れなかったんだろうか、ちっとも来ない。PS4で3をやっちゃうよ。

 とはいえ、デモンズソウル、ダークソウル、ダークソウル2、ブラッドボーンときての5本目。多少はマンネリ感が漂うのはしかたがない。

 なんだかイベントが進んでしまいそうな巨大な扉の前に到達し、いつもの攻略サイトで確認する。あぁ、やっぱりボス戦か。まだデブとか衛兵とかとまともに戦えないのに。


2022.03.22


黒猫 (ポー)

 夜中にNHKの100分で名著の再放送をやってて、ポーがネタだった。家にあるポーは紙では俺が高校生の頃に買った東京創元社のもの、電子ではソニーリーダーの多分ポイントで買った岩波書店のものがある。ソニーリーダーにはながらく後継機種が無く、電子書籍が極めて無責任かつ不自由なことになってしまってる。

 Koboのストアでポー作品を調べると、佐々木直次郎の翻訳が100円で出ている。元ネタは青空文庫だ。青空文庫をDRM付きのEPUBにして100円で売っている。各小説単体ではストア開始時の水増しで無料配布されているが、それでもDRM付き。なんでDRM付けるの? 意味不明。

 そんなわけで、青空文庫のポーのうち、佐々木直次郎のものをまとめ、AozoraEpub3を使ってEPUBに変換。Koboで黒猫を読む。青空文庫の翻訳モノは訳がひどいものもあるが、佐々木直次郎の訳はおそらく元々俺が高校生の頃には普通に新潮文庫だったもので、平易で読みやすい。


主の変容病院・挑発 (スタニスワフ・レム)

 来月国書刊行会から新刊が出るということで、何年か前に買って放置してた本を読み始める。もう紙の本は重くていやなんだけど、これは電子化されてない。電子化されたら重複だろうが買う気にはなっているが、電子化されてない。ソラリスは国書刊行会の重い本を放置してたら早川書店の文庫が出てしまい、そっちを読んだ。積読してる間に2冊新刊が、電子化もされて出ていた。主の変容病院・挑発を読み終わったら買う。もしかしたら来月の新刊も電子化されるんだろうか。だとしたら嬉しい。

 主の変容病院は、そんなジャンルがあるかは知らないが、精神病院モノ。


2022.03.30


 Linux機でピアノ曲展覧会の絵を再生して、イヤホンATH-CKR50がビリつくと気付いた。もちろん同じデータをWALKMANで再生してもそんなビリつきはない。Linux機で音楽を聴いてると、耳が疲れるのはこのせいか。イコライザqpaeqの品質の問題。qpaeqをもっと無難な調整にする。


2022.03.31


 関口時正さんによるレムの訳にときどき「裡」という字が出てくる。私には読めないので「しめすへんにさと」で検索。出てきたページ(https://kanji.jitenon.jp/kanjif/2971.html)によると、「裏」の異体字だそうな。「裏」は漢検級5級、「裡」は漢検級準1級だそうで、なぜ素直に「裏」としなかったのか不思議。

 アカデミー・フランセーズと訳された直後に仏翰林院とも訳されている。文脈上同じものであるとは読み取れるが、ウィキペディアの「アカデミー・フランセーズ」を見て確認。「日本語の翻訳としてフランス翰林院が存在するが、この訳語が用いられることは極めて稀である」だそうで、関口時正さんは稀な人。

 落首という訳も出てくるが、落首に似た何か、壁新聞のような言葉が翻訳元なのか?

 明治・大正時代の訳じゃあるまいし、21世紀になんでこうなんだろう。


2022.04.04


 Yahoo!ニュースは色々なメディアの記事のタイトルが並ぶ。ロシアのウクライナへの侵攻関連のニュースではどうもフジサンケイグループとか現代(あるいはゲンダイ)とか東洋経済とかJBpressの記事タイトルが「いまにもプーチンが失脚するなり暗殺されるなりクーデターが起きるなりする」とか「いまにもロシアが破産する」などの、読者が読みたがってる(ロシアは戦争に勝てないという趣旨を想起させる)記事を提供しようと頑張ってるようだ。こういうタイトルで釣るメディアには戦争もいつも通りの単なる稼ぐためのネタなんだなぁ。


2022.04.13


「高木浩光さんに訊く、個人データ保護の真髄 いま解き明かされる半世紀の経緯と混乱」(https://cafe.jilis.org/2022/03/18/160/)

 「ターゲティング広告はこれからどうなっていくとお考えですか」「おそらく、relevancyの原則に沿ったターゲティング広告しか許されないよう、追い込められていくと思います。」

 数年以内にグーグル・アナルなんとかのような仕組みは違法になるんじゃなかろうか。国内はこのへんグダグダなんでどうなるかは知らんが欧州では多分。


2022.04.19


 仕事にて、iOSのWKWebViewに虐められる。

 WKWebsiteDataStoreのクッキー周りがバグなんだか仕様なんだかで全く機能しないので、レスポンスヘッダから直接クッキーを得るよう対策。参考にしたサイト「ガワネイティブのCookie同期 - おぼえがき」(https://takuyaokamoto.hateblo.jp/entry/2017/07/03/013705)。

 APIリファレンス(https://developer.apple.com/documentation/webkit/wkwebsitedatastore?language=objc)には碌な情報はありません。不可解な動きが仕様だとしても、その仕様は一切提示されていません。まぁ、普通はバグです。


2022.04.21


 帰省したら親がネトウヨになっていた、は日本の話。一方ロシアでは帰省したら親が熱心なプーチン支持者になっていた。若くて才能ある人たちの国外脱出が起きるわけだ。


2022.04.22


 どうもXcodeが使いにくいと思っていたが、VSCodeを触ってどの辺がダメか判明。ファイル一覧でファイルをクリックすると、Xcodeではカレントのエディタの対象が切り替わるのに対し、VSCodeではカレントのエディタが一時的かどうかや既に別タブで開いているかで細かく動作が制御されており、ダブルクリックで非一時的(固定的)に開いているファイルの場合そのタブに移動する。

 Xcodeのデバッガで追いかけるとさっきまで開いていたファイルがいなくなっており、またファイル一覧から探さないといけない。かなり馬鹿みたいな動き。人に優しくない。IntelliJとかEclipseとかNetBeansでももっとマシな動きだぞ。


2022.04.22


 ママと秋葉原に行き、天空の実店舗でGPD WIN MAX 2021を入手。AMD版はなくて、Intel版。VAIO Pro 11と同じくらいの重さだとは知っていたが、やっぱりちょっと重い。しかし、他の製品はどうにも電車で遊ぶには恥ずかしすぎる。

 変態キーボードなので「\」とか「tab」とかが蔑ろにされている。


2022.04.24


 GPD WIN MAX 2021のサウンド設定にイコライザがないのでドライバを削除してみた。しかしドライバが降ってこない。しまったと思い、GPDのサイトからドライバをダウンロードしようとしたが混雑してるとか言ってダウンロードさせて貰えない。しばし悩み、リカバリすることにした。

 起動時タブキーの連打でリカバリー画面になるが90度左に回転してる。リカバリー開始するが90度左に回転したまま。Windows 10の「ようこそ」も90度左に回転したまま。マイクロソフトアカウントを要求されないように無線LANには繋がない。初期設定と最初の起動が終わっても90度左に回転したまま。「設定」の「システム - ディスプレイ - 画面の向き」で「横」を選択してやっとまともな方向になる。

 リカバリ前にはなぜか電卓がCalculatorだったのだが、ちゃんと電卓になった。GPD WIN MAX 2021は一度はリカバリした方が良いってことのようだ。

 GPD WIN2の電源アダプターは使えない。Nintendo Switchの電源アダプターも使えない。


2022.04.26


 Windows 10のExplorerのデフォルトのフォントサイズが老眼にはかなり厳しい9ポイントなので、noMeiryoUIを使ってフォントサイズを変更していた。問題は「g」など下方向に長さが要求される文字が切れること。Windows 10の設定を物色してて、[簡単操作 - ディスプレイ - 文字を大きくする]を発見。いつからあるのか知らないが、どうやらこれが純正の相当する機能のようだ。

 色々弄ると、なぜかタイトルバーが大きくなって戻らない。ググると、どうもnoMeiryoUIユーザーで現象が発生するようだ。レジストリ「HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics」の「CaptionHeight」を「-330」に直す。

 それにしても「簡単操作」なんてものに分類されたらどう考えても目的の項目は発見できないぞ。素直に「システム - ディスプレイ」にも並べておけよ。「システム - ディスプレイ」は「簡単操作 - ディスプレイ」のスーパーセットではなくその逆もスーパーセットではない。「簡単操作」に並んでる項目はここにあるべきものとはいいがたいものが多いなぁ。なんでこんな間抜けなことになってるんだ。「簡単操作」ってもしかしてAccessibilityの翻訳? 拡大鏡はわかるが、テキストカーソルの色とか太さとかここか?

 しばらく「文字を大きくする」で利用してみる。アクションセンターで切り替えられると便利なんだけどなぁ。


2022.04.27


Minecraft Java Edition (PC)

 以前に買ったJava版MinecraftをGPD WIN MAXで動かそうとする。バイナリをコピーしてきてランチャーを起動。MojangのアカウントからMicrosoftのアカウントに移行しろとか言われる。そういえばそういうニュースを読んだな。面倒だがしかたがない。移行する。

 antimicroを使ってXInputコントローラー(GPD WIN MAXのコントローラー)で遊べるようにしたんだが、アイテムセレクトの左右移動がわからない。コントローラーを使えるmodがあるということで、Forgeを入れてcontallableを入れる。XInputコントローラーで遊べるようにはなったが、なんだかしっくりこない。アイテムセレクトの左右移動はキーボードであるだろうと検索をする。見つかったのはマウスホイールの上下だった。あぁ、デスクトップPCでプレイすればすぐ気付いただろうに、モバイルPCだから気付かなかった。antimicroに戻る。PS Vita版を参考に設定。最近のMinecraftは持ち物画面とクラフト画面が合体してる。ようはキーが一つ必要ない。

 ボーナスチェストがデフォルトでオフとか罠ですか。最初の目標はベッド(リスポーンポイントの設定のため)で次は地図(迷子になります)。ベッドに必要なのはハサミで鉄が材料。鉄を求めて渓谷を探索。


2022.05.05


Minecraft Java Edition (PC)

 おそらく最新のMinecraftになり、知らない動物(モブ)とか、知らない構築物が増えてる。地図作りで徘徊してて「荒廃したポータル」を三か所見つけた。そのうち一ヶ所は黒曜石の欠けが一つだけで、ご丁寧にも付属チェストに黒曜石と火打石が入っていた。修理して使えということか。

 これってもしかしてMinecraftプレーヤーのうち大部分がネザーに行かないからなんだろうか。私はドラゴンに会うことを一応目標に遊んでるが、農業プレイや建築プレイではネザーは関係ないしねぇ。

 「荒廃したポータル」を修理したらちゃんと点火した。


2022.05.09


「ホーム」へ戻る


OSTRACISM CO.

OSTRA / Takeshi Yoneki