■ 開発日記 巻之七拾七


OSTRA / Takeshi Yoneki


 EdgeでRakutenブックスにて、反応が異常に重い。本を買おうとすると混んでるから後でねと買えない。楽天市場の障害情報は特にはない。変だなぁと思いつつFirefoxでは問題なく買える。Edgeの問題? [設定 - プライバシー、検索、サービス - 閲覧データをクリア - クリアするデータの選択 - 今すぐクリア] を行ったら軽くなり、ちゃんと買えるようになった。Edgeのバグですか。迷惑ですわ。


2022.11.02


 WindowsのKoboアプリを使うと、電子書籍のファイルは C:\Users\<ユーザー名>\AppData\Local\Kobo\Kobo Desktop Edition\kepub に保存される。どうもヤングジャンプの漫画がおかしいと思い、epubcheck (https://www.w3.org/publishing/epubcheck/) を掛けてみる。


C:\work>epubcheck 8151a15a-777d-4c85-9954-b930eb10913c.epub
FATAL(OPF-002): 8151a15a-777d-4c85-9954-b930eb10913c.epub/META-INF/container.xml(-1,-1): OPFファイル "OPS/advanced.opf" がEPUB内に見つかりませんでした.
ERROR(RSC-001): 8151a15a-777d-4c85-9954-b930eb10913c.epub(-1,-1): ファイル "OPS/advanced.opf" が見つかりません.

チェックは終了しましたがエラーが検出されました
メッセージ: 1 件の致命的エラー / 1 件のエラー / 0 件の警告 / 0 件の情報

EPUBCheck 完了

 エラーになる。間違ったEPUBってことだ。

 META-INF/container.xml にrootfileが2つ記載されており、片方が OPS/standard.opf で、もう一つが OPS/advanced.opf。OPS/standard.opf は実体が存在するが、OPS/advanced.opf はない。

 ルートが2つあるのはまぁ良いとしても、存在しないファイルパスを記述するのは完全に間違っている。集英社さん、ちゃんと直した方がいいですよ。


2022.11.03


 Ubuntu 22.04の[設定 - ディスプレイ - 任意倍率のスケーリング]で150%を試してみる。VSCodeの表示がボケる。あぁ、こんな弊害があるとは、いわゆる互換性はこっちのほうが高いんだろうけど、避けられないのかねぇ。

 100%に戻す。


2022.11.09


 mpd (Music Player Daemon)で、MP3のコメントが読めてないことに気が付いた。相変わらずバグの多いプログラムでござる。Ubuntu 22.04の公式パッケージなのでバージョンは0.23.5。


2022.11.11


DOOM3 - BFG Edition (PC)

 GOG.comでPC版のDOOM3 - BFG Editionを買った。9.99ドルが1480円。円安。元々家にあるDOOM3はPC版が出たばかりの頃に買った英語版と、PS3向けに中古で入手したBFG Edition 英語版。GOG.comで売ってるPC版のDOOM3 - BFG Editionは対応言語に日本語が入っている。

 一旦メインPCにインストール。DOOM 3 BFG\base\wads にDOOMとDOOM IIのWADが入ってる。それをPS VitaのChocolate Doomに入れる。PS3向けのBlu-layディスクのBFG Editionにも入っていると解っているが、それをPCで読む方法がない。Blu-layドライブを入手したとして、読めるのかどうかは不明。

 大昔に買ったDOOMはDOOM IIのCDで、それに付属するDOOMはシェアウェア版。それでも実際プレイするとボリューム的にお腹一杯で、DOOM IIでなくDOOMばかり遊んでた気がする。PS版のDOOMのCDもあるが、PC版とはかなり構成が違う。ようはPC版の最初のDOOMをようやく好きに扱えるようになったってことだ。


2022.11.16


 2014年暮れに導入した6代alephが逝く。テレワークで仕事してる間にプッツリ止まってる。ボタン電池を交換してももう起動しない。2008年の5代も2014年の6代もマウスコンピューターで、2022年の7代もマウスコンピューターに注文。今度はaleph初のAMD機。Ryzen 5 5600Gでメモリ16GB。GPU内蔵で一番安いミニタワー。2014年は4万5千円だったが、2022年は10万円位になっている。パソコンは高くなったままのようだ。

 AMDのページ(https://www.amd.com/ja/products/apu/amd-ryzen-5-5600g)を見ると AMD Configurable TDP (cTDP): 45-65W とある。TDPを下げられるCPUのようだ。ググるとASRockのマザボで可能といった情報がある。ふむふむ。

 佐川急便でパソコンが到着。早速中を見るとASRockのマザボであった。BIOS設定画面にて35W/45W/65Wが選択可能になっている。まじですか。本当に低電力運転可能なんかね。一応35Wにしてみる。

 HDDなしSSD 256GBモデルを買ったが、SSDに入ってるWindows 11を一度も起動することなくUbuntu 22.04を入れる。一度前のHDDでブートさせようとしたがうまくいかなかった。ところがSSDに入れたシステムもfstabに存在しないデバイスを書き込むと同じようにうまくいかなかった。えっ、fstabの問題? HDDもいけるんじゃね。HDDのfstabを書き換えて再度挑戦。SSDに比べ時間は掛かるが無事起動。システムの移行は不要。そのまま使える。


2022.11.29


 Visual Studioは好きだが、ところどころどうにかならんかという部分もある。

 出力ウインドウにビルド結果が出力されるが、テキストファイルに書き出す機能がない。クリップボードにコピーするための全選択もない。端からドラッグして全部選択してCtrl-Cでコピー、テキストエディタにペーストしてからファイルに保存する。実に馬鹿馬鹿しい。Visual Studioを使う前の環境から明白に劣っている。コマンドラインでビルドしてリダイレクトしろってことなのか?

 例えば呼び出し階層ウインドウ。表示されているものをテキストファイルに書き出せない。全般的にファイルに書き出す機能が用意されていない。こっちは全選択する方法もないので、対処しようがない。


2022.12.23


 以前にも書いたが、Ubuntuを20.04から22.04にアップグレードして大いに引っかかったのがPythonだ。pythonという名前のコマンドがなくなり、python2かpython3を使えということになった。将来にはpythonコマンドでPython 3を起動するのだろう。迷惑です。軽々しくヒトの書いたプログラムをゴミにしないでくださいな。

 そんなわけで、あちこちのPythonスクリプトの冒頭の「#!/usr/bin/python」を「#!/usr/bin/python2」に書き換えた。

 で、結局のところ、Python 3に移行するつもりはないので、何か別の言語はどうかと物色しているわけだが、Goが割と感触が良い。Rustのような窮屈さもなく、PythonやJava程ではないが、割と標準ライブラリも充実している。標準ライブラリの範囲内なら手軽にマルチプラットフォームになる。Rustは標準ライブラリが貧弱すぎて、マルチプラットフォームにしにくい。もちろん型に厳しいコンパイル言語なので、規模が大きくなっても安心(JavaやRustやGoは安心だがPythonは安心できない)。

 いくつかPythonで書いたプログラムをGoに移植。そのうち駆逐できるだろう。


2023.01.11


 Rustは制約が強烈に厳しいだけでなく、無駄に沢山の約束事の記述を要求する。unwrap()とかcollect()とかok()?とかが大量にちりばめられ、肝心のロジックが読みにくくなる。独自簡易HTMLパーサのRust版html_parser.rsは34.4KB、Go版HtmlParser.goは24.8KB、OCaml版tHtmlParser.mlは22.4KB。Rustは同等の処理を記述するのに50%位コードが増量されてしまう。それだけ、読みにくいコードになるってことだ。Rustのget_elements_by_tag_nameとGoのGetElementsByTagNameではRustの書き方(コンパイラに要求されるので逆らえない)は単純に4バイト大きい。どっちが読みやすいかってのは慣れの問題だが、後者に慣れてしまって、今更前者には抵抗がある。大昔のCのライブラリなんかは前者だったんだが。

 ガベージコレクションを導入せず、スマートポインタで頑張るというRustのコンセプトは面白いと思うのだが、もうちょっとなんとかならなかったんだろうか。関数型っぽく書くのはクロージャの制限がきつすぎて拒否されてる雰囲気だし、どうしてこうなったんだろう。GoとOCamlはガベージコレクションでメモリ管理してるそうだ。


2023.01.11


 Kindleでしかリリースされていない電子本、「速習 ECMAScript 2020」を購入。なんかクーポンだかポイントだかが500円あって、同じ値段だったので結果0円。

 PCのKindleアプリケーションで読んでいる。アプリケーション終了後、再度起動し、続きを読む際、矢印キーでページが移動しない。スペースキーでも移動しない。フォーカスに依存してんじゃねえよ。

 「フィードバックを送信...」すると、ブラウザでAmazonにログインを求められ、自動プログラムとのチャットを求められた。いや、そうじゃないだろ。普通にフィードバックを送信させろよ。このフォーカスの問題がきちんとAmazonに伝わったのか不明。Kindle PW 10のハイバーネーションが効いてない問題は実機を確認することなく放置だし、なるべく関わりたくない会社である。

 「速習 ECMAScript 2020」はときおり間違いがあるのは値段相応なのか? ざっとチェックするには十分だとは思うが。


2022.01.16


 Reasonという環境というか言語をちょっと触ってみようかと、https://reasonml.github.io/docs/en/installation を頭から実行していってみた。Windows 10で。hello-reason.gitのesyの実行で躓く。シンボリックリンクが張れないとかなんとか。コマンドプロンプトを管理者モードで開いたら動いたが、なんじゃこりゃ。Windowsの「設定」で開発者モードにすると動くという情報も出てきた。次にhello-jsoo-esy.gitであるが、esyの実行で躓く。スクリプトの実行でエラーとかなんとか。テンポラリで展開してるせいで、エラー後はそのスクリプトを含め皆いなくなってる。とりあえず、Windows 10では諦めることにする。

 後片づけくらいは用意してほしいが、Node.jsの管理下以外に C:\Users\<ユーザー名>\AppData\Roaming\npm というディレクトリが勝手にできており、Cygwinの一部など1GBくらいファイルがあった。削除。環境変数HOMEの場所に .esy というディレクトリが勝手にできており、OCamlなど3GBくらいファイルがあった。削除。

 どうも最近はユーザーディレクトリ環境に実行ファイルを含む大量のファイルを勝手に入れてしまうのが、開発環境のトレンドのようで、うんざりしている。VSCodeも C:\Users\<ユーザー名>\AppData\Local\Programs\Microsoft VS Code\Code.exe なので、同様にうんざり。LinuxのOCamlもopamを使うと ~/.opam に全部入ってしまう。うんざり。


2023.01.24


 Ubuntu向けにGoで書いたプログラムをWindows 10でビルドしたら undefined: syscall.Kill とか言われ、ビルドさせてもらえなかった。えっ、syscallって*nix用だったのか。Cの標準ライブラリのようにWindows向けにそれっぽいエミュレーションはしてくれないのね。残念。Windowsはx/sys/windowsを使えってことのようだ。マルチプラットフォームで書ける範囲はそんなには広くないぞってことか。


2023.01.25


 使い勝手が良くて長らくお世話になってたzipファイル向けWindows GUIプログラムのLhaz。2020年頃から本家サイトに繋がらなくなっているそうで、不本意ながら移行を考えなくてはいけないようだ。で、7-Zipを使い始めている。概ね良い感じ。アーカイブファイルをGUIで見てるとき、アーカイブ内と外へシームレスに移動できちゃうのが、余計なお世話というか、癖のあるところ。

 Lhazはファイルを掴んでエクスプローラへドロップすると展開するだけでなくそのファイルをシェル起動しちゃうという、余計なお世話というか、癖があり、なんとかならないかなぁとは思っていた。危険なものが入っているアーカイブファイルを気軽には扱えないってことで、ソース等非公開のままフェードアウトだとすると、もうどうにもならないだろう。


2023.01.28


 いままでSkyrimをインストールしてなかったPCにSteamでインストール。Skyrimランチャを起動するとAnniversary Editionはこちら、といったようなお知らせ付きになってた。あれっと思い、Webで検索すると、昨年9月にAnniversary Edition(バージョン1.6)の日本語版がリリースされていた。あぁ、ついに1.6の日本語版が来たのね。

 メインのPCのSkyrimがアップーデートされる。割と短い。画面表示がちゃんとできなくなった。あれれれと思い、色々触ってたらもっと大きなアップデートが始まった。8GB程。しかしこれもお知らせがない。ごく一部だが日本語にならない部分がある。篭手とブーツを身に着けてるのにアイテムに一覧されない。あぁ、無駄だったんだ。一旦アンインストールして、再度インストールした。12GB程。やっとちゃんとAnniversary Edition相当になった。Special EditionからのアップデートではAnniversary Editionのエンジンになるけれど、シナリオ関連はごく一部だけって話だ。

 GOGにSkyrimが来てた。Steamランチャがどうしてもいやになったら移行するだろうが、Oblivionと違って、どうにもならないって程ではない(Steamはメインの実行モジュールの改変が不可で、Oblivionの場合GeForceが32bitのDirectX 9のdll非対応で詰まった)。


2023.02.04


 3度目のSkyrimプレイ。今回はSteamでPC版。SEがアップデートされ、エンジンはAE相当。狂気の鉱石など、AEでの追加要素も一部ある。2度目のSwitchでのプレイではファルクリースで僧侶ルニルが死んでおり、人助け条件を満たせず従士になれなかったが、今回は無事従士になれた。PS3での初回プレイ時、最終的にイベントが発生しなかった鉱山は、今プレイではルニルの日記クエストが発生した。

 クエスト戦闘中行方不明を進めたせいでサルモールと敵対してしまい、道中襲われるようになった。まだ主人公が弱いので困りもんである。


2023.02.20


 楽天がKoboを買って10年以上経ったが、いまだに電子書籍ファイルのファイル名に使えない日本語文字があり、解消どころかどの文字がダメなのかの情報も出てこない。いいかげん直せよ、きっちりバグを追えよ。


2023.02.21


 ウィキペディアの「BTTB」の記事に、『「ブライアン・イーノやハロルド・バッドのピアノの音を一度やってみたかった」』とあり、同じくウィキペディアでハロルド・バッドを調べると、2020年に新型コロナで亡くなっていた。

 ウチにはLPで「鏡面界」があり、結構好きでよく聴く(もちろんキャプチャーしたデータでだが)。「鏡面界」がありというよりはハロルド・バッド作品は「鏡面界」しか持ってない。少なくともイーノ関連のは聴こうと「夢のパヴィリオン」と「パール」のCDをアマゾンで注文。オブスキュアレーベルの「夢のパヴィリオン」のジャケは「ディスクリート・ミュージック」と似た感じ。「パール」のジャケは見覚えがあるような気もするが、多分買ってなかった。


2023.03.07


 「2035年の世界地図」(電子版で読んでる)に唐突に何の前提もなしに「歴史の終わり」という言葉が出てきた。フランシス・フクヤマの著作だそうだが、翻訳の電子書籍は存在しない。元の英文は電子書籍がある。エマニュエル・トッドの「帝国以後」も電子書籍はないが、こっちはどうも英訳の電子書籍もないようだ。仏語でどうなのかは調べてない。

 なんというか、知はDXとは無縁なのかもしれない。

 両名とも最新作(「リベラリズムへの不満」「我々はどこから来て、今どこにいるのか?」)は翻訳も電子化されている。まぁ、出版関連にお金が回らないという貧乏の問題なのだろう。


2023.03.07


 PCでGoogle翻訳のドキュメントのページを見ると「パソコンを参照」というボタンがある。Explorerでファイルを掴んでそのボタンに放り込んでも「パソコンを参照」は反応することはなく、ブラウザがそのファイルを表示しようとするだけとなる。Googleが勝手にUIを作りこんで、しかも、期待される動きが実装されていない。HTMLにそもそも用意されているファイル参照ボタンは、ブラウザ側の機能でファイルのドラッグアンドドロップに対応していたりするのだが、そういった利便性を捨ててまで見た目を優先することをデザインと勘違いしてる、典型的に駄目な意識高い系の仕事だ。迷惑。


2023.03.09


 Rakutenブックスの電子書籍ページ。「最近チェックした作品」が並ぶんだが、「かごに入れる」が有効になっている。いや、それ全部アンタんとこで買ったんだが、何がしたいん、阿呆なの? 「ご購入手続き」まで進んでやっと「購入済みの商品です」ってなるけど、「エラー番号:u0031」。ユーザーの操作ミスだとでも言いたいんかね。気の狂ったサービスに付き合わされるのは勘弁してほしい。楽天を使わなければいいって? 電子ペーパー端末を使うならアマゾンとの究極の二択だよ。選択の自由と呼べるほど恵まれてる状況ではない。Devoの「Freedom of Choice」はそういう作品。


2023.03.09


 Firefoxでのこと。Microsoftのサイト 「PKCS #7 暗号化メッセージング構文の概念」(https://learn.microsoft.com/ja-jp/windows/win32/seccrypto/pkcs--7-concepts)にて RFCドキュメントへのリンク https://www.ietf.org/rfc/rfc3369.txt があり、「名前を付けてリンク先を保存」をしたところ、「uMatrix によりブロックされたためダウンロードファイルを保存できませんでした。」となった。uMatrixを止めるとダウンロードできる。Microsoftはいったい何を仕込んでるんでしょうか。


2023.03.15


 SteamからスプリングセールのDMが来たんで、物色。GOGの方も見るとSteamに合わせてセール中。Cyberpunk 2077は早くもGOGに来てたので、GOGで購入。ついでにFallout 3もGOGで購入。SteamではNieR:AutomataとFallout 4を購入。Fallout 4はもうじきGOGに来るだろうとは思うが(Skyrimは既に来てる)、元々ゲームが日本語モードを持ってるのでGOGである必然性は高くない。


2023.03.24


 GPD WIN MAX をテレビに接続してSkyrimをプレイ。ポーズメニューを表示するとなぜかファンが唸る。処理負荷が高そうなところではないのだがブンブン唸る。まぁ、メニュー表示のソート機能が割と出鱈目な実装なのは感じ取れるゲームではあるが、何をどうしたらこんな負荷が上がるんだろう。


2023.03.24


スカイリム (PC)

 3度目のスカイリム。内戦クエストは反乱軍側でプレイ。メインクエストの「終わりなき季節」でリフテンが帝国領となり、メイビンが首長となる。その後内戦クエストを進め、リフテンが反乱軍側となり、元の首長ライラが返り咲くが、なぜかメイビンの肩書の首長が付いたまま。首長様、そんな安酒屋で偉そうにお食事ですか、と嫌味も言いたくなる。

 ドーンガードのクエストの「目覚め」。ディムホロウ墓地序盤で素早く吸血鬼を倒したら生きてる番人トランと死体の番人トランと二人いる。Anniversary Editionの新バグ? とりあえず「目覚め」をプレイして、その後ドーンガードの砦に来るかどうかを要確認。


2023.04.15


スカイリム (PC)

 ユンゴル墓地にて鍵爪がないのだが、既にビルナから買ってた場合は配置されないようだ(https://komakai.info/tes5/skyrim-yngol-barrow/)。鍵爪を売ったりしてロストしてる場合はどうなんだろう、詰むんだろうな、多分。ビルナから買ってた場合、それがどこのダンジョンの鍵爪かのヒントはないので、自力で解くのは無理なのではないかと思う。

 アンソール山のドラゴン討伐で、ターゲットの表示が方向表示とマップ表示とどちらもおかしい(別々におかしい)。マップは比較的アンソール山に近いのだが、方向表示はマルカルスを示していて、もちろんどちらにもターゲットはいない。これは既知のバグ(https://wiki.skyrim.z49.org/?%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88/Bounty+Quests/Dragon)だそうで、setstage BQ04 100 で倒したことにする。


2023.05.01


 NHK FMで放送された楽曲情報がWebで公開されているのだが、刷新後、私の技術ではマシンリーダブルにできないため、ながらく行ってたエアチェックはもうお終い。なんでこうWebページ制作ってのは明後日の方向へ行っちまうんだろう。


2023.05.01


サイバーパンク2077 (PC)

 GOGにて入手。プレイ開始後に、そもそもGOGの会社のゲームだと知る。

 クエスト「回収」での戦闘が厳しいので難易度をノーマルからイージーに変更。クエスト「情報」のブレインダンス(BD)で3D酔いする。

 砂漠でアイテムを探すがごとくのBDでの探索は必ず3D酔いする。「クーロンズゲート」のごとく酔う。

 通常のプレイ画面や戦闘画面では酔わないので、何か酔う理由があると思う。

 ゲームとして駄目な最大の問題は、プレイを続ける気を削ぐレベルで文字が読めないことだ。インベントリ画面で武器の説明の文字が小さくて読めない。49インチのテレビにPCを接続してプレイしてるので、10フィートUIが要求されるのだが、そういった配慮は一切ない。字幕はアップデートで大きくしたそうだが、他の部分はもうどうにもできないのだろう。

 そもそも俺には向かないゲームな気がする。期待してたんだが。


2023.05.05


サイバーパンク2077 (PC)

 難易度をイージーに下げてプレイ。Act2になり、キアヌに取りつかれる。そっと背後から敵に接近して静かに殺し、死体を隠すという、「メタルギアソリッド」や「天誅」のようなゲーム性だと気付く。小島監督も出てくるそうだ。忍殺。現在「忍殺」でググると「ニンジャスレイヤー」に奪われた言葉になっている。

 当初感じたよりは面白くなってきた。


2023.05.08


「ホーム」へ戻る


OSTRACISM CO.

OSTRA / Takeshi Yoneki