/var/log/hdk.log

2023 年 12 月

prev, this, next


01 (金)

%1 きんようび

晴れ。 だいぶ寒い日。 寝室が室温 14 度・湿度 16 % なんていう数字をたたき出し始めて、いよいよ冬である。

すっかり忘れかけていたけど、1999 年秋に初級システムアドミニストレータ試験に合格していたんだった。 1997 年春に第二種情報処理技術者試験、2000 年春に (最後の) 第一種情報処理技術者試験に合格したのはさすがに忘れないが、あのおもしろいぐらい簡単だった「初級シスアド」は特に苦労もなかったし、今の仕事につながる何かも特にない気がするんだよなw

自分が子供の頃入院したのは 1990 年 10 月である。 その頃パソコンで遊んでいた時のデータの多くは、磁気ディスクの信頼性の低さや様々な理由で失われているが、手元にあるディスク image を漁ってみると DOS.BAS という名前のファイルが 1990 年 9 月 26 日で一番近そうだ。 これは BASIC で COMMAND.COM っぽいことをやる謎プログラムだw 全部自分で書いたかどうかは不明だが、一部改造ぐらいはやっていそう。 次はもう 10 月後半ぐらいの日付かな。 これが BASIC ディスクの 3、1 と 2 は失われたやつだ。 MASM ディスクも 3 から残っていて 1 と 2 は失われているが、1990 年に MASM を触った可能性もあることはあるんだよなぁ、記憶ではその頃にはじめて読む 8086 を見ていたからねぇ。 小学 2 年生の当時、確か何も持たずに入院したんだけど、今思えば、ノートとペンぐらいあれば少しは暇つぶしにもなったんだろうけどね。

昔よく遊んで未だに遊んでいる KATALITH というゲーム、パニック画面 (いわゆるボスが来た系) に出てくるプログラムが Pascal である。 最近少し Pascal で遊んでいたからちゃんと読めるようになった。 {$R+} という、range check を有効にする書き方は、Borland 系だろうか。 セミコロンの前にスペースを入れるスタイルなのが不思議な感じに見えるけど、まぁとにかく完全に Pascal だ。 PNC ファイルを見ると結構長くて、ちゃんとメインプログラムまで書かれている。 ファイルを消すユーティリティ... なんだこれw Free Pascal でコンパイルが通るかというと、uses にある nasatak が見つからないらしく通らない。 まぁいいやと眺めていたら、procedure の引数に var を付けたら参照渡しだ、ってのまでは知っていたが、参照渡しで型を書かない書き方があるらしい。 その場合その引数にはアクセスできないのかな。 へぇ。 おもしろいなぁ、Pascal はやっぱり高級言語だよな、しかも boolean みたいな型も当時からあって、C よりしっかりしている。 中二病的に記号を使いまくる C と違って、Pascal には何かと英単語が出てくるから、英語が母国語じゃない我々にとってやや覚えることが多いくらいだ。

テレビでやってた映画『プリンセスと魔法のキス』(原題: The Princess and the Frog)。 2009 年のアメリカ映画。 日本公開は 2010 年。 ディズニー。 ちょっとピクサーっぽくないアニメーション。 ミュージカルっぽいけどあんまりミュージカルじゃない。 ニューオーリンズ。 カエルとキスをして王子様... いや、カエルに。 プリンセスとキスをすれば元通りに。 今時のポリティカルコレクトネスを感じないといえば嘘になる。 数年後の大ヒット映画 Frozen につながる何かをちょっと感じる気もする。

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


02 (土)

%1 ASIJ Winterfest

アメリカン・スクール・イン・ジャパン (ASIJ) において Winterfest というのがあるらしい、という噂を耳にして、行ってみた。 パスは不要みたいだが、表には何も出ていないので首をかしげる感じだw 野川公園から見える広場 (何かのスポーツのコートっぽいところ、Google Maps ではスタジアムと出てくる) がやたらにぎやかなので、公園のその付近に来た人は何かやっていることがわかるだろう。

Fest だし学園祭みたいなものかと思うが PTA の皆様が中心になって開かれているものらしい。 小さな屋内プールの隣で外国書籍の古本のバザー、体育館で外国っぽいものや外国人向けっぽい日本のものがたくさん売られているバザー、そのほか、子供達向けのいろいろや、カフェテリアではいろんな国の食事っぽいのが勢揃いしていて、屋外のステージでは子供達が何かやっていたのもあったし、子供達から見れば祖父ぐらいの歳の、外国人らしい見た目の大人達によるバンド演奏もあった。 PTA なのでバザーにしても大人達がやっているわけで、学園祭とはまた違った雰囲気がある。

ま、それはいいとして... ASIJ っていうのは国内にある有名なインターナショナルスクールのひとつで、普通の学校とはまったくカリキュラムが異なるため、授業料も私立学校としてみても非常に高い。 幼稚園から高校まであるのに、自分が大学に払った 4 年間の授業料があっても、1 年もいられないぐらい。 1902 年設立で歴史もかなり長い。 そんな学校なので、保護者の皆様もかなり懐に余裕がある人が多いと見られる。 その中で調布市やその近隣に住んでいる人は少ないと思われ、ASIJ のバスもたくさんあるし (いすずや三菱ふそう車)、自家用車がたくさん来る。 メルセデスや BMW なんてのは珍しくもなく、スマートやテスラもあった。 それに「外」ナンバーの車も見かける。 このへんでなんか珍しい車を見かけるなぁ、という理由のひとつがインターナショナルスクールの存在なのかも知れないw

学内は幼稚園から高校まであるにしてはあまり広くない印象があった。 せいぜい 2 階建てか 3 階建て程度、横に広い。 (これは調布飛行場の存在や、容積率も関係しているのかも知れない。) 屋内プールがあるのは立派だが見た感じ 25 m もないだろうという感じ。 土地面積は自分の出身高校ぐらいはあるのかな。 でもそこに幼稚園から高校までだもんな。

インターナショナルスクールなので学内はいろんな意味でインターナショナルである。 ほとんどの掲示物が英語。 掲示板の面積が広い。 ちょっと国際基督教大学を思い出した。 少し似た雰囲気がある気がする。 あとずらっとロッカーがあるのが何かアメリカ合衆国っぽい。 ドラマで見たやつだ、みたいな感じだ。 来ている人達も国際色豊かで、英語に限らずいろんな言葉が飛び交っていたし、体つきも、親近感のあるアジア系、アメリカ映画で見るような典型的な白人や黒人らしく見える人達など様々。 今日は fest だから、家族など必ずしも英語ができるとは限らない人達が来るのも想定の範囲内だっただろう。

%2 どようび

晴れ。 寒い日。

大根掘り。 去年はバイクを倒して腰を痛めた日に大根掘りだったんだな。 今年は、小さいのもあるので 5 本にしています、という割には、クソデカいのが 3 本と小さいのが 2 本あり、めちゃくちゃ重かった。 何人も自転車を倒している人を見かけたし、やっぱり多かったんじゃないかな? しかもひとつは二股にわかれたのがあり、特に重かった。 全部バケツに入れたらうっかりすると腰を痛めそうな重さで、自転車の前かごとバケツにわけて押して歩いて帰った。 自転車かキャリーカートがなかったら持ち帰れなかったなw

近く用めがねで意外と遠くが見えると感じる理由。 晴れた昼間にまぶしい屋外で目を細めた時に想像以上に遠くまで見えることに気づいた。 そりゃあ絞りの効果を考えればそうなんだろうけど、1 m までしかピントが合わないはずのめがねで、5 m 先の人の顔がくっきり見えるとは想像しないよね? 目を細めるほどではなくても、昼間は少し遠くが見えると感じるのは不思議ではない。 ま、何の話かというと、体育館の中で開かれるバザーなんていうのは、新しい近く用めがねではすべてがぼやけてしまいだいぶ見づらい感じだったw そんなわけで一度帰って昼を食べてから出直したので、今日の歩数はすごいことになった。

テレビアニメ『呪術廻戦』。 43 話。 釘の人のバトルと、主人公のバトル。 同じ相手。 ...2009 年、釘の人の過去。 雪国の田舎。 友達目線。 よそ者。 その時知り合った年上の人の、その後の仕事場、Cisco の電話機。 そして現在へ。

テレビアニメ『葬送のフリーレン』。 また過去の話が無料配信対象になっている。 13 話。 底なし沼。 からの、毒。 親睦を深める僧侶。 強すぎる村長。 年上のお姉さんw 色仕掛け。 仲間への誘い。

テレビアニメ『オーバーテイク!』。 9 話。 フォトグラファーと再会。 三陸鉄道、吉浜駅。 「パッシング」? バッシングじゃないのそこは? 自分の耳が聞き取りをミスっているだけかも知れない。 震災の時の。 エンディング長め。 最終回みたいな終わり方。 って、最終回だったか? もう一回見てみないと...

開発放置気味の拙作 JX エミュレーターは時々使っているんだけど、何かレースコンディションがあるみたいで起動時に時々止まったりクラッシュしたりするし、disk image の切り替えもできないので何とかしたいと思って早数年。 画面の描画はもう今なら OpenGL でいいかなという気がしているんだけど、オーディオは SDL だろうな、やっぱり。 んで GUI をくっつけるならやっぱり Lazarus で作ろうかなと思うが C++ と C のコードはそのままでリンクしてしまおうかなと。 チラッと Lazarus で OpenGL のサンプルプログラムを試した感じではすんなり動いたけれども、OpenGL に関して WebGL から首を突っ込んだ自分はシェーダーを使うやり方しか知らず、しかも詳細は忘れたので復習しないといけない。 エミュレーターでもシェーダーを使うのがいいだろうとは思っている。 出力が 32 ビットカラーでも、入力データを 1 ドットあたり 8 ビット以下にできるからね。

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


03 (日)

%1 にちようび

晴れ。 寒かったけど昼は少し暖かかったかな?

きのうの大根、細いやつ 2 本は 500 g ないぐらいだったが、太いやつの 2 本は 2 kg ちょっと、二股になったやつは 3 kg を超えていた... よく米 5 kg を買うから、感覚的にそれより重いよなと思ったけど、単純計算で 8 kg に達しているんだもんな、そりゃ重いわw

自転車ロードレース開催日。 交通規制の案内の紙が 3 日前に来るという驚きの怠慢運営。 徒歩 10 分で交通規制の区間にたどり着くっていうのに。 「競技コース及び周辺道路は混雑しますので、車・自転車でのお出かけはご遠慮ください。」だって? 3 日前に言われてご遠慮できるやつがどんだけいるんだよw あっ、バイクは関係ないのね! (おい)

感染症の話。 SARS-CoV-2 の第 9 波と言われていたのがどうやら 8 月か 9 月あたりがピーク。 そしてインフルエンザが地域差がありつつも 7 月あたりから出ていて、東京では 9 月 10 月あたりがひどかったか。 先月あたりはそれも落ち着いたのかなと勝手に思っていたが、結局今は拡大傾向との情報がある。 SARS-CoV-2 の強烈な感染パワーと比べればクソ雑魚 (笑) に見えていたインフルエンザも、感染対策がクソ雑魚になってしまった (笑) 今はなかなか手強いようだ。 そして SARS-CoV-2 もまた増えてきそうな気配の情報もあって、どうしようもないな。 インフルエンザは複数の型が流行してしまい拡大しやすいというのと、SARS-CoV-2 に感染すると他の感染症にもかかりやすくなってしまうという、免疫への影響もわかってきているらしい。 どうしようもないウイルスだな。

本屋。 久しぶりに本屋に行きたくなって、前は蔦谷書店のデカいのが市内にあったが消滅してしまったので、何となくで人見街道にある小さな本屋さんに行ってみた。 駐輪場に入ろうとしたら歩道に段差があってバイクの前輪が滑った (ちょっとびっくりしたがバランスは崩していない) 上に、駐輪場めっちゃ狭かったので、車の駐車場のほうにとめた。 個人でやっている感じの本屋。 小中学生向けの試験対策等のコーナー、大人向けの資格試験対策系のコーナー、雑誌、技術書、小説、漫画、18 歳以上向け (なんと仕切りがないw) など、一応いろいろあるが、技術書に関してはそんなにスペースはない。 それでも人気や流行とおぼしき web 系や ChatGPT みたいな本はあったので、そのへんはあれば売れるのかもね。 Rust は見当たらなかった気がする。 そういうのを置くには規模が小さすぎるか。

東に進んで旧道に入ったところのブックオフ。 立ち寄ってみたのは何年ぶりだろう。 入口からまっすぐは DVD やゲームのコーナーかな、右のほうに漫画や CD がそろっている。 左は実用書、みたいな。 コンピューター系の本のコーナーももちろんあって、安いのと普通のとあったが、いずれも Pascal の本は見当たらなかった。 そんなもんか。 Visual Basic の本がある、と思ったら 2010 などと書かれていて、意外と最近だな。 そういえば昔結構 Visual Basic は使っていたけど、本は買わなかったんだよな、付属のマニュアルで事足りてしまった記憶。 少し CD を買った。

昔の本屋がどうだったかはあまり記憶にない。 あれだけ Turbo Pascal やら Delphi やらが流行ったんだからそれ系の本もあったのは間違いないだろう。 今 ChatGPT の本が売られているのと同じで、はやりのものは本が出ていたはずだ。 それでも C が強かったんだろうか。 アセンブリ言語の本も当時はあった... それはまぁ 1990 年代前半は 8 ビット機がまだ生き残っていたのもあるし (MSX や携帯ゲーム機など)、DOS でもリソースが厳しかったからアセンブリ言語が強い世界はあった。 Windows 95 登場以降は 32 ビット化でリソースにかなり余裕ができて、2000 年以降は携帯ゲーム機でも 8 ビットは過去のものになっていき、2010 年を過ぎてもアセンブリ言語と戯れている我々は少数派になったw しかしどうして C が流行ったのかはよくわからない。 DOS 2.x に追加された UNIX 風のシステムコールが C と相性が良かったから? 案外、そういう側面はあったのかも知れないけどね。 C なら NUL 終端文字列を標準で扱えるから、バイナリサイズを小さく抑えるのに向いていただろう。

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


04 (月)

%1 げつようび

晴れ。 寒い日。

テレビアニメ『16bit センセーション ANOTHER LAYER』。 9 話。 1999 年の続き。 自動ドアの前、あの目が開いていない女の人、背高いな。 9821 にもキーボード刺さっていなかったな? 「マスターアップ」。 「ラストワルツ」完成。 今回は打ち上げでジュースを飲んでいる主人公。 「でじこビル」。 「美少女ゲームの絆」。 1985 年の「カルトソフト」。 「エネルギーを持っている」なんて言い出すとは、エコーソフトの影響を引きずっているなw もともと、未来が変わってもいい! なんて言ってタイムリープした過去でゲーム作りを始めた主人公だったから、何となく予想はしていたが、未来は変わっていたw

テレビアニメ『MF ゴースト』。 9 話。 レースの続き。 この見た目は... 高橋啓介が社長? けんたは社員?w RX-7 のデモ走行がめちゃくちゃタイムが良いという話で、これは高橋啓介が走らせたってことなんだろうな、そういう話はまだ出てこないけど。 抜きつ抜かれつがいくつかあって、レース終了! タイヤねぇ、たった 80 km で使い切るとは、タイヤコンパウンドもずいぶん攻めているよな。 タイヤの差で勝負が決まるってのはそれこそこの前の F1 最終戦で角田がハミルトンを抜き返したのもそうで、普通に考えれば角田のタイヤのほうがつらかったはずだが、7 回チャンピオンのハミルトンにテールスライドさせて抜き返したのは、ハミルトンのほうも思ったほどタイヤが残っていなかったんだろうなという風に見えた。

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版。 22 話。 斎藤一、の夢。 けんか屋、刺される。 そして剣心、誘い出される。 鎖野郎。

Lazarus。 OpenGL のサンプルプログラムを動かして、そこにメニューをつけてみる。 んで Click イベントを書こうとしたら挙動がおかしい。 変なエラーが出る。 あっ、メニューに [再起動] ってあるのはもしかしてこういう時のため?w Quit メニューの OnClick は中身 Close; だけでよかったんだけど、いいのかそれでw んで調べていくと lazopenglcontext にはシェーダーの API が含まれていないっぽい感じがしてきた。 みんな dglOpenGL っていうのを使っているのか? 面倒な話が出てきたな... それとも GL, GLext っていうのでいけるんかな。 一応 /usr/share/fpcsrc/3.2.2/packages/opengles/examples/es2example1.pas みたいなのが見つかるからできるのかも知れない。

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


05 (火)

%1 Lazarus

何か時々イベント作成ができなくなるのは、プロジェクトリンクというところを開いて再スキャンか何かするとなおるっぽい workaround がありそうなことを、いろいろいじっていて発見した。 よくわからない。

OpenGL のシェーダーの件は GLext というのを使うといけそう。 OpenGLContext っていうのは LCL っていう GUI フォームにくっつけるための何かのようで、OpenGL の描画系の機能は GL のほうに含まれている。 で、シェーダー関係の定義は GLext のほうに含まれているので、それを uses に追加すると使えるようになるっぽい。 それには少しバグがあるので dglOpenGL ってのが出てきたという話らしくて、バグを気にしないのなら GLext でいいみたいだ。 あとは macOS に対応しようとすると何かごちゃごちゃしているらしいけど、macOS なんてオワ (以下略)

ふたつめのフォームを作成すると自動的に起動時にフォームが非表示状態で準備されるらしい。 [プロジェクトソースを表示] というのを選ぶとそういうのが書かれた lpr ファイルというのが出てくる。 実際に表示するには Form2.Show; みたいなことをすればよく、参照のために uses に追加が必要だがそれもメニューから行える。 あるいは Visible ってプロパティを true にしておけば最初から出てくる。

フォームにメニューをつけるのはポチポチやっていたらできて、& でアクセスキーなのも Visual Basic と変わらない。 試していないけどさすがに & 2 個連続指定で半角カタカナのアクセスキーを認識させるのはできないだろうがw (Windows 3.1 までで消滅してしまった謎仕様w) 昔作った Visual Basic のソースコードを見ると、メニューのエントリにちゃんと名前をつけていて、まじめだな、と思ったら、名前をつけないといけないインターフェイスだったか。 Lazarus は放っておくと MenuItem1 みたいな感じで連番が割り振られていくので、名前を変えずに作って後から見るとわけがわからないw

OpenGL の絵が出る場所は GLBox.Parent := Self; ってやっているからウインドウに出ていたようだ。 TPanel っていうのを配置して GLBox.Parent := Panel1; にするとそのオブジェクト内に出るようになった。 GLBox.OnPaint にセットした procedure は、いわゆる Paint イベントで、再描画の時だけ呼び出されるようだ。 ウインドウサイズをぐりぐり変えると呼び出されてくる。

Lazarus のショートカットキー、実行が F9 キーなのは違和感があるが、もしかしたら Delphi がそうなのかも。 Microsoft 系は QuickBASIC の頃から F5 が実行で、F9 はブレークポイントの設定だった。 Shift+F9 がカーソル位置の変数の evaluation だったと思う。 F7 がカーソル位置の手前まで実行で、F8 がシングルステップだっけか。 F10 がサブルーチンの中に入らないステップ実行だったかな。 そのへんはちょっと記憶があやふやだが、Visual Basic の DOS 版も、Windows 版の 6.0 も、みんな同じだったと思うので、地味に 7 年ぐらいは親しんだ操作なのだった。

Lazarus は MDI ではなくウインドウをたくさん出す仕様で、もしかして Visual Basic 2.0 あたりがそうだったかな? しかし Alt キーを押してもメニューのあるウインドウに飛ばないのは不便では? あとウインドウ一覧が Lazarus で埋まってしまうので、ワークスペース機能が初めて便利に感じられている。 GNOME から MATE デスクトップまで長年使っているけど、ワークスペース機能は今までほとんど役に立っていなかった (が、オフにもしていなかった)。

%2 かようび

晴れだか曇りだか。 夜遅くには雨も降った。 寒い日。

テレビドラマ『トクメイ! 警視庁特別会計係』。 8 話。 消えた 1 億円。 X と議員の関係。 "2022/11/23 23:34" の事件。 バランス。 「ウルトラ C」。 2 週間の停職。 「特命の仕事」。 本庁の経費書類。 刑事、正義のヒーローに憧れ、会計係になり、特命を... 副署長。 偉い人「警察こそが正義」w X も何かわかりかけているところで... 上司が責任を取り? 事件が発生し。 ほうー、そういう展開か。

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


06 (水)

%1 Lazarus

OnKeyDown, OnKeyUp イベントはフォームにあり、Visual Basic にもそういうのあったな、と思いながら試してみると、TPanel を配置しているとなぜか飛んでこなかった。 TPanel は TabStop プロパティを true にしていればたぶんフォーカスが持てるんだと思うけど、TPanel には OnKeyDown, OnKeyUp イベントがなく、どうなっているんだこれ? フォームに KeyPreview プロパティというのがあり、これを true にしてやると取得することができた。

アニメーションをする時はタイマーを使うのかな。 定期的に呼び出されるインターバルタイマーは、それこそ Visual Basic もほとんど同じような考え方だった気がするけど、TTimer というオブジェクトをフォームに貼り付けて、それのイベントハンドラーを書く。

マルチスレッドの話は和訳されていた: Multithreaded Application Tutorial/ja - Free Pascal wiki

雑に読むとやはり画面表示はメインスレッドでやれってことのようだが、その際に Synchronize というメソッドが使えるらしい。 これに渡したメソッドはメインスレッドで実行されるんだそうで、何それ便利そうだな? Message も使えるというのが Win32 API を使っていた頃を思い出して懐かしいんだが (LM_USER とあるが、Win32 API では WM_USER だったな)、それが Windows 以外でも使えるように作られているんだから先人達に感謝である。

ってな話を調べるのに検索エンジンと仲良しになる必要があるのだがw もともと Pascal や BASIC ができた時代は { } などの記号入力ができない端末が一般的だった、みたいな話があって、おかげで変な記号が出てくることがない。 C もほとんど同じ時代だけど、C は広く使われることを考えずに記号を使いまくる仕様になったらしく (Wikipedia で見かけた話で本当かどうかはともかく記号が多いのは事実だ)、{ } なのか ( ) なのか、みたいなのはやや見た目上も似たような形に見えることもあって初心者を悩ませるところかも。

Pascal に見慣れてきて、今時の Rust も何となく読みやすくなってきた。 変数名、:、型、=、初期値、みたいな宣言の仕方がそのまんま Pascal も Rust も同じなのだ。 Rust はそれ以外にも所有権だの何だのという特殊性があって取っつきにくいんだけど、まず表記法からして敷居が高いな、って思っていたのがだいぶ和らいだかも。 Go は型は後ろだが : がないのでやっぱり読みづらい。

%2 すいようび

晴れ。 出社した。

Open Source Summit Japan 2023 のきのう今日の発表の一部を YouTube のライブ配信で視聴したが (同僚数名は現地へ)、まぁやっぱり Rust も出てくるわけですよ。 うん。 Rust の 1.0 が出たのが 2015 年。 そこから 8 年。 着実に広がっている新しいプログラミング言語だ。

Personal Editor が Pascal で書かれていたテキストエディターだったが、触ったことがあるあれは JX 対応版であり割とレアものな気がする。 もともとは 1982 年のソフトウェア、JX 対応版はたぶん 1985 年。 Turbo Pascal の最初のバージョンは 1983 年。 へぇ。 UCSD Pascal だとすると P-Code かな、でもそれだとバイナリダンプを見ただけで違和感があるだろう。 このバイナリは明らかにデータが後ろに固まっていてその手前には 8086 の機械語が詰まっているので P-Code ではない。 P-Code からさらに変換されていた可能性はあるが、どうだろうな。

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


07 (木)

%1 もくようび

晴れ。 きのうより暖かい日。 出社した。 大根を一本譲った。

神学大の前の道は朝 8 時台に通るとスムーズな気がしたが 9 時台に通ると普通に信号に引っ掛かってあれあれってなった。 時間帯によっては星マークの某社へ出勤の人達による混雑もあるとの噂を聞いて、どうもそこから 9 時台までの間にいいタイミングがあるようだ。 9 時過ぎたら某橋のほうも通れるのでそっちなら信号は少ないんだが、そっちは 20 km/h 制限なので思ったほど速くなくて。

聞くところによれば今朝は近隣の某鉄道路線で人身事故があってダイヤが乱れていたとのことで、駅間を歩いている人をたくさん見かけたとのことだったが、自分の時にはすでに運転再開していたとのことで、普段通りだった。

Free Pascal あんなにそろっていたらオーディオ入出力も LCL で扱えるのかな? と一瞬思ったがさすがにそんなことはないようだ。 Multimedia Programming - Free Pascal wiki にまとめられているが、fpc/packages/ にあるのは openal と sdl かな。 Cross-platform といっても OpenAL は macOS では deprecated だそうで、標準で使えるのは実質 SDL だけなのかな。 冷静に考えると、Win32 API ってやつは、オーディオ入出力からビットマップ描画まで、統一感のあるインターフェイスで一通りそろっていたような気がする。

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


08 (金)

%1 休暇

晴れ。 今日も 12 月にしては暖かいかな。 気温のおかげで東京近辺は紅葉の進み具合が微妙な感じになっている。

2 週間前の怪我はほとんど治っていて、最後にかさぶたが取れたのか、カサカサになっているけど、もう赤い部分もほとんど無い。 まぁ、先週の土曜日に 16k 歩も歩けたんだからその時点で治っていたようなもんだけど、先週はまだ血の塊みたいなのがあった。 ゲンタマイシン硫酸塩軟膏 0.1%「イワキ」を使ったのは最初の 1 週間ぐらいかな。 化膿止めの効果があったのかどうかはわからんけど、腫れなくてよかった。

映画『翔んで埼玉 〜琵琶湖より愛をこめて〜』。 2023 年の邦画。 1000 円。 前作から 4 年。 今回は、タイトルにもある琵琶湖の滋賀県を含め、京都、大阪、兵庫、和歌山、奈良といった近畿地方が主な舞台。 例によって誰が男で誰が女だかわからなくなる感じの役者達、だがそれがいい。 身長が高めの 2 人、GACKT と杏が並んで映るとずいぶんかっこよく見える。 そして検索してびっくり、片岡愛之助と藤原紀香は夫婦で共演だったのか。 前作以上にネタ元がわからないのが多かったのは少し残念ではあったが、前作と同じような雰囲気で展開していって、全国に通じる時事ネタや広告ネタ、映画のパロディもぶっ込まれている。 時代設定がよくわからなくなるのもわざとだろうし (武蔵野線ネタ、万博ネタ... 大阪の風景なんか完全に現代では?w)、出演者達の郷土愛も感じられる映画だった。 Wikipedia を見て振り返ってふんふんと思っていたけど、竹原芳子も出ていたよな?

近畿地方よくわからない問題。 三重県出身の人が関西弁っぽいイントネーションだなーって思ったことはあるけど、三重県の中でも地域差もありそうではある。 名古屋に近い側は名古屋で働いている人も多そうだし、実際複数回訪問している鈴鹿とか亀山とかは、そこまで関西弁っぽい感じはなかった気がする。 滋賀県は琵琶湖が有名だが、車で大阪に向かう途中でカラオケ店に立ち寄った時は琵琶湖は見ていないんだったかなw 大学の先輩に滋賀県出身の人がいる。 京都府はあの有名観光スポットでしょ、みたいなところで思考停止してしまうが、学生の頃に情報処理学会か何かで同志社大学に行ったのが京都だった。 その前に未踏の何かでも京都に行っている。 あと昔家族旅行で北海道に行く時に使ったフェリーの港が舞鶴にある。 大学の後輩に京都府出身の人がいる。 奈良県はやっぱり観光スポットがあるけど、名阪国道で何度も通過している記憶しかない。 それも途中の地名は天理ぐらいしか覚えていない。 大阪府は国内で東京都に次ぐ大都市、一応大阪駅にも行ったことはあるけど、大阪南港からフェリーに乗ったのの回数のほうが多いので、中心地から外れたところばかり記憶にある。 大阪府出身は大学の先輩後輩いろいろいそう。 和歌山県は昔家族旅行で行ったなーってぐらいで、梅干しはおいしいけど他のことはあまり記憶にない。 大学の後輩に和歌山県出身の人がいる。 兵庫県は... なぜか大阪空港に車で行ってみたことがあるw 大学の後輩に兵庫県出身の人がいる。

テレビでやってた映画『ズートピア』(原題: Zootopia)。 2016 年のアメリカ映画。 Predator って映画があったけど、この単語に肉食動物って意味があるのね。 "a" なのに a って読まないのでスペルや発音を間違えそうな単語。

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


09 (土)

%1 バイク

マニュアルトランスミッション車を普通の勢いで発進させる時は、車もバイクも、よほどパワーに余裕がない限り、クラッチを切ってギヤを入れ、アクセルを少し開けてエンジンの回転数を上げて、クラッチを少しつなぐ、ということをやる。 少し開けるというのは、パワーに余裕がないとアイドリングのトルクではものすごくゆっくりしか動き出せないし、クラッチを切っている間はエンジンには負荷がほとんどなく空回り状態なので、大きく開けると一気に吹け上がってしまうため。

んで、レシプロエンジンの車はほとんどが 3 気筒以上あって、2 気筒は非常に少ないんだが (最近の車だとフィアット 500 ツインエアぐらいか?)、バイクは単気筒や 2 気筒の車種がかなり多い。 問題は、単気筒や、2 気筒でクランク角が 180 度以下程度の 4 サイクルエンジンだと、吸気のタイミングが偏っていて、回転数が低いアイドリングから、アクセルを開けるのと吸気のタイミングによって、すっと上がる時とワンテンポ遅れる時がある。 本当はそんなに差はないのかも知れないけど、感覚的にはびっくりするぐらい遅れて、うっかりするとエンジンストールさせてしまう。

初めて買ったマニュアルトランスミッションのバイクであるグラストラッカーは単気筒で、時々その遅れを感じることがあった。 その次の GSR250S ではあまり気にならなかった。 今の 400X はまた時々感じることがある。 グラストラッカーのアイドリング回転数は不明だが、おそらく 1500 rpm ぐらいだったんじゃないだろうか? 毎秒 25 回転、4 サイクル単気筒エンジンだから吸気はその半分の毎秒 12.5 回で、吸気開始間隔は 0.08 秒、吸気時間は単純計算で 0.02 秒未満だ。 0.08 秒かぁ、確かに気になるといえば気になるのかも知れないけど、程度の間隔だな。 GSR250S のアイドリング回転数はだいたい 1500 rpm だったので間隔は同じ。 400X のアイドリング回転数はだいたい 1200 rpm なので間隔が大きく 0.1 秒だ。 うーん? アイドリングの吸気開始間隔に対して、吸気していない連続時間を雑に求めると、グラストラッカーが 0.06 秒、GSR250S が 0.04 秒、400X は 0.05 秒ってことになって、やっぱり違うっちゃ違うけどそんなに違いは... って感じだな。

他の違いは、グラストラッカーと 400X はショートストローク、GSR250S はロングストロークだ。 そっちの違いのほうが大きいのかも知れない?

%2 CGA

Nerdly Pleasures: IBM Character Fonts

BIOS ROM に含まれるフォントと PCjr や CGA のフォントのどこが違うのかの説明がある。 JX にはビデオ・プロセッサーが 3 つ (うち 1 つは拡張表示カード内) あり、そのうちのひとつは PCjr 互換ということなので、たぶん PCjr と同じフォント ROM (キャラクター・ジェネレーター) が載っているんだろう。 たぶん、というのは、そのフォント ROM はソフトウェアから読み出すことができない仕様で、テキスト画面に表示して見比べてみない限りは、違いがあるのかどうかわからないんだけど、見比べたことはない。 日本語用のビデオ・プロセッサーは漢字を含むフォント ROM にアクセスしており、そちらはソフトウェアからもアドレス空間を切り替えることでアクセス可能である。 そのフォント ROM の内容は取り出してあるが、英文モードの BIOS ROM が持っている内容と同じっぽい。

そんでもって、詳しい皆様が分析してくださった上の記事を見ての通り、8x8 のカードと BIOS は 4 つの文字について違うんだよ、とある。 クローバー、スペードと、お日様マーク (?) と、大文字のアルファベット S だ。 それぞれ、ややスリムになっている。 たぶん、JX もそんな感じだったんだろうな。 普通に使っていたら英文モードでしか目にすることもない話だけど。

あと、JX のビデオ・プロセッサーは色番号 6 の扱いが PCjr や CGA と違っていて、JX ではダークイエローだが、PCjr や CGA だとブラウンになる。 Wikipedia によれば、#AA5500 になるんだそうである。 へぇ。 拙作エミュレーターは暗い色は 00dd で明るい色は 88ff を選択しているが、Wikipedia に載っている CGA の説明は 00 aa 55 ff のようなのでそっちのほうがより近いんだろうかね? 元はといえば、25 年以上前、PC-98 の 4096 色 (RGB それぞれ 4 ビット) の時代に適当に見比べて 0 d 8 f を選択したものを、8 ビットに拡張して今に至るわけだがw あの時は確か電源投入時のカラーバーを見て判断したんだったと思うけど、最初は某ゲームを動かすためだったから、間違っていても気づかないかもなぁ。 あのゲームはいろんな機種に移植されているから 8 色な気がするし (たぶんベースは 8 ビット CPU 用をコンバートしたものじゃないかな)。

%3 拙作エミュレーター

SDL のみ使う仕様と Lazarus の GUI をくっつける仕様の両方を実現しようとたくらんでいる今日この頃。 元々 Win32 API で作っていたのを後から SDL (SDL2) に移行したので、そういうのは比較的実現しやすいつもりでいたが、改めてソースコードを見直すと、メインルーチンにめっちゃ SDL の呼び出しが含まれていて、まるで分離できていなくて、ひどいな、これ書いたの誰だよ... と思っても自分の顔しか思い浮かばない。

そんなわけだからまずはそこんそこ分離するのが必要。 インターフェイスってことにして、if_sdl.cc とか、if_win32.cc とかみたいな、そういうのをリンクすればメインルーチンは共通で済む、みたいな。 もちろん他に SDL 絡みの実装のリンクは必要としても、メインルーチンから呼ぶのは無しだ。 さらに main そのものも分離してしまって、うまくいったら Lazarus の GUI をくっつけるインターフェイスを作ってしまえば。 とまぁ考えるだけなら簡単だが実際そんなにうまくいくかなw

%4 どようび

晴れ。 暖かい日。 昼間外を歩くとフリースもいらないレベルの暖かさ。

テレビアニメ『呪術廻戦』。 また過去の話が無料配信対象になっている。 44 話。 走馬燈? 落ち込む主人公に助っ人登場! 他にも助っ人が向かう。 120 パーセント。

テレビアニメ『葬送のフリーレン』。 14 話。 誕生日プレゼント。 痴話げんか。 ローキック。 青春。 ガキ。 グループ最年長 (笑) のエルフの心の中はよくわからないw 生臭坊主と破壊僧。 空飛ぶ魔法の出所と、空飛ぶ魔物。 戦士なら自由落下ぐらいは... 花言葉。 馬車の修理。

テレビアニメ『オーバーテイク!』。 よかった、まだ続きがあった。 10 話。 帰還。 移籍なし。 少しアンダーステア気味のセッティングに。 上位チームでテストさせてもらった経験を生かす。 上位チームは上位チームで、エースドライバーが怪我で入院しているからプレッシャーが... 鈴鹿の 11 周レース。 ゼブラゾーンは土俵で言う徳俵。 タイヤ。

レースでトップを走るプレッシャーのことはわからないけど、F1 を見ていても確かにプレッシャーに負けてしまうケースがあるのはわかる。 それがなければハミルトンはデビューイヤーにチャンピオンになれていただろうし、その次の年はマッサがチャンピオンになれていただろうし、ヒュルケンベルグはとっくに表彰台に乗っていただろうし、ペレスと角田は今年もう少しポイントが取れていただろうから。 しかし今年のルーキー、ピアストリはどうだ... F3 と F2 のチャンピオンをそれぞれたったの 1 年で獲得し、1 年のリザーブドライバーを経て今年 F1 デビューし、最初は競争力のないマシンに手こずっていたものの大きなミスはなく、後半戦はめきめきと頭角を現して表彰台に 2 回、スプリントではチームメイトよりも先に優勝した。 ライコネンタイプというか... そんな異次元ドライバーがたまに出てくるから F1 はおもしろい。

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


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 のコメントを読む・書く


20 (水)

%1 すいようび

晴れ。 寒い日。

りんごは数日前に食べきった。 9 個入っていた。 おいしかった。 毎日のようにりんごを食べて思ったのは、すごく歯ごたえがあって、何か食べた気になれるなということだ。 果物といえば手軽なミカンとかバナナとかを思い浮かべるんだけど、それらは柔らかいのでシュッと食べてしまう。 りんごの歯ごたえ、これはこれでありだな。

大根はやっとラスト 1 本、二股にわかれたデカいやつにたどり着いた。 デカいやつは放っておいてもしわしわになるのが遅いようだ。 冷凍保存作戦を実行しようかと思いながらまだ放置しているところ。

映画『窓ぎわのトットちゃん』。 2023 年の邦画。 1000 円。 またしても独自ドメインを... まぁいいや。 事前に知っていたのは、カラオケボックスの DAM の広告で小児麻痺の子供が描かれているというのと、ソーシャルメディアで戦時中のことを描いたアニメーション作品だ、ということだ。 んで実際に見始めたら、実話がベースとのことで、へぇー、黒柳さん、ふんふん、徹子... 徹子!? あーw そういうことかと納得しつつ、東京・自由が丘が舞台の、子供の頃の黒柳徹子の話を見ることになったわけだった。 以前『この世界の片隅に』という映画を見たが、時代的には同じだし、特に戦争に対して云々するわけでない日常が描かれているのも同じだけど、主人公が子供なのは違うか。 そして舞台が東京で、いろいろと都会を感じる。 電車が走り、路面電車もあり、調理場にはガスもあり、ガスでパンが焼けるみたいなのもあったな、何だあれ。 学校も描かれ、校長の独特な教育方針も、黒柳徹子の問題児 (当時) っぷりも描かれている。 戦争の状況に合わせてちょっとずつ変化していった日常生活が出てくる。 本人 90 歳、もうさすがに覚えていないんじゃないの? と思ったけど原作は本人がまだ 40 代の頃に出した本なので、いいんだな。

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


21 (木)

%1 もくようび

晴れ。 寒い日。

今年もいろんなニュースがあったが、もう残り 2 週間を切ったタイミングで出てきたデカいニュースはダイハツ工業の自動車認証申請における不正行為だった。 第三者委員会による調査結果および今後の対応について|ニュースリリース|ダイハツ工業株式会社 企業情報サイトに詳細な調査報告書が出ている。 まさかの iQ が登場していて驚いた。 まぁ、過去の不正はたまたまはっきりしたものが載っているにすぎず、iQ の場合は室内安全試験の際に座席を不正に加工したというもの。 iQ みたいに近年まれに見るレベルで特殊な専用設計車種の試験を連結子会社 (当時) に任せていたトヨタも不思議なもんだが、まぁとにかくそういうことが認定されたらしい。 が、この古い事例はかなりマシなほうで、2014 年頃からの不正の内容がすごくて... 基準より厳しい条件で測定してしまったが結果はよかったので測定やり直しをしなかった、みたいなのは、少しは良心があったか、と思えるが、制動装置試験で初速度が足りなかったが再試験せずに虚偽の値を書いた、って何なんだよおいおい... 完全に現場猫案件じゃねぇか... 三菱自動車工業が燃費試験で不正行為っていうのが 2016 年に発覚したけど、あれがかわいく見えてきた。 あのときはスズキも不正があったがそちらは燃費試験をやり直したらもっといい値になったっていう、おもしろ事案もあったっけ。 今回のダイハツ工業のはトヨタブランドの売れ筋の車種もたくさん含まれていて、規模的には 2015 年のフォルクスワーゲンのディーゼルエンジンの不正事件を思い出す。 まぁ、今回の件で現実に販売された車がどうなのかは、一応再試験で OK ということになっているみたいだけど、あんまり信用ならない感じもある。 なんか、別に不正との関係はないんだろうけど、去年レンタカーで出てきたパッソの、びっくりするぐらい手応えが何もないステアリング、みたいなのも、誰かが問題だと思ってもそのままにする習慣でもあるのかなって。

なお、カートレースに来ている人でスズキの軽自動車からダイハツ工業の軽自動車に乗り換えた人が、燃費はカタログ上では前のよりいいけど実際は前のより悪い、みたいなことを言っていた。 ただし前のはマイルドハイブリッドがついていたのでその差かも知れない、とも。 こんな不正のニュースがあったから思い出してしまった。

靴を買った。 去年買ったバイオフィッターは面ファスナーがだんだん取れやすくなってきて微妙な感じ。 かといってひも靴のスニーカーは足先のところがメッシュになっていて通気が良く、歩くときはいいがスクーターに乗るとちょっと寒いし、おまけにスクーターのスタンドの下敷きになっただけで怪我をするほど柔らかく... (それは安全靴でもない限り回避できないかw) そんなわけでプーマのちょっとかかと部分の高さがあるタイプで足先がメッシュじゃないひも靴にしてみた。 このタイプはスニーカーと違って靴底がコートタイプと言っていたかな、少し硬い。 このタイプの靴底はしばらく使うとなじんで柔らかくなってくるらしい。

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


22 (金)

%1 GNU Emacs

なんで入れていたか忘れていた以下の設定:

(add-hook 'after-change-major-mode-hook
	  (lambda ()
	    (if (string= major-mode "fundamental-mode")
		(local-set-key "\t" 'self-insert-command))))

どうもタブ区切りのテキストを fundamental-mode で編集するように入れていたようだw これがないと上の行のスペースに合わせてタブとスペースを入れてくれるんだな。 というわけで復活させた。

%2 マウス

ダイソーの有線マウス (BLUE LED MOUSE)、最初買ったやつはスリープ中も青く光りっぱなしだったが 1 年以上使えたのに、2 度目に買ったやつはスリープ中に光らなくなったのはいいがほんの 2 か月足らずで押してもいない右ボタンが押される事象が多発するようになった。 さすが 100 円、当たりはずれがある。 次に買ってみたのは 300 円のダイソー無線マウスだw 果たしてどうかなw しばらく触っていないとボタンを押さないと動かないのが少し気になるかな。

いや、もっとおもしろいのは USB デバイス情報かw BLUE LED MOUSE (1 個目):

usb 1-3: New USB device found, idVendor=0000, idProduct=3825, bcdDevice= 1.00
usb 1-3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 1-3: Product:  USB OPTICAL MOUSE

BLUE LED MOUSE (2 個目):

usb 1-3: New USB device found, idVendor=30fa, idProduct=0302, bcdDevice= 1.00
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-3: Product: USB Optical Mouse
usb 1-3: Manufacturer: Instant

手になじむワイヤレスマウス:

usb 1-3: New USB device found, idVendor=1ea7, idProduct=0066, bcdDevice= 2.00
usb 1-3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 1-3: Product: 2.4G Mouse

なお usb.ids に登録されている情報を使う lsusb コマンドでは以下のようにキーボードと出てしまうw なんでドイツの会社のベンダー ID?

Bus 001 Device 016: ID 1ea7:0066 SHARKOON Technologies GmbH [Mediatrack Edge Mini Keyboard]

なお、無線なので技術基準適合証明の表示はされていて、その番号 210-168170 で検索すると、輸入販売元の株式会社ラティーノの名前と、"WIRELESS MOUSE 2.4GHZ ROUNDED TYPE [300 Yen PC29(Barcode No.:4549131923841),EMOU2(Barcode No.:4562380814548),V301]" というそれっぽい名称が総務省の電波利用ホームページで出てくる。

この無線マウス、lsusb で詳細を見ていくとなぜかマルチインターフェイスになっていてね... 名前は "2.4G Mouse" のくせに、キーボードのインターフェイスもあるんだよね。 おもしろい。

これらのマウスは USB 1.1 仕様で、まぁ世の中に転がっている USB ヒューマンインターフェイスデバイスはたいていそうだと思うが、理屈の上では USB 2.0 以上のものも存在していいし、実は QEMU の仮想マシンには USB 2.0 の highspeed の仮想 USB タブレットや仮想 USB マウスや仮想 USB キーボードを見せることができるw QEMU は PS/2 エミュレーションが若干怪しいことがある (キーが引っ掛かることがある) ので、もしかしたら USB エミュレーションを使ったほうがマシなのかも知れないという気も最近はしている。

%3 きんようび

晴れ。 寒い日。 乾燥もすごい。 きのうぐらいから、寝室の時計についている湿度計が 10% を切り、LO と出るようになった。

テレビでやってた映画『ホーム・アローン』(原題: Home Alone)。 1990 年のアメリカ映画。 スクラントンからシカゴの空港間、今の Google Maps でルート検索すると 11 時間コースである。 1140 km 超、日本で言えば東京から福岡よりも遠いが、時間的には短い。 たぶんインターステート高速道路が速いんだろう。 まずは飛行機を探すが、飛行機がだめなら車で行くかというのもわからんでもない距離ではある。

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


23 (土)

%1 Slackware

初めて触った PC-Unix が Slackware で、Linux/98 だった。 実家の仕事用のシステムを壊したくなかった自分は、システムが SCSI の外付けハードディスクドライブにインストールされていたのをいいことに、それらのドライブの電源を切って、光磁気ディスクドライブをハードドライブ互換モードに設定して、光磁気ディスクにインストールした。 その時に使った光磁気ディスクは、dd で image としてとってある。 これの詳細を調べる。

ディスクには PC-98 パーティションがふたつあり、Linux native と Linux swap となっている。 先頭付近のセクターには ICM の起動メニュープログラムの残骸が残っているが、先頭のセクターは違う。 たぶん PC-98 移植版の GRUB だろう。 パーティションの先頭に入っているのも同じような何かじゃないかと思う。 int $0x18int $0x1b が見えるので PC-98 用には違いないが、DOSBox-X では起動しなかった。 最初のパーティションが 0x20000 から、次のスワップが 0x9940000 から、ディスクサイズが 0xd9eea00 バイトなので、スワップに 67 MB, root パーティションに 160 MB を割り当てていたらしい? いや、待って、実際に有効になるスワップ 1736 KiB しかないぞ、残りはどこいった...

インストール日はおそらく 1999 年 6 月 1 日の 19 時 58 分頃。 /etc にその頃のファイルが残っている。 ただし UTC である。 /etc/localtime にも GMT の文字が見えるので、タイムゾーンをちゃんと設定していなかったんだろう。

その頃にはおそらく Slackware 4.0 がリリースされているが、入っていたのはもっと古く、1997 年 10 月リリースの 3.4 だった。 これの証拠を見つけるのは (今時のように /etc/issue を見たら Linux カーネルのバージョンしか書かれていなくて) 難しかったけど、/var/log/packages/hdsetup に hdsetup: The Slackware setup/package maintenance system v. 3.4.0 という文字列があるのと、/var/log/disk_contents/diska9 というファイルに書き込まれている内容が https://mirrors.slackware.com/slackware/slackware-3.4/slakware/a9/diska9 にある内容と完全に一致したので、確定した。 なんで古いのを選んだかは、ホームディレクトリにあった 98howto.jis というファイルに、当時の京大マイコンクラブが中心となって作成された "Linux PC-9800 HOWTO" のテキストファイルバージョンが残されていて、そこに Slackware 3.4 と書かれていたのを見たからだろう。 Linux/98 を入れるぞ、っていう、結構アグレッシブな動機の割に、めちゃくちゃ安全策な選択肢を選ぶ自分の行動が見えるw そのテキストに 1998 年 4 月 26 日の RCS タグが残っているので、3.5 が出るよりも前に書かれたものである。 何ならその後に Plamo Linux がリリースされて、2000 年頃には、Linux/98 は Plamo Linux のみサポートということが書かれていたらしいんだけど、初めての癖に本すら買わずに、高校の電算機部でせっせとダウンロードして持ち帰ってインストールした自分にはそんなことわかるはずもなく。

GRUB の設定ファイル menu.lst を見ると、wd33c93 とパラメーターに書いているのが、おそらく SCSI カードに関するもので、HOWTO にもチラッとそのへんの記載があるので、参考にしたのか、な? って GRUB のファイルは 6 月 1 日 22 時 20 分になっているな。 そして設定ファイルは 6 月 2 日 19 時 50 分にいじっており、おまけに ~ 付きのバックアップファイルが残っている、つまり最初から GNU Emacs をインストールしてそれで編集したんだろうねw 当時 vi の使い方なんか知らなかったしな。 そもそもはインストールディスクが使っていた menu.lst をコピーして改造して使ったっぽいね。

この、6 月にそういうのをやっていて、その次の 7 月までの間に、同級生が FreeBSD の CD-ROM が付属した本を買ってきて、自宅の PC-98 にインストールしたけど X Window が動かないと言い出して、その本を借りて FreeBSD(98) をインストールした、というのがあった。 その時は、仕事で使わなくなった古いほうの PC-98 に、不要になった SCSI ハードドライブを増設してそこにインストールした。 そっちは本のおかげもあり X Window は動いたしいろいろパッケージを入れたりカーネル再構築をやったりもした。 Slackware に比べれば親切だったよな、FreeBSD のインストーラーは。

それでこの Linux/98 はディスクがいっぱいになって使わなくなったと思っていたけど、見てみるとその後に日本語環境を突っ込もうとしたあとがある。 GNU Emacs は Mule が入っていたし (おそらく 6 月 23 日 22 時 25 分、/var/log/removed_packages には emac_nox などそれらしきファイルも残っている)、Canna も入れたみたいだ。 それで依存関係で巻き込まれたのか XFree86 の一部も展開されていて、そのへんもディスク容量を圧迫した一因かも知れない。

んで、パーティションテーブルだけ IBM 互換機用に書き換えて、当時の Slackware のカーネルを持ってきたら QEMU で動くんじゃないの? と軽い気持ちで試したら、そもそも、Slackware 8.0 までのカーネルを QEMU の -kernel オプションに指定しても立ち上がってこないでやんの。 なんでだ。 インストールディスクはファイルサイズをちゃんと合わせたらロードはされたがプロセスがあがってこないな。

そんなわけでよくわからんので vmlinuz を Slackware 3.4 のものに置き換えて、GNU GRUB は CD-ROM から立ち上げて (grub-pc-bin パッケージを入れてから grub-mkrescue -o grub.iso で作成)、そのカーネルを linux16 /vmlinuz root=/dev/hda1 みたいにして読ませたら、QEMU 上で無事に起動してくれた。 そして LILO のコマンドが入っているっぽくてそれは PC-98 用じゃないだろうと踏んで、 liloconfig を実行し、適当に選んでいくと LILO が入って普通に起動できるようになった。 なお、実は Ubuntu 20.04 ライブ環境から chroot で入れるんじゃないかとやってみたが、out of memory みたいなへんなエラーが出てだめだったw さすがに中身が古すぎるかw

さて。 Mule は入っているが動かない、ライブラリが足りないらしいw X 版を持って来やがったな?w そしてそのライブラリを無理やり FreeBSD から持ってきて入れたのか? 動くわけないだろww jvim が入っているから、一応ファイルの編集ぐらいはできる。 (といいながら、最初 fstab に書いてある sdc を hda に置き換えるのに使ったのは ed だったけどw)

あと ezinst というコマンドで何かやっていたらしくて、立ち上げたら日本語で読めないw と思ったらなんと kon がインストールされていて、読めた! Slackware のパッケージをインストールするコマンドのようだ。 Debian でいうところの dselect みたいなもんかな。 何も覚えていない。

ezinst 1 ezinst 2

pkgtool っていうのも Slackware のパッケージ管理コマンドらしい。 全然覚えていないけどこれも使ったのかなぁ。 ちゃんと GNU Emacs を削除してあったもんな。 ezinst とは管理が別みたいだ。 ezinst で Mule なんかを入れたら、それが X11R6 のライブラリに依存していて結構大きくて、空きが足りなくなったって落ちかも。 ダウンロードしたらしき PJE-0.1.5 の説明を見ると Slackware 3.5/Red Hat Linux 4.2 対応となっていて、そもそも Slackware のバージョンあっていないし、その上に XFree86-3.3.2 を想定となっていて、そりゃまぁ動かないわな。

Linux/98 は当時 2.1.57 という開発版カーネルが使われており、この QEMU で動かしたのは Slackware 3.4 のカーネルを持ってきたので 2.0.30 (!!!) である。 2.0 系触るの初めてじゃないかな? よく QEMU Linux KVM で動くな。 QEMU のデフォルトメモリーサイズ 128 MiB をなんと認識せず、64 MiB だけ検出しているw

wtmp はフォーマットが違うらしく今の GNU/Linux では見られなかったのを、古い環境にログインできたから last コマンドで見られた。 6 月のインストールから、けっこうな頻度で立ち上げていて、7 月 12 日の後は、8 月 17 日に飛んでいる。 以前調べた通り、FreeBSD(98) のカーネル再構築をしたのが 7 月 24 日なので、そのへんで FreeBSD(98) を触り始めたと思われる。 そのへんっていうか、まぁ、7 月中旬って試験の時期じゃね? って気はするがw 8 月はそれと 30 日だけ、9 月は 11 日と 28 日、飛んで 12 月 29 日、そして 1 月 15 日と 16 日に触ったのが最後。

さてさて。 24 年間に身につけた知識とその間に生まれたすばらしいライブ Linux 環境を活用して、スワップパーティションを飛ばして root パーティションを拡張、そして当初入れていたであろう当時の GNU Emacs のパッケージを Slackware のサイトからダウンロードしてもう一度インストールしてみた。 あっ、Mule 消さなかったからごちゃごちゃになっちゃったけど。 なぜか emacs が X11 版で emacs-x11 が no X11 版になっているけどまぁいいや。 すんげぇ起動が遅い。 マジかよ、まさか DMA 使っていないんじゃあるまいな? と dmesg 確認したら当たり、BM-DMA feature is not enabled (BIOS) だってさ! おい!! これはね、Debian がいけないんだよ、QEMU に使う SeaBIOS が途中のバージョンからデフォルト DMA 無効になって config で設定するようになったのに、Debian のパッケージメンテナーが有効にしていないんだよ。 対策として古い seabios_0.5.1-3_all.deb をダウンロードして展開してその中の usr/share/seabios/bios.bin-bios オプションで指定して起動すれば OK だ。

ま、それはいいとして、初めて触った PC-Unix 版 GNU Emacs はこの 19.34.1 だったはずだ。 この頃は Mule が取り込まれていなくて、つまり日本語非対応だ。 でもその前に確か DOS 版の Mule (go32 バージョン) を触ってチュートリアルを済ませていたはずで、それでとりあえず操作できるテキストエディターとしてこれを入れたんだ。 Ng でもよかったんだけどね、PJE も後から入れようとしていたぐらいだし、単に知らなかったんだと思う。

%2 どようび

晴れ。 寒い日。

本屋さん。 調布のパルコに本屋さんがあるんだそうな。 どうせ駐輪場はいっぱいだろうなと思いながらバイクでふらりと行ってみたらちょうど駐輪場があいたので、パルコに行ってみた。 結構デカめの本屋さんだ。 コンピューター関連もまぁまぁ多い。 C, C#, Visual Basic, Go, Python, Ruby on Rails, JavaScript, TypeScript, etc. へぇー。 調布って言われてみると結構街だよな (おいっ)。

それから稲城のショッピングセンター内の本屋さんにも行ってみた。 ここもそれなりにはあるが少し品揃えが違った。 Good Code Bad Code みたいな最近話題になった本や、PIC マイコン系の本もちらほら。 しかしいずれも OpenGL がどうだとか Delphi が云々みたいな本は見当たらない。 そういうのはもうジュンク堂にでも行かないとないのかも知れない。 そういう本屋さんにな、無料の駐車場がないんだよな。 誰がわざわざ列車で重たい本を運ぶんだ? 東京はそういうところが不便きわまりない。(偏見)

テレビアニメ『呪術廻戦』。 46 話。 ま、マレーシア? 株と不動産と円? 敵はついに大ボスか? 渦巻き、名前の割にとてつもない技だな。 兄弟?? なんか急に話が変わってきてついていけないw 仲間側もどんどん強いやつがそろってきて最終決戦っぽさある。

テレビアニメ『葬送のフリーレン』。 16 話。 村を守るドワーフと 400 年の思い出話。 思い出話は絵だけ、詳細は一部だけ。 記憶を未来に連れて行く。 がんこばあさん。 名前もわからぬ過去の英雄。

テレビアニメ『オーバーテイク!』。 12 話。 富士山が映っているだけでもう富士スピードウェイだなって。 軸がないハンドルを回す運転手の絵はおもしろいな。 コースを歩く。 タイヤカスを投げる。 監督達思い出話。 スターターモーター付きなんだな、FIA F4。 ちょっとオンボードの音と絵がズレているシーンがあって残念。 優勝争い。 周回遅れとの絡み。 そして一騎打ち。 怪我から復帰がつらくて右足ブレーキなどずっと伏線があったのが、これで回収か。

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


24 (日)

%1 Pascal の label

Pascal にも goto はある。 Pascal では変数などと同じように先に label で名前を宣言しておくというのが他言語には見られない特徴だが、とびたいところには C や Microsoft BASIC などと同じように名前の後ろに : をつけて書いて、goto に指定して使うという感じ。

ところがどうもその label というのは、初期の Pascal では識別子ではなく数字 (しかも範囲が 0 から 9999 までの整数) だったらしいw そういえば昔の BASIC は行番号必須だったが、QuickBASIC なんかは、一部の行だけ行番号をつける、みたいな使い方もできたよね。 あらかじめ宣言しておく Pascal 方式だと、識別子にしてあってもコンパイラーを作る手間はそんなに変わらなかったんじゃないのと思ってしまうけど、まぁ何か理由があったのかも知れない。

%2 OpenGL

シェーダーを使うコード、例のサイトに載っていたサンプルは先頭に #version 330 core などと書かれているが、手元の本に載っているものにはそんなのはない。 さらに言うと手元の本でも gl_Position = gl_Vertex; という風に書いているのと、WebGL の本にあるのは attribute vec4 aVertexPosition; と宣言しておいて、プログラム側で gl.getAttribLocation という関数を使って "aVertexPosition" という名前に対応する位置を取得している。 どうもバージョンによっていろいろ違うみたいで、少なくとも gl_Vertex というのは古い書き方っぽいな。

何となくだが WebGL の本のほうが OpenGL ES 2.0 ベースになるので新しいし、説明も意外と網羅されていて全体的に読みやすく、そもそも 2 次元グラフィックスに使いたい自分としては小難しい計算の話はいらないので、Pascal でいじるにしてもこっちを参考にしたほうがいいかも知れないと思っている。 問題は、JavaScript では型が出てこないので (いや、出てこなくはないんだけど)、型については定義を探してそれに合わせて書かないとな。 あとは WebGL にはコンテキストのロストというのがあるが、これは WebGL 特有かな、たぶん。

シェーダーのコードをソースコード中に埋め込むには、Pascal の場合は const に書けるようだ。 PGLchar っていう型を使っているので、以下のような感じで書けば、直接 glShaderSource に渡せる。

const
 FragmentShaderCode : PGLchar = '' +
  'void main(){'#10 +
  '  gl_FragColor = vec4(0.5);'#10 +
  '}';

const+ で連結していいんだな、と思ったが、整数値で 1 + 2 みたいなのを指定してもいいわけだし同じか。 これで文字列の 256 バイト制限も特に引っ掛からないみたいなので (Free Pascal 以外でどうかは知らないが)、たくさん書いていい。 + は次の行に継続するために必要だった。 同じ行なら 'abc'#10'def' という風につなげて書いていいが、これを単に改行するとエラーになる。 + は行末か、次の行の最初でいい。 改行文字は環境依存で LineEnding に定義されているのでそれを参照するのが理想だけど、OpenGL ES Shading Language には CR だけとか LF だけとかでもいいらしいので、#10 でいいでしょ。

%3 にちようび

晴れ。 寒い日。 のんびりゴロゴロ。

夜は何となく歩いてロイヤルホストに行った。 クリスマス仕様の紙の敷物がテーブルにあったが、メニューは特にクリスマスっぽくはなかった。 そもそもショートケーキみたいなのはないんだな、ここ。 デザートはパフェにした。 何とか御膳とデザートで 2871 円、たっけぇなw さすがロイヤルホスト。 まぁ注文スタイルも従来通りで人件費かかっていそうだしな。

GSR250S は排気量 0.248 L、アイドリング回転数は不明だがタコメーターからして 1500 rpm だったとしよう。 これを基準に考える。 初めて買ったヴィッツは 1.496 L でアイドリングは 550 rpm だった。 排気量は 6 倍あるがアイドリング回転数はだいぶ低く、単純にかけ算割り算をすればアイドリングの燃料消費量は 2.21 倍ってところだ。 同じように iQ が 1.329 L で 600 rpm なので 2.14 倍。 NC750X が 0.745 L で、アイドリング回転数はサービスデータで 1200 プラスマイナス 100 rpm だって。 なんじゃそりゃ。 まぁ 1200 rpm で計算すれば 2.40 倍。 400X は 0.399 L で、アイドリング回転数は NC750X と同じ表記、実際メーターでも 1200 rpm の数字を見ることができるのでそれで計算すると 1.29 倍。 原付は... 単純に 1/5 でいいんじゃない? (笑) まぁ、とても雑な計算で現実とあっているかはかなり怪しいが、NC750X の時に渋滞でアイドリングが長いと燃費が一気に悪くなる印象だったのは、割と感覚と合っていそうではある。 この計算でいけば車より悪いんだからね! 問題はアイドリング回転数が低いほうが燃料消費が少ないとは限らない疑惑で、実際 2000 年頃の初代ヴィッツの 550 rpm あたりが最低クラスで、現行ヤリスの 1L モデルなんか iQ よりもさらに高くなっているのなんかを見てもね。 というのはあるけど。

最近 OpenSSH の脆弱性を狙った攻撃 "Terrapin attack" が報告されていて、これは中間者攻撃の一種らしい。 いろいろあるもんだなと思いつつ... 自分が大学に入学した 2001 年頃はまだ SSH-1 が主流で、SSH-2 が出てきていたけど Windows 用の手頃なクライアントがない、みたいな頃だった。 そのもう少し前、きのう書いた 1999 年頃なんかだと、まだ TELNET を使っていたところも多かったかも知れない。 FTP なんか 2001 年過ぎてもしばらく主流だったしな。 25 年前、SSH-1 の脆弱性が報告され、ここ 15 年で SSH-2 についてもいくつか脆弱性が報告されてきているが、暗号化プロトコルで言えば SSL/TLS もこの 25 年でいろいろ変わってきたしな、そういうものかも知れない。 VPN はどうなんだろうね、IPsec とか、最近はやりの WireGuard とか。 IPsec は 25 年前にもあったはずだがさっぱりわからん。 WireGuard はこの先 20 年でいろいろ見つかるだろうか?

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


25 (月)

%1 げつようび

晴れ。 寒い日。

洗濯槽洗浄。 もしかして乾燥してくるとゴミが出てきやすいのかな。 水位が低い時にかなり出るので、槽洗浄運転を途中で中止して何度もやり直して水位が低い時に出る汚れを回収するのがいいかも知れない。

テレビアニメ『16bit センセーション ANOTHER LAYER』。 12 話。 PC-98 クラスターで追跡。 秋葉原スタジアムに車が見つかったが入れそうにない。 他にも中止になったプロジェクト、「常磐新線プロジェクト」w 「常磐新線パープルライン」か?w 常磐新線が秋葉原を通らなかった世界線。 「秋葉原地下街のセキュリティー」。 穴あきプロテクト、回転数プロテクト、CRC プロテクト、また懐かしいことを... 開発室。 偉い人から水槽の人の説明。 あの子に頼み込まれ... やたら感情がこもった声にしては表情は無表情w キューハチとリンクして制御。 ドアが閉まりますw そして万事休すかと思いきや未確認飛行物体?

テレビアニメ『MF ゴースト』。 12 話。 芦ノ湖スカイライン、予選の続き。 見たら覚えている能力。 絵描きの子。 雨で順延。 主人公の予選もスタート! のところで、Next Season Coming in 2024 の表示で終わってしまった。 間があくのかな。 何月からとか季節とか何か出してほしいよな。

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版も 25 話は配信されておらず、24 話で一区切りだったか。 『葬送のフリーレン』もおととい見た 16 話で「1 クール」という区切りらしいが、連続で続きも放送されるらしい。 実際 17 話の予告あったしな。 「クール」の意味あるのかそれ?w

テレビドラマ『トクメイ! 警視庁特別会計係』。 最終回 11 話。 X の正体。 亡くなった記者の親の元夫が主人公の元上司で...!? 持つと人を不幸にする呪いのお守りww 決闘シーンは何かのパロディw 予算会議が本番の X の狙い。 予算会議で 1 ポイントのズレを指摘する主人公。 人が大事と熱弁する主人公。 頭悪そうな官房長におとぼけ上司もきれる。 証拠は... ロック... スッカラカン... 勝者こそ正義。 からの逆転劇。 一円。 特別会計係! ソウルメート。 その後の証拠がどうやって見つかったのは謎のままだった。

ABEMA の広告は相変わらず音だけで絵が出てこないが、なぜか 4:3 ディスプレイのフルサイズで表示される一部の広告は上と下だけ帯状に見えることが判明したw Z-order が何か怪しいんだろうな、まぁいいやw

『16bit センセーション ANOTHER LAYER』では PC-98 がたくさん出てくるが、NEC といえばバザールでござーるオフィシャルホームページに最新のカレンダー壁紙が公開されているというサイコーな情報がある。 ちゃんと 2024 年になっているし、壁紙だけでなく、プリント版まで用意してくれている。

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


26 (火)

%1 かようび

晴れ。 昼は少し暖かく感じたが夜は冷え冷え。

大根はついにきのう冷凍した。 一番デカかった 2 股にわかれたやつ、2 股の部分はさすがにもう、すが入っていた。 それが、その 2 股というのは太い部分の話で、実は細〜い大根もふたつぐらいくっついていて (合わせると 4 股??)、その部分は冷凍せずにきのう食べたんだけど、普通においしかった。 あと、葉っぱ側のめちゃ太い部分も意外と大丈夫だったんだよな。 太いところの根っこからだめになるのか。

夜は買い物しに久しぶりにドンキホーテへ、徒歩で... 1 時間は掛からないぐらいの距離だが、着いたらめっちゃトイレに行きたくなっていた。 帰りは面倒なので鉄道を使って... 夜の上り方向だから空いているし。 財布を持っていっていなかったので久しぶりに近距離切符を買って。 んで降りたら駅のトイレへ...w きっと寒さのせいに違いないw

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


27 (水)

%1 すいようび

晴れ。 昼は少し暖かく感じたが夜は寒い日。

夜バイクでコストコに行った。 数か月ぶり。 寒い。 寒いけどまぁそこまででもない。 店の客は印象としてはマスクをつけている人の割合は夏場より上がっているように思う。 たぶん寒いからw まぁ、こんなタイミングで風邪引いたら冬休みが消滅してしまうからな。

バイク 400X だがややギヤの入りが渋くなっている気がして、寒いからなのかチェーンが張りすぎているのか、よくわからないが、少し操作タイミングを変えるようにしている。 クラッチ切る→ギヤ変える→クラッチつなぐ、というのを車みたいにのんびりやるより、クラッチを切ってアクセルを戻した瞬間のドグクラッチ (ギヤのかみ合い) とチェーンがゆるんだ瞬間あたりにガツッとギヤを変えるほうがバイクはスムーズに変速できるんだけど、それをやるとついついクラッチをつなぐのも素早くなってしまって、ギヤの入りが渋いと結構変速ミス (変速したつもりができていない) をやらかす。 かといって車みたいにのんびりやるのもシフトペダルが重いし。 そんなわけで素早くギヤを変えはじめつつ、確実に変速してからクラッチをつなぐため後半はゆっくり、みたいな感じで...

%2 高井戸の...

高井戸で悲しい事故があったときのうのニュース、自動車整備工場的なところから、車が後退して歩道の人をはね、そのまま道路も横切り、向かい側の歩道の柵もなぎ倒し、マンションか何かに突っ込んだということで、それが運転していたのは整備士だったらしいという報道になって。 写真を見ると 20 世紀のイギリスの左ハンドル車。 素人考えでは、助手席に手を掛けて後ろを目視しながら後退する人なら、左ハンドルだから体を右にひねることになり、足が右側のアクセルペダル側に寄りやすく、ペダルから足を離して、人がいるととっさにブレーキを踏んだつもりが足がズレていてアクセルだった、みたいな、そういうことがオートマチック車であったらこんな事故になってしまいそうだなと思った。

右ハンドルの場合は運転席の窓を開けたりドアを開けたりして後方をのぞき込むような時が特に危ない。 親戚のおじさんが壁に突っ込んだのもそれだし、自分もまだ運転免許証が緑色だった頃にそういう状況で足の位置がズレるのを一度経験している (ペダルを踏む前に気づけた)。 マニュアルトランスミッション車だとあまり気にならないのは、ゆっくり後退する時は坂道でもない限りクラッチを切っている時間が長くて、左足を強く踏み込んでいるからだろう。

自分がオートマチック車を後退させる時に気をつけているポイントを整理しておく。

良く言われるような、クリープ現象を使ってアクセルを踏まずに〜、なんてのはペダルの踏み間違い対策としては何の意味もない。 本当に何の意味もない。 自分の意見では、まっすぐ座っていない姿勢の時に、ペダルから足を離している時間が長いほど危ない。 アクセルをがんがん踏んでブーンっと駐車する人のほうが、ずっとどっちかのペダルを踏んでいるから、踏み間違いの確率は低いだろうね。

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


28 (木)

%1 休暇

休暇をもらっていなければ仕事納めの日であった。 晴れ。 寒い日。

どっか出かけようかとも思ったが、今日は首の調子がいまいちなので家でゴロゴロ。

車の屋根の塗装がはげてきているので、再塗装するとどんな感じなのか、近所の自動車屋さんで聞いてみた。 数万円程度みたいだ。

%2 Debian

自宅サーバー PC になぜか bookworm-updates を入れていたみたいで、それで微妙に新しいカーネルが入っていて、そのせいかどうかは不明だがまた zd1211rw がエラーになっていた。 bookworm-updates を取っ払い、backports も使っていないので取っ払って、カーネルは 6.1.0-16 から 6.1.0-15 にダウングレードして、再起動したら、すげぇ時間がかかって不安になったが今度は USB のエラーがずらずら。 もう一度つなぎなおしてやっと復活した。 うん、これでは何が原因かわからないw

lsusb で見ると、12M (UHCI) につながっているぞ? だめだった時は 480M (EHCI) につながっていた気がする。 ケーブルの問題? ま、いいか。 過去のログを見ると去年の 12 月はちゃんと high-speed でつながっていて、今年の 5 月はもう not running at top speed; connect to a high speed hub が出ている。 先月トラブった時は high-speed でエラーだ。 ふむ。

コンパニオンコントローラーに強制するには sysfs の companion ファイルにポート番号を書けばいいらしい。 マイナスをつけて書くと戻るんだって。 今度トラブったら試してみよう。

%3 SSH

自宅サーバー PC では /var を NILFS2 にしているが、ジャーナルがおそろしい勢いで増えており、24 時間もさかのぼれないほど。 CNO は 6598102 などという数字に来ている。 原因は SSH のアタックだな。 以前とは異なり同じホストから連続ではなく、ufw のフィルタリングではとうてい抑えられないようなパターンでアクセスが来る。 公開鍵認証・ユーザーも限定という状況でまず無理なのだけど、いちいちログが残る。

ずっと放置していたが、さすがに何とかしたいなと重い腰をあげた。 ポートを変えれば一発なんだけどなんかしゃくである。 攻撃者が何かいやがる手はないものか。 というとやっぱり待たせるんじゃないか。 次々に攻撃をしたい彼らの接続を、わざと引き延ばすことで、攻撃量をおさえる効果があるかも知れない。 知らんけど。

そんなわけで、作戦はこうだ:

っていうプログラムを本当に作った。 C で。 データベースは SQLite だ。 念のためデータベースアクセスはユーザーを切り替えて行うようにした。 ユーザーを切り替えるため最初の読み取りは子プロセスだ。 接続の通信量は Linux 固有の TCP_INFO を使った。 linux/tcp.h に定義されている struct tcp_info に、tcpi_bytes_sent というメンバーがあって送信したバイト数を得られる。 相手がどんなに変なデータを送り込んできても、サーバー側がぷつっと切れば送信バイト数は少なくなる。 後で tcpi_state を使うことになり、それ用の列挙型が定義されている netinet/tcp.h を追加したら定義がぶつかった。 なんだそれ。 まぁそれしか使わないのでマジックナンバーでごまかした。

tcpi_state を使ったのは、スリープしている間に接続が切られたのを検出したら、sshd を開始しないようにするため。 SSH って最初にサーバーもクライアントも自分が何者かを名乗る仕様らしくて、何か送ってきているから、recvpoll ではそれを受信し終わらないと切れたかどうかの判定ができない。 んで受信してしまうとその後 sshd がそれを受信できないので困る。 tcpi_state にはちゃんと TCP_CLOSE_WAIT (8) というステートが現れるので、受信しなくても切れていることがわかる。

いろいろとデバッグをして何とか動くようになり、観察してみると、ある程度期待通りにいっているところはあって、待機時間が 8 秒から 17 秒あたりの範囲でタイムアウトしてそれ以上ログが増えていかないのが多そう。 ss -nt コマンドで見ると待機状態の接続が見えて楽しい。

あっ、tcpi_bytes_sent はもしかして再送分も含んでいるかな。 tcpi_bytes_acked のほうがいいか。 ss コマンドに -i をつけるとそのへんの情報が出るみたいなのでいろいろ試してみないと。

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


29 (金)

%1 SSH つづき

なぜか接続が何十分も生き残っているのがあって、なぜだろうかと。 調べると sshd [net] というプロセスが接続を持っている。 そしてそのプロセス、ユーザー名が sshd, 親プロセスが 1... つまりこれ sshd が認証用に開始する privilege separation のプロセスで、おそらくタイムアウト後になぜかこのプロセスだけ残るパターンがあるんだ。 ひどい。

このプロセスは poll(2) で待機しているっぽいので、これは独自プログラムで対策できる。 sshd から戻ってきたら、shutdown(2) を使って強引に切り離してしまえばいい。 inetd から直接 sshd を開始していたらそんな回避策は使えないので、OpenSSH 側のバグなのかもね。

それと tcpi_segs_in の条件も追加した。 普通に認証が成功すれば 19 ぐらいの数字になっているはず。 それより少ない場合はどんなに時間が経過していてもアウト扱い。 まぁ、アウトといってもスリープ時間が延びるだけなので、使えなくなるわけではないのだ。 これの味噌は、攻撃ホストの一部が、どうも侵入できないとわかった瞬間に通常の接続を閉じる処理を経ずにぷちっと通信をやめてしまうみたいで (どんなオペレーティングシステムを使っていたらそんなことができるんだ?)、それをやられるとこっちは再送をして、反応がないから FIN-WAIT に, という流れになってしまって結構時間を食うので、時間を食ってもだめなものはだめという、そういう判定用である。 普通に使えば認証だけでも何度かやりとりがあるはずだから、これでわかるかなと。

ログを確認すると、まれに database is locked が出ているな。 SQLite3 は確か読み取りは複数プロセスからでも同時にいけるはずなので、書き込みのほうだろう。 まぁこの頻度ならいいんじゃないかな。 あまりひどいようなら vfs 自作することになるかも。

多くはタイムアウトして CLOSE-WAIT になって消えていくので、これならログも増えないし、いい感じ。 SSH の攻撃は 15 年前もあったが、あの頃は全力で接続しまくるタイプが多かった。 一度、某開発室にあったサーバーに入り込まれてね、本当に世界中に接続を試みていたからね。 気づいた時には自宅にいたので、自宅から対処して大変だったんだ。 今はあの頃ほど立て続けにアクセスしてくるのはほとんどないみたいだ。 一定時間内にしきい値を超える回数の接続があったらフィルタリング、みたいな方法が流行ったからだろうな。

そんなわけでこの怪しい独自プログラムを GitHub に置いておくことにする:

hdk1983/delayer

GitHub はデフォルト main ブランチなんだな。 まぁいいや。

%2 SQLite3

そんなわけで SQLite3 をきのうちょっと調べていたわけだが、SQL なんてまじめに勉強してこなかった自分は使うたびにドキュメントとにらめっこである。 PRIMARY KEY っていう制約は UNIQUE NOT NULL に近く、文字通りキーなんだが、これは INDEX とは関係がない。 INDEX は探索用の別テーブルを内部に持つらしい。 ソートしてあって二分探索みたいだ。 INDEX がないと線形探索らしい。

SQLite では伝統的なバグにより PRIMARY KEY に NULL が入れられるらしい。 それと INTEGER PRIMARY KEY は特別扱いで、内部の rowid の代わりになるらしい。 この INTEGER PRIMARY KEY や rowid を探すのは内部の構造上最速なんだそうで、INDEX ってのはそれらと目的の列を結びつけるもの。 ほーん。

INSERT INTO で PRIMARY KEY が同じデータを入れようとすると当然エラーになる。 その時に ON CONFLICT というのを使うとその PRIMARY KEY が一致したところに UPDATE を実施できる。 このへんは SQLite の拡張で、他の SQL 実装にも同等の何かがあるものらしい。 っていうか REPLACE INTO っていうのもあるんだな。 なんかこう、みんな実用上困っていろいろ追加しているみたいだ。

...最近そんなプログラミング言語を見たような? Pascal だ。 そういえば SQL も大文字小文字の区別をしないし、独自拡張がはびこっているんだな。 まぁ、SQL はデータベース用の言語なので比較はしづらいものの、実装が商用からフリーソフトウェアまで様々あって特に SQL に詳しくない自分でもいくつか挙げられるところを見ても、Pascal よりも遙かに人気があり、標準規格も一応たくさん出ている。

%3 きんようび

晴れ。 昼は暖かかった。

今日は何もかもが大混雑で道路も大渋滞、なのかと思いきや、昼過ぎにチェックしたら中央道も甲州街道もガラガラじゃないかw そんなわけで。

レンタルカート。 ラー飯能。 本日年内最終営業日。 スタッフは勢揃い、客はいつもの週末よりも少ないのでは? 3 回乗ってベストタイムは 34.639 秒。 夜露が朝は凍っていたほどだったらしく、着いたのは夕方、営業時間の最後の 1 時間だったにもかかわらず、コース後半は結構濡れているところがあってトリッキーだった。 3 回目の走行ではそのコース後半で滑ってタイムが伸びず、おかしいなーと思っていたが、日が沈んできて路面温度が下がっていたのと、一緒に走っていたもう一人の方がもしかしたら濡れた部分を通っていたのかも知れない。

レンタルカート。 あきる野 U-KART。 スタッフはやや多め、客はいつもの平日夜ぐらい... きのうはにぎやかだったらしい。 2 回乗ってベストタイムは 25.205 秒。 速い人達から 0.8 秒ぐらい遅い。 うぐぅ。 コース後半の右ターンの目印も見つけられなかったし、第 2 ヘアピン逆バンクはとっちらかっていたし、まぁ...

給油した。 160 円/L。 燃費計算 17.8km/L。 燃費表示 18.8km/L。

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


30 (土)

%1 SSH の話の続き

独自プログラムによる対策で、ログの伸びの鈍化は顕著だ。 /var の NILFS2 のジャーナルは一度 cleanerd が走って整理されたものの、きのうの AM 1 時頃から残っている。 auth.log の行数を調べると 21 時 40 分時点でこう:

# grep sshd /var/log/auth.log|
> awk '{a=$0;sub(/T.*/,"",a);b[a]++;} END{for(i in b)print i,b[i]}'|sort
2023-12-24 10985
2023-12-25 10976
2023-12-26 14639
2023-12-27 10968
2023-12-28 18102
2023-12-29 6067
2023-12-30 4556

とはいってもまだこんなに出てくるんだ。 こういうのを利用して世界中にボットネットが構築されているんだろうね。

%2 Linux

#1057967 - linux-image-6.1.0-15-amd64 renders my physical bookworm/gnome computer largely unusable - Debian Bug report logs

コメントで教えてもらった linux-image-6.1.0-15-amd64 の問題はこれ。 確かに、これを読むとなんか問題大ありなバージョンっぽく見えてくる。 しかしだ、しかしだよ? この linux-image-6.1.0-15-amd64 は自宅の HP のノート PC と Ryzen PC とバックアップ用 PC と iMac で使っていて、32 ビット版の linux-image-6.1.0-15-686-pae は自宅サーバー PC (Atom Z530 なので 64 ビットはない) で使っているんだけど、その中で HP のノート PC と自宅サーバー PC では無線 LAN を使っているし、HP のノート PC と iMac では MATE デスクトップを使っているし、HP のノート PC と Ryzen PC と iMac では Firefox や systemd を使っているしで、自宅サーバー PC の USB 無線 LAN zd1211rw の検出がトラブった以外に特に目立ったトラブルはなく、その無線 LAN も USB の検出部分で device descriptor read/64, error -110 みたいなエラーがずらっと残っていて、一通りそれが済んでから rootfs のマウントがされていたので、時間が掛かったのは単に USB デバイスの通信の問題のよう。 CQM とか non-range use とかの意味を理解していないんだけど、まぁとにかくウチでは関係ない話みたいだ。 iMac の内蔵無線 LAN の Broadcom のデバイスドライバーを入れていたら問題に遭遇できたのかも知れないけど、それは入れていない。 iMac の内蔵 Bluetooth は USB 接続で、問題なく使えている。

ちょっと前に ext4 のファイルシステムのバグ #1057843 - linux: ext4 data corruption in 6.1.64-1 - Debian Bug report logs もあった。 自宅サーバー PC では、問題の 6.1.0-14 は、unattended-upgrades によりインストールはされていたが、そのカーネルで再起動する前に次のアップデートが入ったのでセーフだ。 それに、ext 系は ext3 しか使っていなくて (/ が ext3 で /usr はなぜか xfs)、仮にそのバージョンで起動していたとしてもそのバグの影響があったのかどうか不明。 HP のノート PC と Ryzen PC とバックアップ用 PC と iMac では ext4 を使っているので、問題にヒットしていても不思議はなかったが、バックアップ用 PC は Debian 12 にアップグレードしたのが最近だったのでセーフ、それ以外もログを見る限りは幸運にも 6.1.0-14 では一度も起動していなかった。 たまたま適度に再起動をさぼっていたので助かっている感じか。

%3 電気ケトル

先月から使っている電気ケトル、ふたが硬いというレビューは本当で、2 週間ぐらい使った頃からだんだん硬くなってきた。 寒くなってきたのも関係あるのかどうか。 んで、面倒なので、ふたをかっちりはめ込まずに、斜めにはまった状態で使っている。 それでも別に注ぐときに落ちはしないし、いいんじゃないかな? 前の T-fal のはふたが浮いていると湯気が漏れて自動電源オフのタイミングがズレていたが、この Russell Hobbs は開口部が小さいからかそこまで差がなさそう。

%4 どようび

晴れ。

きのうリブプロテクターをあきる野に忘れていたので取りに行った。 そうしたらなんか客がいっぱいいたのでカートには乗らずに帰ってきた。

バイクの変速はクラッチ操作と同時にシフト操作をするのがいいかも。 回転が下がってくるのを待つのは、スーパーカブの走行音をイメージする。 あれもペダルを踏んだ瞬間にクラッチが切れるとともに変速は終わっていて、ちょうどいいところでペダルを離すことでクラッチをつなぐというやつだ。

トップケースをつけていなかった NC750X 用に買ったバイクカバーを、バイクを買い換えてからも、トップケースをつけたままでつんつるてん状態で 9 か月使い続けていた。 これはナップスのオリジナルブランドのものほど長持ちはせず、ロック用の穴の金属パーツはだいぶ前に脱落したし、先月ぐらいからは直射日光が当たる部分が裂け始めていた。 それをやっとトップケース対応バイクカバーに買い換えた。 そして、いらなくなったバイクカバーの、紫外線をあまり浴びていない足下側のところを切って、何年使ったかわからない原付のバイクカバーの補修に使うのだw 本当に、雨と直射日光の破壊力はすごくて、カバーはバイクの上側から薄くなって破れ始める。

チェーン給油とメンテしてる人が損する理由?メーカーは教えない秘密の知識|MOTO-ACEBlog

これ、ものすごく陰謀論みたいな記事になっているが、よく読むとまぁわからんでもないみたいな内容。 自分はグラストラッカーの時はドライブチェーンのメンテナンスを一切やらずに 7 か月乗って手放し、GSR250S 以降は AZ のチェーン用のオイルとチェーンソーオイル (笑) で雑なメンテナンスをしている。 GSR250S の時は一度ドライブチェーンの交換をしていて、はっきり言ってメンテナンスでチェーンの寿命が延びたかどうかはさっぱりわからなかったが、この記事を見ていたら何となく理由が見えてきた。 純正チェーンの我々の場合の問題はサビ対策だ。 汚れを落とさないと劣化が進むぞという話を前にどこかで見ていて、べたべたのチェーンルブは汚れを吸着してしまうが、柔らかいオイルは走行時に飛びやすいから、汚れも一緒に飛ぶよという話。 砂みたいな汚れはヤスリのように表面を削ってしまうし、サビも劣化の原因だ。 そうすると保管前に注油して汚れを落としつつサビ対策とするのがベストかな。 雨の走行後も雑に放っていたのはよくなかったかもな。 なおジョルカブはノンシールチェーンなので... (汗;

テレビアニメ『呪術廻戦』。 全く理解できない技同士でひたすら決闘、昔幼稚園〜小学生ぐらいの頃に見ていたドラゴンボールシリーズもそんな感じだったんだろうな、という気持ちになっている。 『鬼滅の刃』もある意味決闘だけど、なんかこう、もうちょっと、意味がわかるっていうかさ... 47 話。 日本。 呪力。 遠隔。 1000 年前から契約。 平安の世。 から急に、渋谷以外での視点に。 呪霊ということは認識されている。 東京だめぽ。 とまぁ最後までよくわからないまま「閉門」した。 最終回だったらしい。 別のラジオ番組か何かで最終回の情報を聞いていたから、最終回だと思って見ることができたが、本当に今時のアニメは最終回って表示がないのが多いな。

『16bit センセーション ANOTHER LAYER』も次が最終回らしいが、すでに放送はされたらしいものの配信がまだだ。 『MF ゴースト』はこないだのが最終回だったし、『るろうに剣心 ―明治剣客浪漫譚―』2023 年版もどうやらこないだのが最終回だった。 『トクメイ! 警視庁特別会計係』はドラマだからかちゃんと最終回と次回予告で言ってくれていたので安心して見られた。 『葬送のフリーレン』はこないだ最終回で連続「2 クール」とのことだが現時点で配信はされていないので 1 週間あくのかな。 『オーバーテイク!』もこないだのが最終回だったのかな?

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


31 (日)

%1 2023 年振り返り

映画館で見た映画は、『劇場版シティーハンター 天使の涙 (エンジェルダスト)』、『アリスとテレスのまぼろし工場』、『翔んで埼玉 〜琵琶湖より愛をこめて〜』と『窓ぎわのトットちゃん』の 4 作品。 購入したディジタルデバイスは中古の Android One S9 やらダイソーマウスやら。 ディジタルじゃない家電は電気ケトル (株主優待)、エアコン (ある意味ディジタル)。 カート関連でネックサポートを買った。 あと、バイクを買い換えた。 ヘルメットも買い換えた。 自転車用のヘルメットを努力義務になる前に買った。 めがねを買った。

めがねは 2011 年 2 月から 12 年にわたって同じ度数のものを使ってきた。 改めて眼科で検査の結果、いつからかはわからないが左目だけ 1 段階近視よりの度数の +2.50D だったのと、乱視の度数が微妙に違うことがわかり、右目は引き続き +2.75D なので、老眼に関しては、以前書いた 40 歳で近点距離 40cm よりはちょっぴりマシなはず。 とはいえ、明らかに近くは見づらくなっていて、裸眼での視界はレシートなどの普通のサイズの文字も読み間違えるぐらいぼやけているし、遠く用のめがねをかけたままスマートフォンを見たり、車のメーターを見たりしても、ぼやけて見えていることも時々ある。 近く用として +3.50D と +3.75D のレンズを入れためがねには慣れてきていい感じ。

高い買い物と言えばバイク。 パーツ不足の時期にたまたまディーラーに転がり込んできた新車を買った。 展示車両にまたがってみただけ、試乗もなしで。 400X, メーカー希望小売価格が消費税込み 858,000 円。 これにオプションをいろいろ付けてメンテナンスパックも入れて 1,180,000 円。 前の NC750X を 600,000 円で買い取ってもらったが、それを引いても、自分で取り付けたトップケースやミラーなどを足せば 600,000 円を超えるだろう。 しかしこれは満足度が高い。 前の NC750X の走行距離が 1 年と 3 か月半で 3394 km だったのに、400X はわずか 9 か月で 4300 km を突破している。

ワクチン接種は SARS-CoV-2 の 5 回目 (XBB.1.5 対応) と、インフルエンザワクチン。 身体的には去年やらかした座骨神経痛が何とかごまかせるようになってきた状態。 足の打撲やらはあって、最近もなぜか足に青あざができていて、これどこかでぶつけたっけ、みたいな感じになっている。 あと最近は歯が微妙にむずむずしている。 風邪は今年も引いていない。 今年は前厄であった。

隣県に住む家族が救急搬送されたため病院に行くという珍しいイベントがあった。 風邪のウイルスが原因ではないかと思われる前庭神経炎。 風邪も引かないほうがいいね! 病院内で小一時間近い位置にいたが、その風邪ももらわずに済んだ。

今年 2 月に祖父が 101 歳 (満年齢) で死去した。 4 人の祖父母の最後の 1 人、4 人の中では数か月の差で 2 番目に長生きであった。 腰椎椎間板ヘルニアで動けなくなったのが 70 代、手術ですっかりよくなってそれから 20 年以上施設にも入らず、その後 5 年ぐらい施設にいたものの、元気な祖父だった。 東京朝イチ発の飛行機で移動し鹿児島空港からはタクシーチャレンジで葬儀にも間に合った。

PHS の電波が止まった年だった。 手持ちの端末で電界強度測定をした。 東京都下の自宅付近では 4 月 13 日 の午前 8 時に電波が届かなくなった。 初めて PHS を契約してから 20 年、何度か会社名が変わったが、最終的にソフトバンクがサービスの縮小から終了を丁寧に実施してくれた。 予期せぬパンデミックが始まり一般サービス終了を延期というのもあったが、それも含めて完璧な対応だったと言えよう。 なお、未だにあの特徴的な 8 本槍アンテナを見かけることがある。 警察大学校の向かいにあったものは別の 4 本槍アンテナふたつに置き換えられたけど。

つくばの Ran Ran も営業終了してしまった年だった。 最終営業日の前日に偶然にも食べに行った。 時々つくばに行っていた理由のひとつが消えてしまった。

株取引。 NISA をやっとはじめて WealthNavi で積み立て。 個別株で利益確定したものは今年はほとんどなくて、信用取引が一度と、公開買い付けでおそらく上場廃止間違いなしというのを公開買い付け確定直前に市場で売って手放したのと。 その信用取引がマイナス、公開買い付けのほうがプラスで、トータルは配当を除いても少しプラスであった。 現物株については、鹿児島県に本社がある上場企業をいくつか選んで買った。 最近は株主総会がオンラインで生中継されたり、中には法改正により株主総会そのものがオンラインで行われる形態も出てきている。 鹿児島県に本社がある企業は残念ながらそこまで先進的ではないものの、オンライン生中継があれば、心が落ち着く鹿児島アクセントが聞けるに違いないw (熊本県に本社がある金融系の会社の株主総会でオンライン生中継があり、たまたま見ていたら鹿児島アクセントが聞こえてきたことがあったw)

コンピューター関連。 Pascal という伝統的なプログラミング言語にたくさん触れた年というかここ 2 か月だった。 標準機能が何もかもおせっかいでやってくれる今時の Go や Rust とは違い、ディレクトリ構造を強制されることもなく、昔ながらの C やアセンブリ言語なんかに慣れている自分には取っつきやすい言語だった。 そして C は Pascal とほぼ同世代だけど、型まわりに関してめちゃくちゃ緩い言語だったんだなというのを認識した。

%2 にちようび

朝は雨が降っていた。 寒い日。 いや、夜にそばを買いに外に出たら思ったより暖かかったな。

東京国際空港の直結の駐車場、今年は第 5 駐車場 (P5) が夜になっても満車表示だ。 なんでだろうね? 今朝見ていたら 8 時過ぎに第 4 駐車場 (P4) が混雑の表示、他はすべて満車、それも 40 分ぐらい後に見たら満車になっていた。

のんびり大晦日。 ふとゴミ出しカレンダーを見ると年明け 3 日までゴミ収集無しか。 今頃気づいたw

今日は InterFM をしばらく聞いていたが平常運転だったような。 Lazy Sunday も「坂崎さんの番組」という番組も Barakan Beat もいつもの日曜日では。 夜は NHK ラジオ第一の紅白歌合戦。 とりあえずストリーミング配信を聞いているがあとで寝室のラジオにかえるかもしれない。

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


prev, this, next

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

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

Hideki EIRAKU