/var/log/hdk.log

2025 年 8 月中旬

prev, this, next


10 (日)

%1 にちようび

雨。 やむ時間帯もあったが結構雨。

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版は 47 話まで。 48 話までかと思ったら終わりっぽい展開になっていてよく見たら 47 話までだった。 実写映画や旧アニメとは少し展開が違うような気がするが、まあいいや。 トリアージの話もさすがに現代的過ぎるだろう。 あと関西弁の判断は自分にはできないが、鹿児島弁に関してははっきりとおかしいと言えて、こりゃあどこの方言だ? としばらく余計な方向に気が散ってしまうことになった。 方言指導がなかったのか、雑だったのかは知らんが... 関西弁もあんな風に聞こえているとしたら気になるだろうね。 絵がきれいになっているのはヨシで、ストーリーも原作者監修だけあって整ったものになっている感じはある。 あと本条鎌足を演じているのがきちんと (?) 男性声優になっている。

拙作エミュレーターの実装をいろいろ見直していて、オーディオの投入部をコールバックじゃなくてプッシュ型にしようとしたところ、なかなかうまくいかない結果になったのでそれは戻して、アトミックアクセスが無駄に多かったのを修正してまとまりごとにセマフォーを使う形に単純化した。 その上でビデオ側の時間同期処理はカットしたほうがいいかな... ちょっと悩むところだけどシューティングゲームの操作への影響はデカいし、オーディオ側の転送単位を小さく抑えられるのなら、ビデオ側で調整する必要はない。 しかし間隔調整のための SDL_Delay が使いにくいという話のような気もする。 難しいな。

某ゲームハイスコア

ラウンド 6、100 万点超えたのはたぶん初めてだ。 キーボード操作を普通のゲームみたいにする自作補助プログラムを使ってはいる。

2025/08/10 のコメントを読む・書く


11 (月)

%1 山の日

曇り時々雨。 あんまり暑くならないのは良いが、雨は雨で出かける気が失せる。

熊本から福岡にかけて線状降水帯でかなりひどいことになっているそう。 先週の霧島市・姶良市が、大雨で川の氾濫や土砂崩れがあって、死者が出ているし、一部で断水も続いていて、結構な災害なのに、そこから何日も経たないうちに九州北部でも大雨とは... 1993 年とはまた違った感じで大きな被害になりそう。 災害による米不足で備蓄米が足りなくなるようなことにならなければいいが...

%2 エミュレーター

OpenGL ES 3.0 にしたつもりだったが texture2D というのは廃止されているんだと、今更知った。 GNU/Linux では使えているけど、Windows で動かなかった。 単に texture になおすといけた。 それ以外に GL_LUMINANCE も廃止なんだそうで、これは Windows でも動いていたが、修正しておいた。 内部で使っている 8 ビットカラーのデータをテクスチャーとしてシェーダーに食わせるためだけなので、GL_R8GL_RED の組み合わせになっても何も困ることはない。

Athlon 5350 という省エネの遅い Windows パソコンでまともに動いたので、気をよくしてオーディオバッファーサイズの調整などをしておいた。 さすがに省エネパソコンではバッファーサイズを大きくしないとアンダーフローが起きやすいが、そのためのオプションは追加済み。 悔しいことに CPU 使用率は GNU/Linux を入れた iMac 2019 より遙かに低い。 なんでかな。 ま、いいか。

%3 MSYS2

Windows 用のバイナリも GNU/Linux でビルドするのがいつものパターンだけど、OpenGL どうするんだ!? ってなって、わからんので MSYS2 を使った。 MSYS2 には angleproject というのがあって、それで OpenGL ES 3.0 は使える。

MSYS2 は話には聞いていたけど実際あまり触ったことがなくて。 入れてみるとコマンド プロンプトのウインドウでなくて (Windows のコンソールでなくて) ちゃんと端末みたいなアプリケーションで立ち上がってくる。 Cygwin みたいな感じだけど、Arch Linux と同じ pacman というパッケージ管理ツールが使えるので便利だ。 昔の Cygwin の印象があってダークモードの表示にもそんなに文句はない。 Microsoft Edit がパッケージにあったので入れてみたら起動直後に勝手に変な文字が打たれてしまって実用上問題がある。 Nano は入っている。 Vim は tiny 版がなさそうなのでインストールしない。 GNU Emacs をパッケージで入れてみたらまあこれも悪くはない。 Debian のと違って native compilation は有効になっていないみたいで、Athlon 5350 みたいなポンコツ環境ではそのほうがありがたいというものだ。

MSYS2 は UCRT と MINGW64 と何とかとと種類がいっぱいあるのがわかりにくい。 パッケージも別々にあるものもある。 SDL2 が mingw64 だけっぽかったのでそれを使うことにした。

実際どうなっているんだろう、fork システムコールが使えるんだろうか? Cygwin は独自のダイナミックリンクライブラリによりとてつもなく重たい手段で実現していたけど、MSYS2 はどうしているんだろうか。 と検索してみると Cygwin のフォークなんだって? そうなの??

2025/08/11 のコメントを読む・書く


12 (火)

%1 5 年

Lode Runner の 5 年前の続きを... レベル 90 近くになると時間差消しみたいな独特のテクニックが求められる。

それはともかく 2019 年には風邪を引いていたんだなー。 同じ年のアメリカ合衆国滞在中にも引いているし、それ以外にも何度か。 熱が出るような風邪はその後の 5 年間で 2021 年 3 月に引いた一度だけ。 最近も含め何度か寝ている時にのどが痛いんじゃないか、何かあるんじゃないかと感じることはあるけど、起きると何ともないのはやっぱり鼻炎絡みか。

%2 かようび

曇り時々雨。 午前出社した。 ビミョーにパラパラと降られた。

先週末 Debian 13 がリリースされていて、とりあえず職場のパソコンを実験台に (ぉぃぉぃ)。 MATE のバージョンは結局あがらなかったのね。 バグもそのまま引き継がれている。 GNU Emacs のバージョンはあがったけど uim-el はバグっているし、なんかその... ま、いいか。 細かいバグばかり気になって、見た目はどこが変わったのかわからないレベル。

Debian 13 は i386 カーネルがなくなったため、i386 版も amd64 カーネルを使うのが前提になった。 amd64 カーネルが使えないハードウェアに関しては、リタイアさせるのを推奨、と... 自宅サーバー PC (Atom Z530) はしばらく Debian 12 のままいくしか。 幸い Debian 13 に急いで更新したい理由もない。 amd64 カーネルで i386 ユーザーランドを使いたい環境って何だろう、と思ったけど、一応 64 ビットに対応したけど 32 ビットメインで使われた Core 2 Duo 世代とか、Athlon 64 世代とか、メモリーも微妙な容量で 64 ビットの恩恵が少ない環境かな。 amd64 はコードサイズが大きくなるし、仮想メモリー空間を広く使えばページテーブルも広範囲になるのでね。

2025/08/12 のコメントを読む・書く


13 (水)

%1 iPhone

iOS 版 Firefox で一時期プライベートタブが強制ダークモードだったけど、それはいつの間にか解消されている気がする。 プライベートタブを全部閉じてもプライベートデータが残っていて、プライベートタブを閉じなくても Firefox アプリ自体を終了させるとプライベートデータが消えるという挙動は変わっていない。

あと iOS 版 Firefox もアドレスバーに二次元バーコード読み取りボタンが出ていたはずなんだが、いつの間にかなくなった。 なんだそれ。 Did Firefox IOS Remove the Built-in QR Scanner? : r/firefox を見ると人によるらしい。 なんだそれ。

Web サイトにある「アプリを開く」系のリンクの挙動もよくわからない。 例えば X の Elon Musk のページを開いて、一番上にある「アプリを開く」をタップすると、「このリンクを App Store で開きますか?」っと出てくる。 なんで App Store? Google Maps も同じなので、Elon Musk が悪いわけではないらしい。 Android でいうところの intent みたいなやつが iOS には存在しないのかもね。 知らんけど。

%2 すいようび

曇り。

鹿児島大学の井村隆介准教授の X の投稿を見ていると、姶良市にお住まいのようで、浸水や停電は逃れたものの断水してしまって、今日昼頃に復旧したそうで。 1993 年は自分が住んでいたところもある意味では似たような状況であった。 あのときは断水期間はもっと長かったかな? 浸水被害はまったくない地区だったので似ていないとも言えるけど。 1993-07-09 がいったん発表された梅雨明けだったらしい。 草牟田が水の深さ的にはひどかったんだなぁ。 みんな高床式になっているとは。

ニュースにあるように株価があがっているわけだが、最近取引注意情報をチェックしていると公開買い付けが出ている株がいくつかあって、持っているとそのうち上場廃止になるみたいな話だとしたら面倒だと思って、市場で手放すことにした。 それが、公開買い付けだーっていって上がった感じなのに、なぜかわからないけど勢い余って公開買い付け価格を突破して上がったようだ。 実際に公開買い付け価格より高い値段で売れてしまった。 そんなことがあるのか。 最初から安い価格で公開買い付けになるケースもあるけど、今回遭遇した 2 件はいずれもそんな感じではなさそう。 単に高い価格にしておいたのにそれ以上に株価が上がってしまったような、おもしろ現象だった。 公開買い付けが目標数に達しないこともあり得ないわけではないけど、果たして。

2025/08/13 のコメントを読む・書く


14 (木)

%1 もくようび

晴れ時々曇りで思ったより暑くなった。

Lode Runner のレベル 91 から 101 までやった。 102 がなんか異様に難しいなというところ。

%2 Debian

自宅のノートパソコンと iMac も Debian GNU/Linux 13 にアップグレードした。 アップグレード開始後放置して、うっかりロック画面になってしまったらロック解除できなくなっていて焦ったが、冷静にコンソールからスクリーンセーバープロセスを終了させて何とかなった。 ノートパソコンはストレージが NVMe なので完了はかなり早かった。 iMac は Fusion Drive の NVMe 部分を使っていないので結構時間がかかったけど、省エネ Windows パソコンの Windows Update に比べればへのような速さだ。

MATE に関しては 2023 年と同様にパッチが必要。 2 年経っても 1.28 に移行していないのはどういう理由なんだろう。 スクリーンショットのアプリケーションも日本語訳がぶっ壊れていて拡張子の後ろに " スクリーンショット" ってつくので不便なままだし。 日本語訳といえば、前は大丈夫だった日付の日本語もアップグレードでぶっ壊れた。 "木 8月 14" じゃねぇんだよ、日本語でも中国語でもそんな表現はおかしいんだよ。 前はちゃんと "5月 7日 (火)" などと出ているスクリーンショットが出てきたので、ほとんどバージョンが変わっていないのにいつの間にかぶっ壊れたらしい。 それに加えて mate-sensors-applet にも問題があり、アプレットがまったく動かなくなったので sid の 1.26.0-1.1 をビルドしてインストールした。

GNU Emacs が新しくなった関係で uim-el が問題を起こすようになった。 inactivate-current-input-method-functiondeactivate-current-input-method-function に変わっていないといけないらしい。 今は対策として以下を追加している:

(advice-add
 'uim-leim-activate :before
 (lambda (&optional name)
   (setq deactivate-current-input-method-function 'uim-leim-inactivate)))

職場のパソコンでは xrdp のバージョンがあがったことで VNC 接続時にクラッシュするようになったが、これは自宅では再現しないようだ。 なんだろね。

iMac の環境ではなぜか tty2 以降が起動しなくなっているのだけどこの謎は変わらずだった。 これは Copilot と相談していたら /etc/systemd/system/autovt@.service という何かの残骸のリンク切れシンボリックリンクが残っているのが見つかり、リンク先の名称を頼りに apt purge kmscon を実行したところ解消した。

2025/08/14 のコメントを読む・書く


15 (金)

%1 GNU Emacs の標準かな漢字変換

Multilingual text input method として GNU Emacs には "japanese" というのがある。 ほとんどユーザーはいないのであんまり情報がないのだけど、LEIM (Library of Emacs Input Method) という仕組みがあって、それに標準で Quail package というのがあって、そこに含まれている日本語用の入力メソッドであるらしい。 関係ありそうなファイルをピックアップすると:

というわけで SKK の辞書を小さくしたものがベースに使われているらしい。 leim/ja-dic/ja-dic.elc は elc ファイルの中でも圧倒的に大きく 2 MB を超える。 Debian 12 の GNU Emacs 28.2 でそれで、Debian 13 の GNU Emacs 30.1 だと 4 MB を超えている。 もはや ATOK8 の辞書ファイルのサイズを超えているのである。(そこ?) GNU Emacs 28.2 の時には「にほんご」→「煮本語」という謎変換だったが、GNU Emacs 30.1 ではそこは「日本語」に修正されているのはその辞書サイズのおかげだろう。 ちなみに本家 (?) SKK の ddskk パッケージの依存関係になっている skkdic-cdb パッケージに含まれる /usr/share/skk/SKK-JISYO.L.cdb はバイナリーデータなのに 8 MB を超えていて、まぁデカい。

見た感じ連文節変換の機能はない。 単漢字変換といえば IBM JX の BIOS に内蔵されていたやつを思い出すけど、さすがに単語ごとに区切る必要まではないものの、文節ごとに変換する機能はないようだ。

ddskk がどういうふうにして辞書を読み込んでいるのかは知らないけど、ja-dic.el に関しては単に Emacs Lisp である。 大量の変換候補を skkdic-set-okuri-ari という関数に渡して、木構造のデータに作り替えるみたいだ。 そんなのが簡単に動くあたり、さすがは Lisp である。

SKK の原作者は佐藤雅彦、1987 年に開発されたらしい。 1947 年生まれとのことなので 40 歳頃のようだ。 ddskk は 1999 年頃に開発開始されたらしい。 これも意外と古い。 原作者の 2012 年の最終講義資料も大変長くておもしろい。

%2 uim-leim

きのうのハックだけではだめだ。 どうも inactivate-input-method が呼ばれるケースがあって、それが失敗するので動かなくなる。 条件は... 例えば C-x b なんかの操作をしてミニバッファーの入力中に日本語入力に切り替え、そのまま C-g で中止すると起きる。 ウーン。

邪道だけど /usr/share/emacs/site-lisp/uim-el/uim-leim.el を直接書き換えるのが手っ取り早い。 これ、なぜかは知らないけど elc が作られていないので、単に書き換えれば動くようになる。 パッケージを作り直すのも面倒だからこれでいこう。 ただしどこを書き換えるかは注意だな。 inactivate-current-input-method-function と、inactivate-input-method だけを書き換えればよさそう。

%3 C 言語

C99 の _Bool 型というのは列挙型のおまけみたいなものかと思っていたんだけど、試しに _Bool a = 100; みたいなのを書いたらちゃんと 1 になるのね。 へぇ。 これはちゃんと活用したほうがいいなぁ。

無限ループの書き方で for (;;) が嫌いという人がいるのを知っておもしろいなと思った。 確かに for 文じゃねぇよな。 でもそれを言ったら、C の for 文は while 文でしょう。 BASIC とか Pascal とかの for 文や、Fortran なら do 文だが、そういう数字の範囲を指定するものが for 文であって、C の for 文はただのループでしかない。 自分は割とそういう認識というか、C の for 文は割とフリーダムに使ってしまっているので、for (;;) に抵抗はないし、時に読みにくいコードを書いてしまうこともあるし。 たまに Pascal なんかを書くことでそういうところを再認識するというか。 Boolean もね。 BASIC や C はあらゆる条件式が暗黙のうちに <> 0, != 0 なわけで、それを当たり前のように活用する書き方もそれはそれでアレなんだよな。

%4 休暇

晴れ。 暑い日。

どこか出かけようかと思ったんだけど、午前中は渋滞情報がなかなかな状態、昼過ぎにはそれは解消したものの気温が高い... ということでどんどん萎えて自宅でゴロゴロデー。

夜は温泉にいった。 近所の。 人がそこそこ多かった。

温泉で聞こえてきた若者達の会話。 水を吸った、肺炎になって、二十歳だから若いから大丈夫だろう、自分もおぼれそうだから沖の方になんちゃらかんちゃら、適切な判断でしたと言われた、みたいな言葉が聞こえてきて、たぶん海で遊んでいた仲間か誰かがおぼれてそれを救出したか救出してもらったかして病院に運ばれたのかなって感じの会話だった。 この時期はどうしても水の事故が増えるよなぁ。 二十歳の若者にはそういう認識がないかも知れないけど、毎年必ずそういうニュースがあるので、歳を取るに連れて気をつけなきゃな、って頭に残ってしまうものだ。

Lode Runner 120 までやった。 118 は人型デザインのステージ。

2025/08/15 のコメントを読む・書く


16 (土)

%1 どようび

晴れだったけど少し雨がぱらついた時間があった。

耳鼻科。 いつもの。 のどが痛いみたいな人が多かったかな。 マスクをしていない大人には、感染症の方がいらっしゃいますのでという言い方でマスクが配られていた。 大変なこった。

Lode Runner はレベル 150 までで終わりらしい。 残りは 1 周する。 全部のレベルを一度はクリアできた。 Lode Runner 特有の敵の動きをうまく操らなければならないタイプのレベルが最後のほうは多かったかな。 あとひたすら穴を掘りまくる系のレベルと、ひたすら敵に宝を運んでもらわなきゃならないレベルがいくつかあった。

ABEMA の将棋、ABEMA トーナメント 2025。 今日から本戦、しかも生中継。 準決勝の 2 試合で、昼からやっていたらしいが昼の分は見損ねた。 夕方がチーム藤井 VS チーム菅井で、めちゃくちゃ盛り上がって最長 9 局までやった。 会場は将棋会館らしくて、たまたま神宮外苑花火大会が重なっていて、花火の音が聞こえると言っていた。 合間にチラッと花火の映像も。 9 局目最後の藤井竜王名人 VS 菅井八段も、菅井八段が勝つチャンスもあった感じのかなりきわどい熱い展開で、ギリギリでチーム藤井が決勝進出。 司会が何度か観客の終電を心配する発言をしていたが、千駄ヶ谷駅なら最終列車が 0 時台だから心配ないだろう (?)

2025/08/16 のコメントを読む・書く


17 (日)

%1 MATE Desktop

Debian パッケージの MATE Desktop が 1.28 になっていないのは以下の話が原因らしい... Re: About new versions of Mate より引用:

the reason why MATE 1.28 in Debian hasn't landed, yet, is (a) an ENOTIME issue on my end and (b) some API change in mate-settings-daemon [1] which has not been addressed by upstream, yet.

[1] https://github.com/mate-desktop/mate-settings-daemon/issues/418

よくわかんないけど何か明らかな問題が見つかっていて修正がされていないからってことね。 なるほどね。 まあ今の MATE 1.26 には日本語訳の問題は多数あるけど挙動の問題はなさそうだもんな。

%2 にちようび

晴れ。 暑い日。

Debian 13 で新しくなったものの恩恵。 iPhone の写真は heif って形式で Google Photos からダウンロードできるが、この heif を変換することなく直接 Eye of MATE や GIMP 等で開けるようになった。 これは嬉しい。 Debian 12 では heif-convert を入れても変換ができず、何かやる必要があった。 何やったんだっけか、新しいバージョンをビルドしたんだっけ? それとも container で Ubuntu でも使ったんだっけな? 忘れてしまった...

GIMP は新しいバージョンになったらなぜかテーマの設定が飛んでダークモードで立ち上がってきたのでまた再設定した。 デフォルトテーマはライトカラーにしても選択項目の色が非常に見分けづらいため、システムテーマを選ぶ。 2025 年にもなってアクセシビリティがなっていないアプリケーションのひとつである。 ぶつくさ文句を言いつつも他の手頃なアプリケーションを知らないので使い続けている。 ただ写真をトリム・縮小するためだけでもね! 大は小を兼ねる!

バイクで買い物に行って、帰ってきた時に 10000 km 達成。 新車購入のバイクとしては 2019 年の GSR250S 以来、二度目の 10000 km。 まだ 2 年半なので GSR250S の時よりやや早い。

10000 km

2025/08/17 のコメントを読む・書く


prev, this, next

/var/log/hdk.log コメント一覧

トップ / 日記索引 / 日記 (2025 年 8 月中旬)

Hideki EIRAKU