/var/log/hdk.log

2023 年 12 月中旬

prev, this, next


10 (日)

%1 JX

IBM JX Information Page

こんな web サイトを発見した。 オーストラリアとニュージーランド向けの JX にも、ちゃんと英語版のテクニカルリファレンスがあって、漢字 ROM まで積まれていたんだな。 驚き。 英語の資料に、見覚えのある JX ロゴと「IBM パーソナルコンピューター」のロゴがついているのがちょっと笑える。

しかし写真を見るとわかるように、キーボードは英語だし、カートリッジ無しで英文モード起動している。 ROM image も置かれているので、調べれば何かわかるかもね?w 日本語版 JX の英文モードの BIOS は 40 トラック専用になっていたが、このサイトの説明を見るに英語版 JX で 720KiB 対応もしていたみたいだし、ソフトウェアでやれることはいろいろやったのかも。 PCjr と JX は IBM のパソコンの黒歴史みたいな感じだけど、こういうの見るとそれなりに赤字は抑えようとしたんだろうなという努力が伺える。

今見るとやっぱり PCjr の時点で互換性がいろいろ犠牲になっていたのは痛いよな。 PCjr は PC DOS は動くけど、ビデオと共有の RAM が先頭部分に割り当てられてしまうせいで、128 KiB を超える RAM を使うには、ビデオ RAM 部分をスキップして残りを有効にする謎デバイスドライバーが必要だった。 JX はビデオと共有の RAM を後ろに配置したのでその問題はなかったのに、日本語対応の関係で BIOS のデータ領域が大きくなってしまい、自由に使える RAM のアドレス範囲が後ろにズレたため、日本語モードでは PC DOS が動かないというのがこれまた残念なところ。 DMA がない上にキーボードの信号のサンプリングをソフトウェアでやるってのも残念仕様ではあったけど、それはソフトウェアの互換性には影響がないように作られていただけに...

%2 にちようび

晴れ。 だいぶ暖かい日。

この前株主優待の青森県産のりんごが届いたので、食べている。 半分に切って昼と夜の食事の後に。 美味い。

耳鼻科で 12 月の最初の頃はチラッとスギ花粉が飛ぶことがあるよという話をこの前聞いたが、なんか実際怪しいんだよ今年は... 鼻づまりのほうはそれほどでもないんだけど、何かと目がかゆくなることがある。 気温もあがったりさがったりだし、花粉の飛び方も今年は違うのかね。

圏央道。 自分が茨城から東京に引っ越した 2009 年は、まだつくばジャンクションのあたりと、千葉のほうと、八王子ジャンクションから関越道方面など、一部の区間だけが開通していた。 2012 年に高尾山インターチェンジができ、2014 年には高尾山から相模原愛川インターチェンジのトンネルたくさん区間が開通して、めでたく中央道から圏央道経由で東名高速に出られるようになった。 っていうわけで、2008 年頃の空中写真を見ると、相模原インターチェンジのあたりはまだ何もできていない。 インターチェンジがつながる立派な道も、橋は架かっているものの、インターチェンジのところまではつながっておらず、途中で途切れて旧道に曲げられているし、圏央道の高架橋も何もない。 今の航空写真では周辺に道路が増えているのもわかる。 たぶん工事のために先に一般道を少し増やしたのかな。 高架橋やらトンネルやら、かなりの資材を運び込んだんだろう。 今はメインテナンスのために残している状態だろうか、行き止まりなので草ぼうぼうですごいことになっている。 しかし、その何もない状態から 6 年で完成しているのがすごいな。 八王子南バイパスなんて、トンネルこそ 2010 年に完成したけど、医療センターのところは、そこから 13 年経った今もちっとも開通していない。

なお、日野バイパスも延伸の計画があるそう。 府中側は工事が進んでいるが、反対側。 下り方向でいうあの坂を登るところの手前から分岐して、八王子南バイパスとつなぐつもりのようだ。 たぶん。 いつになることやらw

テレビアニメ『16bit センセーション ANOTHER LAYER』。 10 話。 社長! 何もかもが変わった秋葉原! 高級住宅地! 美少女ゲームは健在! アメリカ、ロサンゼルス連合! 違う世界線! Cuu = かわいいw 知った顔が偉い人になっている世界。 そこで出てくるキューハチw 元の世界は、夏場はちょっとしっとりした人が多い。 この流れ、今度はふたりで 1999 年に行くのか?

2023/12/10 のコメントを読む・書く


11 (月)

%1 C++

そういえば、今はテンプレートで型名以外の指定も可能らしい。

template <typename T, int N>
class hoge {
        T data[N];
public:
        static int size () { return N; }
        T get (int n) const { return data[n]; }
        void set (int n, T v) { data[n] = v; }
};

そうそう、今は auto っていう型の推論機能もある。 最近 Pascal で遊んでいるが、Pascal みたいに型を後ろに書く言語では、型指定そのものを省略することにより推論機能が使えるものもある。 Pascal だって const では型を指定しないこともできる。 しかし型を手前に表記するタイプの言語では省略というのが難しく、C は少なくとも関数宣言については返り値の型を省略できるが、それは int として扱うことになっており、C++ は省略を許していないみたい。 それで auto なんてものが登場する。

で、テンプレートも、typename って書けるけど、以前は class しか書けなかったらしい。 どっちでも扱いは同じだけど、とにかく何か型を指定しなきゃいけないという仕組みがここにも響いているのかな。

%2 げつようび

曇り。 夜遅く雨。 そんなに寒くもなかった。

Debian 12 にしてから自宅でまだ mercurial-git (hggit) を触っていなかった。 職場では触っていた気がするが何をしたか忘れていた。 mercurial-git パッケージは 11 (bullseye, oldstable) に存在せず、ちょっとトリッキーなことをして使っていた記憶がある。 Debian 12 にはパッケージが復活しているのでインストールすればいいが、古い extension の名前が git だったのでそのままでは動かなかった。 って、Debian 11 の時にそういうことを自分で書いている

その hggit もしばらく使ったのでいろいろ慣れてきた。 内部に Git repository を持ち、さらにコミットの対応表みたいなのを持っていて、それが hg strip などを使うと整合性を保てなくなり変なエラーが出ることがある。 そういう時は hg git-cleanup で対応表を消せる。 あとどうしても hg pull で Git の branch を引っ張ってしまい bookmarks が作られてしまう。 Mercurial の bookmarks は .hg/bookmarks にテキスト形式で書き込まれているだけみたいだから、いらないならそのファイルを空にすればいい。 hg pull の -r に Git のコミット ID を指定しても受け付けてくれないみたい。 Git 側で branch か何かで名前を付けておいてそれを引っ張る。 Remote branch の指定は受け付けてくれて、それは bookmark にならずに引っ張ってくれたと思う。 Push は調子が悪い時はローカルの Git repository に push しておいてそれを git コマンドで push するといいと思う。

拙作エミュレーターのコードを改めて見るとかなりごっちゃごちゃになっていて、ウーンw JX 特有のアドレス割り当てのデバイスがあって、それを C++ らしくうまいことまとめたのはよかったかなと思っているけど、それをローカル変数として宣言してしまっているために関数が巨大化しており、整理しようにもどうにも整理しづらい構造となっているところに、SDL 専用の実装が紛れ込んでいるから困っている。 うまいこと切り離せばベースクラスを渡して云々みたいなことを考えていたけど、初期化の際の依存があって... テンプレートを使って SDL 以外のものも組み込めるように... というのも手だけど、そもそもこの巨大関数を何とかしたほうがいいかな... ローカル変数じゃなくてクラスにまとめてぶち込んだらいいかな。 ウーン。 C みたいにマクロで強引に切り替える手もあるけどねw

2023/12/11 のコメントを読む・書く


12 (火)

%1 かようび

朝晩ちょっと雨。 昼は晴れ。 夜は少し風があって気温の割に寒かった。

またファミリーマートで麺屋剛監修のカップ麺が出ていたので買ってきた。 ふりかけが今年版の進化かな? この前のまぜそばバージョン美味かったよって話は創業者に伝えてあるので (笑) 来年に期待しよう。 カップ麺もいいんだけど、あのまぜそばのジャンクフードっぽさと、汁が余らないのはとても良かった。

拙作エミュレーターのコードを雑にリファクタリングしていくと、オーディオの処理が今は SDL どっぷりになっているんだな、という発見があった。 発見って、作ったの自分だけどw 単純にインターフェイスだけ切り離すか、とも思ったけど、それをやると共通でいいはずの PCM 生成コードまでバラバラ実装になっちゃうからな。 ビデオのほうは前にがんばって共通部を切り離したのにな。 オーディオも、一応、中で 8253 と SN76489A のクラスはわけてあるのでそのレベルでの切り離しは難しくなさそうだけど (8253 はオーディオなのかという話は置いておくとして)、それらを使ってデータ生成するところがガッツリ SDL 依存だ。

テレビアニメ『MF ゴースト』。 10 話。 久しぶりにレースじゃない回だ。 自動車屋のおっちゃん、単車に乗るのにヘルメットを首にかけられるレベルであご紐が緩かったらだめだろw 奥山さん、足回りの仕上げに定評。 あの『頭文字 D』のエンジン積み替えをやった整備士さんみたいな雰囲気だけど、あっちはまさしって呼ばれていたなと検索したら鈴木政志だった。 パワーより足回り。 鎌倉駅。 極楽寺駅。 SPIRAL ZERO。 吸排気系見直し、スロットルコントローラー。 藤原を超えるスケールの天才。 同乗走行w 青のアルピーヌ。

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版。 23 話。 斎藤一。 鎖野郎の続き。 斎藤一はなぜか全部知っているw ごたくが長い。 バトルが始まっても相変わらず当人も周囲も口が多いw 正真正銘のがとつwww 大久保利通がここで。 そんな展開だっけ? と思ったけど例によって原作読んでいないのでよくわからんw

今回の『るろうに剣心』の今のエンディングテーマ、「存在証明」、KID PHENOMENON。 おっおーみたいなところと、早口のところと、はっきり聞き取れる「存在証明」、なんか記憶に残る曲で何度かラジオでも聞いた。 メンバー全員 21 世紀生まれの若いグループらしい。 ラジオで聞いた時に、『呪術廻戦』だっけ? と思ったけど違う。 『呪術廻戦』の今のエンディングテーマは、もっと低いメロディであんまり何て歌っているかよくわからない系の、「more than words」、羊文学。 こちらも若いメンバーのバンドだが 1990 年代後半生まれらしい。 3 人のメンバーのうちドラム・コーラス担当の一人だけが男性という。 へぇ。

なお、ほとんどのテレビアニメやドラマのテーマ曲は、実際の長い曲の一部だけ使った短い版になっている。 たいていは 1 番だけであとは最後のところにつなぐみたいな感じになっている。 カラオケで歌うと知らない 2 番が出てくるやつ。 1970 年代でも、最新の 2023 年でも、だいたいそう。 ルパン三世みたいにどっぷりアニメ仕様の唄でも、タッチみたいにアニメを意識したんだろうけど特に登場人物が出てくるわけではない唄でも、るろうに剣心の最初のアニメの最初のオープニング曲みたいに何もアニメの作品情報がないまま作られた歌でも、ひとつ屋根の下というドラマでは古い唄のセルフカバーが使われているがそれも、だいたいそう。 時々最終回で長い版が流れる作品がある。 あの『シティーハンター』シリーズでは、元の曲が長すぎたのか、1 番のさびまでにある途中の節も飛ばすみたいなおもしろい手法が使われているのもあったが、そこまでして削っているのは珍しそう。 逆に『ハクション大魔王 2020』のオープニングテーマ、奥田民生の「サテスハクション」はなんと、そもそも長い版がない、1 分 30 秒ぐらいのとても短い曲で、それはそれでかなり珍しい気がする。

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


13 (水)

%1 Mercurial

Mercurial を使い始めてから 15 年経っていた。 ヘルプを見ていたら「非推奨」の文字が見え、調べていくと結構 deprecated なのを使っていたことがわかった:

あと、ほとんど使っていなかったけど transplant extension というのも、今は unloved feature という不思議な分類になっている。

コミット編集機能はここ 10 年でめちゃくちゃ強化されているが、--amend の他に、編集ではなくコピーだということで標準で有効になっているのが graft だ。 Git の cherry-pick 的なことができる。 このへん使って整え直して、いらなくなったのを strip で飛ばす、というのが今時のやり方か? それならミスってもバックアップが残る。

へぇぇぇ、と思っちゃうのは自分が 13 年ぐらい mq extension ユーザーだからでもある。 mq でだいたいのことはできるので、あんまり新しい機能について調べていない。 mq ユーザーとしては commit よりも気軽に qnew を使うことが多く、qrecord も結構頻繁に使ってきたので、まさか --interactive オプションになっているとは考えもしなかった。 確かにそのオプションのほうが意味的に素直だけど。 とにかく、コミット編集系のものはほとんど mq で済ませている。 strip は別でよく使うし、あと最近は commit --amend も使うけど (これも以前はなかった)。

mq はバックアップが残らないので、手動でゴミだめ repository に push している。 しかし phase 機能が入ってからは push すると public になってしまうので、そうならないように設定をしておくか、反対向きに pull で転送しないといけない。 graft は merge のロジックを使うらしいので、mq でパッチを載せなおすより賢いんだと思うけど、10 年以上体にしみこんだ癖はなかなか...

mq は mq で、13 年前からしたらいろいろ変わったんだけど、大きいのはファイル編集後に qnew を使うときに -f オプションをつけなくて良くなったことかな。 あと一個ずつなら qpush --move で順番入れ替えができるようになった。 そのへん、いつからかは忘れた。

%2 すいようび

晴れ。 そこまで寒くない。 寒いけど。 今季はまだガスストーブを出していない。 朝リビングの室温が未だ 15 度ぐらいはあり、エアコンでいいか、と。 これが 10 度あたりになると、あまりの寒さにストーブを使いたくなる気がする。

りんご。 なんで鹿児島の学習塾の会社の株主優待がりんごかと言えば、創業者の出身が青森だかららしい。 なんでまた青森の人が鹿児島で... と思ったら、その人が鹿児島大学の学生だった時に始めた学習塾が元なんだと。 へぇぇぇ。 まぁ、鹿児島にはラサールがあるから、高校受験のための学習塾ができるのはわからんでもないけど、青森の人が鹿児島で創業って、まぁでも学生で始めたってことなのでそういうこともあるか...

農協のお歳暮ポイントを消費した。 カレンダーももらえるというのでもらってきた。 だいぶ前にもらったことがある 1 枚で 1 年分のシンプルなカレンダーかと思いきや、ちゃんと月ごとのやつだった。

農協までの道のりに公立の小学校があり、なんかボロい建物だな、でも母校も 50 周年だから建物の古さは同じようなものかな、と思いながら、帰ってからその小学校の情報を調べたら、...150 周年!? えっ??? しかも明治時代の写真も残っているのかよ、写真は明治末期とはいえ、すげぇw 「多摩川で水泳」なんて写真までw 50 年前が 100 周年だからその時の写真も当然出ていて、今の校舎ができた時の写真もありそれが 60 年前じゃんw 東京都下とはいえ、今は少子化の影響は避けられず、1 学年あたり 2〜3 クラス程度らしい。 自分の時は小学校の最後の年に児童数減少でクラス数が減って 1 クラス 40 人になっていたが、やはり今はそこまでは入れないみたい。

テレビドラマ『トクメイ! 警視庁特別会計係』。 9 話。 クレープ情報屋さんがやられ。 副署長は降格し。 一人は警部補に昇格し。 警部補だの係長だの言われても位置づけがわからんのでさっぱりだ。 勤め先に係長も部長も課長もないからな。 大小関係すらわからなくなる。 また頭悪そうな偉い人「管理官」が出てきたなw クレープ屋役の前野えまと主演の橋本環奈、ふたり並ぶと橋本環奈がすごく小さく見えたが、公表されている身長は 154 cm と 152 cm で 2 cm 差だった。 屋上のシーン、奥にモノレールが映っていた。 多摩モノレールか? 一課より先に。 ...議員突撃、からの、X の話に戻って 1 億円捜査に。 X 発見。 最初の話から出てきていた X の謎に近づいてきて、おもしろくなってきた。

2023/12/13 のコメントを読む・書く


14 (木)

%1 Mercurial

きのうの話に少し間違いがあった。 自分が mq extension を有効にしているせいで、strip extension も有効になっていることになるみたいだ。 で、今は strip コマンドは deprecated で、debugstrip コマンドの別名となっていて、strip extension も mq extension も有効にしていない場合、その別名は使えなくて、つまり debugstrip コマンドのほうが標準機能とのことだ。 ほぇー。 このあたり、公式サイトの wiki にもちゃんと反映されていない感じで、何ともわかりにくい感じになっている。

%2 もくようび

晴れ。

[SOLVED] The weather forecast applet refused to work - Linux Mint Forums

ああー、前にもあったな、こういうの。 Debian 12 のパッケージのファイルだと、このフォーラムにある sed スクリプトの置換元とは少し URL が違うみたいなのでこの sed スクリプトではうまくいかないと思うが、バイナリエディターでガリッとなおせば OK だ。

夜仕事後にレンタルカート。 あきる野 U-KART。 現在、新しいタイヤでタイムアタックというイベントと、連続 2 回分入れると 12 分走行になるイベントが行われており、20 時前に着いたものの常連さんが走りまくっていた。 なるほど? とりあえず通常タイヤ (ADVAN?) で 5 分の走行、ベストタイムは 24.864 秒。 たまたま速い人と一緒の走行で、その人が 24.697 秒だったので、そこそこいいタイムが出た。 そこそこっていうかこれ自己ベストだね。 1 月に出した自己ベストの 24.901 秒がなんとコース変更前だから、コース変更で 0.5 秒ぐらい落ちたという話を考えるとめちゃくちゃ良かったことに。

なんでか? といえば、気温が 10 度を切るぐらいの冷えっぷりでエンジンが元気なのと、あとは、常連さん達が新しいタイヤで走り込んでいたおかげだろう。 平日だけど路面はとてもいい状態だったはずだ。 特にその新しいタイヤとやらはとてもグリップがいいらしく、23 秒台も出ている。 常連さんの争いは 1/100 秒未満であるw

新しいタイヤのタイムアタックというのはもっと前から始まっていたんだが、最初の回はなんと 4 日でタイヤがだめになってしまったと... そりゃ実戦投入は無理なやつだなw (新しいタイヤは試験的なもので、タイムアタックは A 車両のタイム基準をクリアした人のみ、現状は単独走行、さらに装備重量 80 kg にあわせて重りを積むという。) で、その次にダンロップのレンタルタイヤでタイムアタックというのがあって、今はそのダンロップがジュニアカートの別タイヤタイムアタックに使われていて、大人カートはまた別の新しいタイヤになっている、と。 ほぇー。

んでまぁ時間がなくて 1 回しか乗れなかったんだけど、速い人の走りを見ているとまぁー見事。 12 分間のラップタイムがすべて 23.9 秒以上 24.2 秒未満におさまっていた。 特に後半の右・右からの逆バンク左のところのスムーズさ。 右・右のところが本当に最適化されている感じでスーッと曲がるもんで、どれだけ走り込めばああなるんだ...

あきる野まで行くのに行きは八王子 IC まで中央道を使い、帰りは全部一般道にしたんだけど、結構一般道の工事箇所が多い。 わざわざ回避するほどでもないんだろうけど、対向車線側は日野バイパスに入るところの左折帯が工事中でつぶされて 1 車線になっていたみたいで、ちょっとかわいそうな感じだった。

2023/12/14 のコメントを読む・書く


15 (金)

%1 Android One S9

「Y!mobile かんたん設定コア」というどう見てもいらなそうなアプリのアップデートが出てきたのを見て、無効化することにした。 他の Yahoo! 関連アプリは普通に設定アプリから無効化したけど、このアプリはなぜか一覧に現れない。 そこで登場する adb shell!

S9-KC_sprout:/ $ pm disable-user --user 0 jp.co.yahoo.android.ymsetupcore
Package jp.co.yahoo.android.ymsetupcore new state: disabled-user

検索したら先駆者がいたのでまねして無効化成功。 何となく --user 0 はいらなかった気がする。 複数ユーザー作っていないし。 pm disable というのもあるけどそれは Java っぽいエラーがずらっと出たのでどうも違ったらしい。

$ adb shell pm disable --user 0 jp.co.yahoo.android.ymsetupcore

Exception occurred while executing 'disable':
java.lang.SecurityException: Shell cannot change component state for null to 2
	at com.android.server.pm.PackageManagerService.setEnabledSettings(PackageManagerService.java:3883)

disable-user とは何なのか? と思ったけど、pm コマンドにはマニュアルがどうやら存在せず、コマンドが出力するヘルプも以下のようなもので何も参考にならない:

  enable [--user USER_ID] PACKAGE_OR_COMPONENT
  disable [--user USER_ID] PACKAGE_OR_COMPONENT
  disable-user [--user USER_ID] PACKAGE_OR_COMPONENT
  disable-until-used [--user USER_ID] PACKAGE_OR_COMPONENT
  default-state [--user USER_ID] PACKAGE_OR_COMPONENT
    These commands change the enabled state of a given package or
    component (written as "package/class").

ソースコードでは PackageManager.COMPONENT_ENABLED_STATE_DISABLEDPackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER の違いがある。 なるほど、これなら開発者向けの説明のところに...

PackageManager | Android Developers

COMPONENT_ENABLED_STATE_DISABLED

Flag for setApplicationEnabledSetting(java.lang.String, int, int) and setComponentEnabledSetting(android.content.ComponentName, int, int): This component or application has been explicitly disabled, regardless of what it has specified in its manifest.

COMPONENT_ENABLED_STATE_DISABLED_USER

Flag for setApplicationEnabledSetting(java.lang.String, int, int) only: The user has explicitly disabled the application, regardless of what it has specified in its manifest.

主語が違うのと、使えるメソッドが違うけど、どっちも同じ内容では? えっ? と思ったけど、それぞれのリンクを選んだらもうちょっと詳細に書かれていた。 User のほうの詳しい説明はこうだ:

The user has explicitly disabled the application, regardless of what it has specified in its manifest. Because this is due to the user's request, they may re-enable it if desired through the appropriate system UI.

User じゃないほうには特に system UI のことは触れられていないけど、user のほうは system UI で再度有効にできるよと言っている。 おそらく user じゃないほうは system UI からは有効にできないと暗に言っているんだろう。 へぇ。

%2 きんようび

朝は雨が降ったのかな。 わからん。 昼は降っていなかった。 寒い日。

ちょっと出社しようかと思っていたが、雨降りそうだしやめておくか、と在宅勤務していたら、急遽オンラインミーティングも入って、まぁ在宅勤務でよかったか。

デンソーの燃料ポンプトラブル、自分の車は 13 年ものなのでさすがに関係ないが、燃料ポンプって今時バイクにも使われているだろうに、そっちは関係ないのかな? まぁ、自分の原付とスクーターはキャブレターなので関係ないとして (笑)、400X は今年登録なので、えーっと、あーでも車のほうのリコールを見ると対象は平成 29 年 (2017 年) から令和 2 年 (2020 年) となっているからまぁ無関係だな。 当社製燃料ポンプに関する対応について | ニュースルーム | ニュース | DENSO - 株式会社デンソー / Crafting the Core / にあるように最初のリコールが 2020 年で、その時点で作り方を変えたんだろうな、とは思うが、そこからリコールをたびたび繰り返しているところからすると、それ以降も問題がある作り方をしていたんじゃないかとも思えるけど。 タカタみたいなるのかどうかは不明だが、デンソーはいろいろ幅広く手がけているからなぁ、経営が傾くほどになると影響がデカい。

そういえばきのう石川パーキングエリアの出口のすぐ先あたりに故障車がいたっけ。 もう少しいければ八王子インターチェンジの第一出口なのに、あるいはもう少し手前ならパーキングエリアでレッカー呼べただろうに、変なところで止まったもんだと思ったが、こういうトラブルのせいだとさすがにかわいそうだな。

テレビでやってた映画『メアリと魔女の花』。 2017 年の邦画。 スタジオポノック第一回長編作品。 魔法の種。 花の種。 箒で空飛ぶ魔女、と思ったら地上に落ちて子供が主人公か。 夜間飛行、魔女の花。 窓がガタガタするところで前に見たことがあるのを思い出す。 霧の森。 古い箒。 空を飛び宮殿へ... いや、大学へ。 新入生。 不法侵入者は... 魔法をたくさん披露して、ちゃっかり呪文の神髄、魔法の本も持ち帰り。 人質にとられて再び大学、だまされて自分も人質に、しかし魔法が使える。 とらわれた動物の魔法を解き、箒に島に連れて行かれ。 魔法の家。 大おば様。 この作品、スタジオジブリの何かの作品で見たようなキャラクターがたくさん詰まっているんだよな。 魔女の宅急便には箒と黒猫がいたし、年寄りもなんだかちょっと似たような印象を受ける。 もののけ姫のヤックルみたいなやつもいる。 ポニョの魔法使いが水を操って追いかけてきていたのも思い出すし、赤毛の主人公もどこかポニョが人の姿の時に似ている感じもある。

2023/12/15 のコメントを読む・書く


16 (土)

%1 どようび

晴れ時々曇り、ちょっぴり雨。 暖かい日。

朝から (雨が降るかも知れないと思ったので) 列車乗ってカラオケ屋に行ってその後なんだ晴れてんじゃんってことで一駅歩いて眼鏡屋さんに行ってまた戻って途中で三鷹の閉鎖されてしまった跨線橋を眺めて (渡り納め当選者達が楽しんでいた) 本屋に寄って帰りに弁当屋に寄ってその弁当屋はきのうまで 3 日ぐらい閉まっていたが今日はマスクを付けて復活していてそれでお昼。 午後はゴロゴロしていたが天気も良さそうだしと夕方バイクに乗ってあきる野に行ったらなんかスクリーンに水滴がつき始めたんですけど???

そんなわけでレンタルカート。 あきる野 U-KART。 到着時にさっそく雨。 常連の速い人もちょうど来たところで、乗る前にその雨で、普段より 3 秒遅い 27 秒台、12 番手ぐらいのタイムにとどまった。 ああーみたいな感じだったが、雨があがったので自分も走ってみたら、ちょっと滑るものの案外タイムがあがって 26 秒台に。 あんまりここ濡れた路面で走ったことない気がするのでおそるおそるだったが、1 周走るごとに 0.3 秒ぐらいずつ上がっていくのはそれはそれでおもしろかった。 これいけんじゃね? ってことになり、次乗ってみると速い人 24 秒台 (本日の 2 番手)、自分も 25 秒台前半に。 おお。 こりゃー本日トップねらえるぞ、と、速い人は次でさらにタイムを更新した。 すごい。 自分はその次乗ったのは車両と相性が悪く (?) あまりタイムがあがらず、最後に乗ったのは 25.094 秒が出た。 湿度やら雨やら微妙なコンディションだったにしては悪くないタイムかな。 おとといも今日も、速い人より 0.3 秒ぐらい失っている。 体重もほぼ同じで単に腕の差だ。 自己判断ではバックストレートエンドの右コーナーの進入スピードがたぶん安定していない。 ブレーキング中はスロットルを閉じているのでエンジン音が静かになっており、その後スロットルを開けて初めてその時のスピードを把握し、調整し直す、みたいな走り方になっているので、バラつくんだよね。 第一ヘアピンは手前のコーナーを目標に一定のブレーキで突っ込めばそんなに乱れないんだけど (藤野の 1 コーナーに似た感覚)、その問題の右コーナーはどこを目標にすればいいかが定まっていないせいもある。

駅前の本屋は漫画がけっこうな棚をしめていて、コンピューター関連は隅っこに一カ所、プログラミング関係は Python が大量でそれ以外はちょっとだけ。

テレビアニメ『呪術廻戦』。 45 話。 ブラザー! 破壊される 109! 写真から謎のアイドルイメージみたいなのが現れて笑ったww なんだそれwww そして敵はむき出しの魂 (?) を理解 (?)、意味不明過ぎて... 突然の雪景色。 本題の敵の前にずいぶん強敵がたくさんだが、どうやってやっつけるんだろう? まぁ主人公もずいぶんと強くなってきたけど。 京都からやってくる残りの助っ人が活躍するのか?

テレビアニメ『葬送のフリーレン』。 15 話。 いきなりオープニング曲で始まるとちょっと昔のアニメっぽくていいね。 仲間に足りないもの、お姉さんがいない! 魔族、魔物による呪い。 人類が解明できていない魔法。 女神様の魔法。 意思疎通できない仲間。 次は将軍の依頼? 社交界。

テレビアニメ『オーバーテイク!』。 11 話。 シミュレーターなし、うまの上の車両に乗りストップウォッチ。 フォトグラファーもブレーキフルード交換のお手伝い。 金銭面は商店街の協力。 テストは富士か? テストごときでカメラで追いかける映像はとってくれないと思うがw 怪我から復帰のほうは。 ファーストドライバーをどうするか。 金のあるチームはテストに 4 台持ち込んでレースで決める! 敵は自分自身。

2023/12/16 のコメントを読む・書く


17 (日)

%1 拙作エミュレーター

結局ちょっとはまじめにオーディオの処理をリファクタリング。 まじめといっても適当だけど、さすがに全部を完全仮想関数にするのはやめて、小さな共通処理は全部共通部に突っ込んだ。 別ファイルになるとオーバーヘッドが気になるが、小さな共通処理だから inline にして...

そうそう、C++ というのは class の中に直接関数の実装を書けば暗黙的に inline になるが、class の外に inline を付けて書くのも OK。 その場合に class の中のプロトタイプに inline を付ける必要はないらしい。 ないっていうか、プロトタイプに付けても無視されているっぽくて、肝心の実装がないと普通に外部参照の形でコンパイルされて、リンクエラーになったw

そして main 関数を SDL 用として切り離すところまでやって、整ったかなと思っていたら make clean の修正をサボっていたw Makefile が雑なお手製だからうっかりしてしまう。 そして過去の changeset を修正ということで、なんか新しい機能を使おうかと思ったけどウーンってなって結局 mq である。

あと起動時に時々クラッシュしたりハングしたりする問題、たぶんスレッドで surface 描画をやっているせいなんだけど、ウインドウを作った直後にウインドウ内を真っ黒で塗りつぶす処理を入れたら安定するようになった気がする。 適当。 これはオペレーティングシステム依存で問題が残っているかも知れないが、まぁいいや。 Lazarus で GUI を作る時にはもうちょっとまじめに処理をしよう。

%2 Pascal

Pascal で配列をサブプログラムに渡すときは?

procedure - Pascal: how to pass arrays to subprograms? - Stack Overflow

引数の型を array of 何々 にすると、lowhigh を使って添え字の範囲を得てアクセスできるらしい。 ほぇー。 これは実際には open array parameter と呼ばれていて、サブプログラム側では添え字は 0 からになるとのこと。 つまり添え字の値をあてにした呼び出しは無しだ。

これがおもしろいなと思えるのは C と比較してしまうから。 C には配列を長さごと渡す仕掛けは存在せず、配列の先頭の要素を指すポインターとその要素数やサイズを引数にして渡すのが定番。 qsort みたいな標準 C ライブラリ関数だってそう。 それで指定を間違えてバッファーオーバーフローを起こすなんてのもよくある話で、C99 では引数の添え字を使って variable array length を使えるようにはなったが、それにしたって配列の添え字がそもそもチェックされない。 なんでかと言えば、C では foo[bar]*(foo+bar) と全く同一というおもしろ仕様のせいだろう。 C にも配列は型としては存在するけど、char foo[bar]; って配列を宣言したら foochar * 型であり、&foochar (*)[bar] 型であって、char foo[a][b]; って二次元配列を宣言したら foochar (*)[b] 型であり、&foochar (*)[a][b] 型である。 このトリッキーな文法は中学生の心をくすぐるが、char (*)[bar] みたいなのは長年 C を使ってきても面食らうので、初めてのプログラミング言語として C があまりおすすめできない理由のひとつになる。

%3 にちようび

晴れ。 風は冷たいけど昼間は暖かかった。

最近思っているのは頭を温めると頻尿が改善するんじゃないかという謎の因果関係だw エアコン暖房は 25 度設定にしているのでパソコンを触っていると頭から温風を浴びる感じになる。 んで夜寝る時に使っているオイルヒーターも顔の横のあたりに置いているのでそのへんが暖かい。 そんなコンディションで生活している今季は朝方冷えた日でも割と 6 時間ぐらい耐えられている。 頭部はかなり血流が多いはずだから、体温調整がポンコツな自分はそこからせっせと熱を捨てているのではないか。 知らんけど。

「Let's Start"JX Time"」っていうのがね、まぁ知っている人は知っているアレなんだけど、昔触っていたやつ、どうも改造してあったらしい。 「改行キーを押すと、次へ進むのだ」ってw すっかり忘れていたよw ファイルの更新日は 1990 年か。 そういえば一番最初の画面も何かパレットをいじくってあったな。 1989 年にもすでに AUTOEXEC.BAT をいじったとおぼしきあとがあったが、これは小学 1 年になったばかりの自分用にカスタマイズされたものだろう。 最初はリアルタイムクロックのデバイスドライバー TIMDEV.SYS が組み込まれていなかったらしくファイルの更新日が 1980-01-01 になっているものもいくつかある。 1989 年の謎の「にっき」も出てきたぞw

ニッキ 1

SAMPLE1 って何だろうな? あー、あの DONKEY やら音楽演奏やらの IBM のアレか。

SAMPLE1

JX の、日本語版として PCjr より残念なところは、グラフィック画面への文字表示が遅かったことだな。 ビデオ BIOS が、フォント ROM の読み取り時に画面が乱れるのを嫌って、垂直同期を待っているんだが、あまりにもくそまじめに、垂直同期が過ぎるのを待ってから垂直同期じゃない時間が過ぎるのを待つ、みたいな作りになっているせいで、毎秒およそ 60 文字しか表示されない。 1 バイトごとにチェックして垂直同期の間はがんがん読むってなっていたら、もっと速い文字表示ができたと思う。 運が悪いと画面の一番上がヒットしたかも知れないけどね。 文字表示は自作した覚えがあって、垂直同期を待たないと速かったが、実際に画面が乱れていた。 PC-98 はテキスト画面に影響があるだけだったが、JX はなぜかグラフィック画面にも影響があった。

テレビアニメ『16bit センセーション ANOTHER LAYER』。 11 話。 プログラムは彼が一人で、プログラム以外は全部一人で! いや、AI が! このプログラマーのめがね、度が入っていないな?w マンモスエナジー! スマートウォッチも PC-98 フォント! 心が落ち着くキューハチの動作音! 初めての秋葉原の思い出。 そしてコミックマーケットのあの子。 ラジオ会館跡地。 スタジアムは建設中。 主人公、"MISS DONUT" 前でさらわれる。 なんか The Matrix 並にずいぶんな展開になってきたけどどうなるんだ。 PC-98 一斉起動w

2023/12/17 のコメントを読む・書く


18 (月)

%1 Free Pascal の OpenGL

/usr/share/fpcsrc/3.2.2/packages/opengl/src/gl.pp/usr/share/fpcsrc/3.2.2/packages/opengl/src/glext.pp を参考にしながら使う。

Load_GL_VERSION_3_1 みたいな関数があり、これで目的のバージョンの OpenGL が使えるか確かめる (というか必要なライブラリをロードするという意味か?) らしい。 まぁ今時そんなに古いのはないだろうけど。

SDL2 and modern OpenGL 3.0+ - Free Pascal meets SDL

これは SDL との連携の説明だが、まぁ、OpenGL の部分は LCL にしろ何にしろ同じだから、これも参考になる。 SDL2 を準備したら実際動く。

Clean up に関しては、ずーっとシェーダーもオブジェクト数も変更せず、テクスチャーだけを変更しようという作戦で行くならほとんど気にする必要はないだろう。 どうせ終了すればオペレーティングシステムが後始末してくれる。 大がかりな三次元アクションゲームみたいなのを作るなら、場面の切り替わりで古いのを解放して新しいのを準備して、というのをちゃんとしておかないとメモリーリークで面倒なことになるだろうけど。

%2 げつようび

晴れ。 寒い日。

午後出社した。 年末も近いしということで自席まわりのお掃除を。 埃を落とし、机やモニターの足にこびりついた汚れを洗剤を付けたやつで拭いて。 床も適当に掃除機をかけて。

冷えるとは言っていたが本当に笑えるぐらい急激に寒くなった。 週間予報を見れば木曜日から最低気温が氷点下予報だ。 気象庁アメダスによれば東京・府中のきのうの最高気温は 0:39 の 16.3 度、最低気温が 23:22 の 2.0 度、そして今日の最低気温は 4:10 の -0.9 度だそうで... あれ? もう氷点下になっていたのか。 どんだけw

2023/12/18 のコメントを読む・書く


19 (火)

%1 かようび

晴れ。 寒い日。

ヨネックスの株の報告書みたいなやつにスニーカーの宣伝が載っていて、へぇヨネックスのスニーカーがあるんだ、とスポーツ用品店に行ってみたが、ヨネックスの靴なんて見当たらなかったw

テレビアニメ『MF ゴースト』。 11 話。 目と耳の先。 青のアルピーヌ。 フランス。 Denny's。 次のレース、芦ノ湖、予選開始。 NSX のハイブリッドを外す改造、できるんかなw 箱根エコパーキング。 セブンティーンコンプレックス。 3D ホイールアラインメントテスター。 眠れる天才。 なんかさ、速い速いって言葉では言っているけどイン側アウト側ギリギリを削っていくシーンはごく一部で、結構スライドしまくりの無駄だらけな走りの絵になっているのが気になるよね。

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版。 24 話。 明治 11 年。 ししお。 斎藤一、あく・そく・ざん! 大久保利通の暗殺、は旧アニメや実写映画でも見たやつだ。 日付は実際の大久保利通の暗殺の日に合わせている。 また流れるでござる、で最終回みたいな終わり方をして一区切りかな。 次回予告なかったし、最終回か? 今時のアニメはよくわからん。

テレビドラマ『トクメイ! 警視庁特別会計係』。 10 話。 警察幹部の裏金作り。 X のリーダー。 金庫に 4 千万円。 お泊まり会w 裏金庫。 お墓。 監視。 捜査。 未来の警察署。 AI の取り調べ。 ぬくもり。 必要悪。 排除。 お金が動く! (物理) 次が最終回。

2023/12/19 のコメントを読む・書く


prev, this, next

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

トップ / 日記索引 / 日記 (2023 年 12 月中旬)

Hideki EIRAKU