/var/log/hdk.log

2023 年 10 月

prev, this, next


01 (日)

%1 レンタルカート

スポーツカート耐久レース。 御殿場。 2.5 時間耐久レース x2。 テクニカルコースとハイスピードコース。 4 人チームから参加。 ほぼドライコンディション。 23 位 (最下位) と 17 位。

自分はテクニカルコースでは全然良いタイムが出せず、ほぼずっと 1 分ごえ、たまに 59 秒台に入ることがある、という有様。 ハイスピードコースではマシだったもののずっと 53 秒台で、速い人達とは 1〜2 秒程度の差があった。

まぁでもなんかそんなことより、最初のテクニカルコースでは、速い車両を狙ってピットインというのがことごとく外れ、ほとんど速い車両が引けなかったというのがデカかった。 こんなに外れる日もあるか。

ネックサポートはこの前買った EXGEL のやつを使ってみたところ特に問題なかった。 前の JUNO のより薄く、U-KART で使ってみた時は頼りない感じがしたが、御殿場なら大丈夫かも。 まぁ実はなくても大丈夫なんじゃないか説もあるんだが、頸椎はカート関係なくすでにいためているわけだし、クラッシュ時の保護の意味でつけておいたほうがいいしな。

%2 行き帰り

車で。 BackJoy を使って。 行きは東名川崎から東名道、さらに圏央道・新東名を経由して新秦野で降りて後は一般道。 さすがに朝 5 時台はスムーズで、新東名を使わないほうが早かっただろうな。 新東名はスムーズだけど、新秦野から大井松田近くの交差点に向かうまでの間に、東名経由なら大井松田で降りてその交差点にたどり着いていたに違いない、と運転しながら考えていた。

帰りは一般道で新秦野に向かい、新東名から圏央道を経由して中央道。 圏央道は流れがいまいちだが渋滞はしていなかった。

%3 にちようび

今日は飲み物食べ物の買い物を事前に済ませていなくて、御殿場のセブンイレブンでいろいろ買った。 驚いたのは水の 2L ペットボトルが 100 円ちょっとと安かったこと。 保温ボトルを持っていっていたので、そのペットボトルから保温ボトルに移して飲んだ。 そのほうがペットボトルで細菌が増えるのを抑えられるだろうし、保温もできる。 まぁ、セブンイレブンで冷蔵棚に入っていた 2L ペットボトルはそもそもの冷却能力も高かった。

朝から御殿場行って、カートレース参加して、終わってからだべって (?) いた時... レンタルカート界隈でかつて一世を風靡した (?) 車両の N35 の新モデルというのが出ているらしい。 N35-YR と言ったかな。 そういえば N35-X というのも新東京サーキットかどこかにあったよな。 あれのさらに後継版的な。

レンタルカートで、フランスの Sodi の国内普及は国内代理店ができたのが大きいらしい。 そこのゴリ推しでシートベルトやら転倒ガードやらがてんこ盛りになっているらしい。 N35 はイタリアの Birel のもので頑丈でレンタルカート向きだが日本国内でしか流行っていなかったところ、Sodi は世界的に流行っているらしく、みたいな... なおエンジンはホンダ GX が世界的には主流とのこと、確かにアメリカ合衆国で行った屋内カート場のも GX エンジンだった気がする。 耐久性抜群だが、国内 GX はリコイルスターターが主流、スターターモーターはリングギアが弱くて欠けるから... みたいな話だったけど、もてぎのレンタルカートはホンダ傘下なのでともかくとして、U-KART なんかも今はスターターモーター付きで使っているよね。 藤野がリコイルスターターの GX200 だったけど、スタッフの負担は大きい。 ヤマハ MZ も良い、スバル EX は弁が消耗する、みたいな話を聞いた。

あと関係ないけど『シティーハンター』の原作漫画にエンジェルダストのこと自体は出てくるらしいと聞いた。 海坊主が視力を失うのは最後のほうらしく、今回の劇場版はエンジェルダストの話なのでもっと前なんだと。 へぇぇぇ。 ちなみに府中の TOHO シネマズで舞台挨拶の中継があったんだそうで。 へぇぇぇ!

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


02 (月)

%1 休暇

晴れ。 湿度が低くて涼しい日。 おととい頃は南風だったが今日は北風だ。 筋肉痛。 きのうの疲れで朝からぐったり (笑)

そうそう、きのう聞いた話で、ほったらかし温泉、『ゆるキャン△』に出てきたやつ、その近くに AZ 山梨ってレンタルカートサーキットがある。 フルーツ公園という公園の中で、以前は FK-9 という古いレンタルカートがあったそうだが、それはなくなって、その後に作ったらしい。 温泉に来る人が見てやってくるのは予想外だったとのこと。 温泉入った後でカートで汗をかくのは笑い話だが、一度来てわかっている人なら温泉の前にカートに乗るわけであるw

きのう、日曜朝の FM ラジオがあまりおもしろくないので、AFN を聞こうと車のラジオを AM に切り替えたら、1107 kHz になっていて笑った。 たぶん南日本放送の MBC ラジオだw 8 月に聞いて以降、一度も AM は聞いていなかったらしい。 なお、国道 246 号線の大井松田あたりから御殿場までの間にはいくつかトンネルがあるが、国内の法律に基づかないアメリカ軍の放送である AFN が入らないのは仕方がないとしても、場合によっては全然違うチャネルが聞こえてくるのがおもしろかった。 たまに、周波数が倍の交通情報と重なるケースがあるけど、それとも違ったんだよなぁ。

新秦野インターチェンジの ETC・一般ゲート

高速道路の最近の ETC・一般ゲートというのはこんな感じで、明らかに信号の青っぽい緑色ではなく、高速道路の看板みたいな緑色をしている。 誰が決めたのか、我々色覚異常の人にとっては判断を誤りやすい色なので困りものである。 街灯と見間違うことはない感じの緑色だが、明るさによっては赤色と見間違えるので、控えめに言って致命的である。 まぁ、この手の表示板は高度なものなので、閉鎖の際は色だけでなく他の形で表示がされるに違いない、と信じて 20km/h 以下で進入している。 どこでだったか「閉鎖中」の文字を見た記憶はあるのだが、この新型タイプで見たことがあったかは怪しい。

テレビアニメ『エンジェル・ハート』。 47 話。 触っただけでわかっちゃう超能力者。 の、理想の男捜しの依頼w ちょっと横顔の絵が変な回。 「北武蔵署 春日駐在所」。 新エンディング。 48 話。 続き。 酒の自動販売機が出てきた。 そういえば最近あんまり見ないな。 フェリーにはあるけど。 「武蔵春日駅」。 祭りで警官を守れるか?

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版。 13 話。 かんりゅうの例の銃。 「ガトリング」。 弾切れw 叫びながらつかまるかんりゅう。 伝説の人斬り抜刀斎。 仲間の生首を持って逃げるあおし。 まずい飯w

映画『アリスとテレスのまぼろし工場』。 2023 年の邦画。 1000 円。 ワーナーブラザーズ配給なのに、公式サイトが実写版『るろうに剣心』みたいにワーナーブラザーズのドメインでなく、10 年持たないであろうクソみたいな独自ドメインにあるあたりに、アニメ界の闇が感じられる。 ほんと、闇だよな、ワーナーブラザーズドメインのほうが遙かに価値高いだろ。 時代遅れの広告代理店に何か吹き込まれているのだろうか。 まぁいいや。 原作の小説等が先に書かれていたのではなくて、小説と同時みたいなもののよう。 ちょっと小説の出版が先だけど。 主人公は中学生、元号不明の 2 年生まれとなっていたが、出てくる車の車種や、体操服などからして平成 2 年では最近すぎる感じだから、雰囲気的には昭和 52 年生まれぐらいじゃなかろうか。 主人公達が閉じ込められてしまった、時が進まない世界と、本当の現実の世界が存在していて、その中でどう過ごしていくのか、時折見える現実の世界とともに、主人公達の青春が展開される。 時が進まないと言っても一日は進むし記憶も記録も残るが、季節は進まない、年も取らない、そういう感じ。 見ていても先が読めないタイプの作品で、そこがおもしろいところかな。 最後まで見た結果、タイトルはとってつけた感じが否めないなとは思った。

多摩センターにはたまにしか行かないから、バイクやスクーターをとめてからどこを歩いていったらいいのかわからなくなるw 特に映画館には車の駐車場から直結で入れるので、歩いていっても駐車場から入ってしまうのである。 帰りに方向をきょろきょろと確認しながら進んでみたら、ペデストリアンデッキからいけるようだ。

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


03 (火)

%1 かようび

晴れ。 涼しい日。

テレビアニメ『エンジェル・ハート』。 49 話。 また画面の一番下のラインが途中で切れている、低解像度の回だ。 ブラウン管ディスプレイで見るとそこまで気にならないけど、字幕は荒さが目立つ。 話は前回の続きでお祭りの現場。 スクーターを運転しながら右手を離して銃を構える獠ww 「春日総合病院」。 缶コーヒー「CORU COFFEE」。 運命は変えられる。 次回が最終回とは出なかったが、次回が最終回か。

この前の Fizz Buzz の話、単に単純な for ループに fwrite を使用し、数値の出力に 6 ずらした値を使うのでけっこういけるのかなと思ったんだけど、200MiB/s ぐらいしか出なかった。 割り算が遅いかとも思ったけどそういうわけでもなく、やっぱり loop unrolling がデカいのか。 あとはどっちにしても fwrite はメモリーコピーになるから、デカい単位でメモリーコピーをしたほうが速いのかもね。 と思って、printf だけど 30 個ずつまとめて一番下の桁は別で準備するのを作ったらそれでも 200MiB/s 越えるよぉマジか。

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


04 (水)

%1 すいようび

雨時々曇り。 寒い日。 在宅勤務。 久しぶりにエアコンも送風もいらず! お昼を買いに長袖ジャージで外に出たら寒かった。

テレビアニメ『エンジェル・ハート』。 50 話。 最終回。 また低解像度の回だ。 クリスマス。 「X,mas セール」w ワクチンは完成、あの片目眼帯女が来て、引き取っていた戦争孤児の結婚式、香との関係。 そしてクリスマスプレゼント。 最終回に、最初の頃の Skoop On Somebody のエンディング曲がフル尺で。 振り返りで各登場人物の絵が出てきて、エンディングロールは絵は小さくなったがそれも各シーンの振り返りで、最後はまた最初の頃のエンディングの絵かな、羽が水面に落ちるシーンがちらり。 スポンサー画面とおぼしきところは静かなメロディ、んで END 画面で終了だった。

『エンジェル・ハート』は『シティーハンター』みたいなマンネリ感はあまりなくて、ああいうヒーローもの的な感じも弱くて、だが主人公達は『シティーハンター』の獠のように確実に強くて、そして香の心臓も活躍する。 香つながりでうまいこと感動要素もちりばめられていて、様々な人とのつながりが描かれる、なかなか良い作品だった。 しかし毎日のように見ていたのが終わってしまうのは寂しいなw

そうそう、『シティーハンター』に出てくる槇村、香の兄貴というのは、法律では裁けないような悪人を裁く、というようなことを言う。 たぶん、中学生の時ならそういうもんかと思って聞いていたに違いないのだが、今は何か引っ掛かるせりふだった。 何かって言ったら、『DEATH NOTE』だね。 映画化もされたあの話、主人公の月 (ライト) も、似たようなことを言っていたなぁ、と。 まぁ、デスノートは使われたら確実に死んでしまうのに対し、獠の場合は悪人が構える銃を狙って撃つなど、殺さずに対処するシーンがかなり多く、そういう意味ではやや『ターミネーター 2』や『るろうに剣心』っぽさもある。

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


05 (木)

%1 fwrite/putc/putchar/fputc

おとといの Fizz Buzz の話で、デカい単位のほうが速いかもね、という話を書いたが、そういえば単純に文字出力に fwrite/putc/putchar/fputc を使うのはどれが速いのか? 試しに "hoge\n" を繰り返し出力するだけのプログラムを書いて試してみた。 5 バイトずつだと fwrite は一番遅い。 putc で 1 バイトずつ出すより遙かに遅い。 10 バイトずつなら fwrite は一番速い。 putc/putchar/fputc は fputc がやや遅い。 putc/putchar の差は見えなかったので、これらは中身が同じかも知れない。 確か putc はマクロだったよね? というのはたぶん正解なのだろう。

んで、その 10 バイトずつの fwrite で 280MiB/s あたり。 Fizz Buzz を書くにしても、細かい単位で fwrite を使うならそのぐらいしか出ないんだな。 例の自作高速版は 30 個ずつまとめて fwrite なのでだいぶ効率がいいんだろう。 終盤の 10 文字ずつのところは 30 個でなんと 256 バイトだ。 まさかそんなきりが良い数字になるとはね!

とはいえ例の自作高速版はバッファーに 1 バイトずつ書き込んでいるから、putc も実はけっこう速いのかなー、なんて思ったけどそういうことではないみたいだ。 固定部分を書き換えない仕掛けと、fwrite の中身はおそらく 4096 バイトの内部バッファーを埋めるまでは memcpy で、高速転送の何かが働いていそうなことが要因だろうか。

20231005-fizzbuzz.c

ま、そんなわけで、さらに高速にした版を作った。 前の 20〜21 秒から、17 秒ぐらいに短縮している。 強引にマクロにして関数ポインターによる間接呼び出しをやめてより高速に、といったところ。 fflush も入れて 4096 バイトであろうバッファーとうまいことかみ合うことを狙った。 ひとまず fwrite を使う版としてはこのへんが手頃なところかも。

%2 もくようび

曇りのち晴れ。 涼しい日。

先月の NILFS2 空き容量問題、さっそく nilfs_cleanerd が動いていたので、見てみたら古いスナップショットがたまっており、このままだと空きは増えていかないな、となったので、さらに追加でいくつかのスナップショットをチェックポイントに戻し、小一時間放置していたら、空きが確保されていた。 もう 2017 年あたりまで破棄した、っていうか、そんなにとっておいてもしょうがないのだがw

大学の先輩の訃報が届いた。 自分が研究員だった頃はどうだったか記憶にないが、その前の学生の頃の 3 年間は、同じ研究室で毎日のように顔を合わせていた。 その後の話は伝聞で、少し時間はかかったが博士号を取得し、日本の某大手企業に就職したらしいという話を聞いていた。 名前で web 検索したら母語の訃報が出てきた。 45 歳。 早すぎる...

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


06 (金)

%1 きんようび

晴れ。 涼しい日。

Android One S9 にソフトウェアアップデートがあって、ひょっとすると Google Play 開発者サービスを強制停止しないといけない問題が解決したのかも知れない。 昼に弁当屋さんで待っている間に Pokemon Go を起動するのがいつものパターンだが、ここ数日はその前に Google Fit を起動して歩数を確認の上で Pokemon Go を起動する、みたいな感じにしていて、Google Fit も歩数が出てこないので、いったん強制終了させて、みたいなことをやっていたのが、今日はすんなり歩数が出てきてあれ!? ってなった。 これで Firefox でページが出ないことがある問題も解決するのかな。 あとは Bluetooth Low Energy が使えるようになればいいんだけどな...

最近は鼻づまりはやや解消気味かな。 日記を振り返っても 9 月は鼻炎の傾向がありそうだ。 そして今度は手の指のささくれが... あっちがよくなるとこっちが...w

んで最近は気温がぐっと下がったせいか、外でもマスクをつけている人をよく見かけるようになった。 自分もつけている。 まぁ、先月の鼻が痛い件があったからだけど、やっぱり寒さ対策としても効果がある。 そして SARS-CoV-2 の感染者数がやっと減りつつあるという情報があるらしい。 インフルエンザは引き続き増えているみたいで、ウーン。 自分は SARS-CoV-2 のほうはワクチン接種から 2 週間経って免疫の準備ができている頃だろうけど、インフルエンザはなぁ...

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


07 (土)

%1 どようび

港南台へ。 横浜市港南区。 Google Maps によれば、列車で行くと 2 時間前後、車で行くと 1 時間 10 分前後... 横浜方面はいつもこうだw ただルートがわかりづらかったため、横浜横須賀道路を避け、横浜新道から環状 2 号線を選択して 1 時間半前後となる。 バイクでやや遠回りをしつつ第三京浜の川崎から乗り、横浜新道に向かい、今井という出口で降りて、環状 2 号線を磯子という方面に向かい、横浜横須賀道路と交わる前に曲がって... 帰りも同じようなルートを選択したが、川崎の出口が渋滞していたため玉川インターチェンジまで行って、国道 246 号線に出て川を渡ったら側道の右折側が渋滞しており、左折して右折して溝の口駅方面に向かい、南部沿線道路を通るまではよかったが、うっかり久地駅横の踏切からいったら渋滞にはまりそうになって、そこから登戸駅と向ヶ丘遊園駅のあたりでうろうろして面倒な遠回りをしたw

大学の先輩の葬儀というかお別れ会のようなものかも、無宗教の。 その人は大学・大学院に 10 年かそれ以上? いたからか、国内でもかなりいろんな方面に知り合いが多かったみたいで、たくさん人が集まった。 自分らは 3 年間同じ研究室で過ごした先輩後輩の関係だけど、同期の人もいるし、少し上の人もいるし、さらには大学に入る前の語学学校の友人とか、就職先の同僚とか。 自転車の話は自分もいろいろ覚えていたが、日本語ジョークの話、お酒飲むと明るいみたいな話、いろいろ聞いていると思い出してきてね。 合掌。

本人のお兄さんが来日しており... 英語はある程度話せる様子。 ドイツにいたこともあるそう。 日本の列車はドイツよりずっと正確でいいね! みたいな話をするので笑った。 飛行機乗るにも前日に出なきゃいけないみたいな大変さがあるらしい。

その後大学の研究室の先生方と同期と後輩と軽食を食べに行って。 それが久しぶりなのは、先生方のお子さんが大学生だったり、孫が生まれただったり、そういう話で実感したw

横浜方面、近くて遠い。 例えばつくばに行くのに比べたら圧倒的に近いのに、土地勘がなく何もわからない。 例えばつくばに行くのに、三郷・柏・守谷・桜土浦など高速道路を経由していっても、浦和あたりから春日部や野田、それに水海道あたりを経由していっても、それぞれ何となくどのあたりにいるかわかるというか... 御殿場にしても、潮来にしても、あるいは宇都宮あたりでも、結構地図も見ないで運転して行けるのに、横浜方面はいつもわからん。 もしかしたら大阪を運転している時と同じぐらいのアウェイ感があるかも知れない。 ちなみに港南台あたりまで来ると見かける車両がみんな横浜ナンバーで、そういう意味でもアウェイ感がある。 なお救急車が交差点で鳴らすサイレンさえ音が違う。 異国の地か?

きのうの F1 カタール GP 予選。 きのうってか、日本時間は今朝 2 時開始だったか? 見逃し配信で。 ストロールはやっぱり Q1 敗退、角田は手堅く決めて 11 番手、サインツ・ペレスが Q2 で脱落。 ポールポジションは余裕でいつもの。 ボッタスは新品タイヤがなくていいタイムが出せなかったが、ノリスのトラックリミット違反によりおこぼれの 9 番手を確保。 ピアストリのインタビュー中にトラックリミット違反が確定して 6 位に。 それを苦笑いしながらも wonderful って言っちゃうルーキー、すげぇ余裕。 まぁノリスは 10 位だから、6 位でも悪くはないよな。

そして今日の F1 カタール GP スプリントシュートアウト、の前に、練習走行時間みたいなものがもうけられていた。 SQ1 は角田がトラックリミットで脱落、ローソンは通過。 SQ2 はハミルトンがトラックリミットで脱落。 SQ3 もトラックリミット祭り。 フェルスタッペンもそれで安全策で行くしかなかったか、3 番手。 ノリスが最終コーナーをミスって、ルーキーのピアストリがトップタイム! うれしそう。 本当に、ハミルトンを思い出すレベルのすごい新人だな。 そんな人を他チームから引き抜いたなんて、ロンデニスはいなくなってもマクラーレンはマクラーレンなんだな。

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


08 (日)

%1 にちようび

曇りのち雨。 ちょっと寒い日。 のんびりゴロゴロ。

テレビアニメ『AI の遺電子』。 12 話。 最終回。 主人公 (?) の医師の母の居場所、MICHI が教えてくれた戦場? に出向くための、お別れ。 主人公は人間で、ヒューマノイドを診てきた。 医院を知人に譲り、お別れを言っていく。 看護師との関係。 人間の存在とは。 少し振り返りがあって、現地に着いたところで終了。

テレビアニメ『呪術廻戦』。 35 話。 つよいとばり。 「渋谷 セルリアンタワー」。 最初は糸みたいなのを操る主人公。 その後はパワー。 敵はつよい。 ...最強の先生は 1989 年生まれ。 敵が振り返る当時の話。 そして今に戻り、敵の術式を理解し、やっつける。 「おまえ意外と器用だよな」w

テレビアニメ『葬送のフリーレン』。 そういえば今時のテレビアニメはオープニングとエンディングの字幕が小さいんだよな。 読めねぇだろこんなの。 まぁいいや。 5 話。 10 年の冒険はエルフにとっては人生の 1/100 にも満たない。 「アンデッド」ではなく、魔物が出る峠道。 死者の幻影。 記憶。 こうきょう竜。 ドワーフのおもしろい弟子。 たたかいの練習。

F1 カタール GP スプリントレース。 セーフティカーが 3 回出る荒れたレース。 このコースは結構グラベルトラップが多くてスピンしただけで戻れないケースも。 オコンとペレスがヒュルケンベルグをサンドイッチにして接触というのもあり、そう、ペレス... 今年のペレスは何戦も接触が目立っていて、単にチームメイトより遅いだけでなく、完走もできないんじゃポイントもとれない。 スプリントレースはソフトタイヤを選んだドライバーとミディアムタイヤを選んだドライバーにわかれ、それぞれの特性の違いにより前半と後半にそれぞれ異なるバトルになった感じだった。 フェルスタッペンは 2 位でチャンピオンを確定。 ルーキーのピアストリが勝利! 本当にうれしそう。 クールな感じの若者だけど、若い頃のライコネンほど無表情ではなさそうだ (笑)

今回のカタール GP ではタイヤに問題が見つかり、そのために少し変更があったみたいだ。 スプリントシュートアウトの前の練習走行はそれでコースが少し変わったのが原因だったらしい。 さらに場合によっては決勝レースもタイヤを 20 周までしか使っちゃだめみたいな追加の制限をするかも知れないと。 タイヤの問題といえば、2005 年のミシュランタイヤがインディアナポリスで問題を起こし、決勝レースでミシュランタイヤを使っているチームがフォーメーションラップのみで棄権したのを思い出すが、当時はブリヂストンタイヤを使うチームもあったため一律で制限をかけることができずそういう結果になった。 (ブリヂストンタイヤは大丈夫なんだからコースの変更はしないよ、ミシュランタイヤだけ安全を理由に定期的にタイヤ交換してもいいし、毎回ピットレーンを通ってもいいんだよ、ご自由にどうぞ、という、そういう話の結果が棄権になった。) 今はタイヤはワンメイクなので当時と違ってそういう変更をしやすいんだな。

Debian のアップデートがあり、また MATE タイトルバーの文字が消える問題が再発したので対策。 apt-get source marco により macro パッケージのソースコードをダウンロードし、作られたディレクトリに入ってくだんのパッチを適用する。 そして debian/changelog のバージョン番号に少し文字を書き足しておくことで、後で apt-get upgrade をした時にパッケージが元に戻されてしまうのを防ぐ。 dpkg-source --commit を実行して変更点をコミットし、dpkg-buildpackage -us -uc を実行してビルド完了を待つ。 親ディレクトリにできあがったパッケージの中で libmarco-private2, marco と marco-common だけ入れれば良い。 こうして手順をメモしておけば、他にも同じ目に遭遇する職場のパソコンや自宅のノートパソコンでも落ち着いて対処することができる。

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


09 (月)

%1 スポーツの日

夕方頃まで雨。 寒い日。

スマートフォン Android One S9 はやはりこの前のソフトウェアアップデートで問題解消しているみたいだ。 Google Play 開発者サービスを強制停止しなくても Pokemon Go が起動するし、Google Fit もちゃんと表示されるし、Google Maps で現在地が表示されるし、Google 系アプリで自分のアイコンが空白にならないし、カメラアプリが一度落ちてもう一度立ち上げると動くということもないし、Firefox がページ表示できずにクラッシュすることもない。 何か知らんが致命的な問題があったんだろうな、前のバージョンには。 なお最近はまた 5G を有効にしてみているが、ちょくちょく 4G に切り替わるのでいいのかどうかはわからない。 オートパラダイス御殿場でも 5G なんだなーと思っていたらいつの間にか 4G に切り替わっていた。 エリアマップを見ているとおもしろく、例えば豊田駅や京王多摩センター駅など、駅前がなぜか 5G エリアになっていないところが存在する。 他社も同じようなところがあるのがおもしろい。

F1 カタール GP 決勝。 結局タイヤ使用制限は 18 周になっていた。 サインツはマシントラブルで出場できず。 スタートでメルセデス 2 台がクラッシュしてハミルトンがリタイア。 セーフティカー。 それ以降はセーフティカーが出るようなスピンやクラッシュは無かった。 フェルスタッペンは毎回後続を大きく引き離しての余裕のピットインで、一時アルボンがリードした周回があっただけでほとんどフェルスタッペンがリード。 トラックリミットのペナルティが多数出た。 特に、チームメイトに大きな差を付けられているペレスとストロールがそれを受けていたのは、彼らの将来に暗い影を落としそうな... サージェントがレース中に体調不良でリタイア。 アロンソは暑すぎてピットストップ時に水をかけてくれといい、ラッセルはメインストレートで手をハンドルの上に置いてさまし、最後の数周にペレスなどが謎のペースダウンをし、レース後のピアストリは若いのにへろへろになっていて頭からボトルの水をかぶっていた。 熱中症なりかけじゃないか。 フェルスタッペンとピアストリは表彰式の控え室でも床に寝ころんだり座ったり。 表彰台でもフェルスタッペンの顔は汗を掻いているように見えたし。 ナイトレースなのに、よほど暑かったんだろう。 ノリスは平気そうにしていたけどね。 こんなにつらそうなのは、SUPER GT にかつてマレーシア戦があった時を思い出す感じだ。 あれは箱車だし、クールスーツがあるけど。 しかしルーキーのピアストリが表彰台にいるのを見るのもだんだん慣れてきたな。

夜はラーメン屋にでも行こうかなと思って Google Maps を開いて見ていたら稲城のスーパーのテナントに中華料理店が入っていることを知った。 へぇー、そんなのあったのか。 テナントのしまむらとかダイソーとかには何度か来たけど、知らなかった。 行ってみるとフードコートの形になっていて、いや、なってはいるが、事実上その中華料理店とパン屋さんぐらいしかなく、18 時過ぎていたのにガラガラなイートインスペース。 中国語ネイティブっぽい店員さん 2 名で回しているようで、注文すると中国語と英語しか書かれていない呼び出しベルを渡され (笑)、出てきたものは薄目の味付けで親しみやすい感じのワンタン麺とミニチャーハンだった。

これも知らなかったんだけど、そのスーパー、どうもバブルの頃にできた旗艦店だったっぽい。 稲城と堀之内がそうらしいな。 昔はディスカウントストアも合体していたという説も。 駅前でも何でもないこの店はやや寂れている感じもあるけど、駐車場が無料でかなり広いので、車なら極めてアクセスしやすい店のひとつだ。 なんかまぁ、多摩地区には駅から離れたところにそういう大きめのテナントが入る形態の店がいくつかあるというか... 府中にも、どデカい蔦谷書店が撤退したあの建物とか、その近くのヤマダ電機が入っているあの建物とか、あるいは国立近くの川沿いのホームセンターやら西友やらが入っている建物とかね。 それぞれそれなりにお客さんは来ているけど、ちょっと作り過ぎじゃない? と感じることはある。

そうそう、横浜・港南区は横浜ナンバーだらけだったが、府中や稲城にいると多摩ナンバーだらけというほど多摩ナンバーばかりではない。 練馬、世田谷、八王子などの隣接区域や、品川、川崎、横浜なども見かける。 まぁ、都内の甲州街道の近くから来ている車だけで、練馬 (新宿区)、品川 (渋谷区)、世田谷、杉並、多摩、八王子のナンバーがそろうわけでね。 大都会の大阪府でも、和泉、堺、なにわ、大阪の 4 種類しかないらしく。 こんなに多いのは全国的に見ても珍しい地域だよな。 人口の多さがなせる技... かと思いきや、登録台数が多いのは名古屋ナンバーや神戸ナンバー。 関東で一番多いのが横浜ナンバー、都内で一番多いのが多摩ナンバーらしい。

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


10 (火)

%1 かようび

晴れ時々雨。 在宅勤務。 部屋の中はひんやりしていたので時々セラミックファンヒーターでぬくぬくしていたが、外はそれなりに暖かかった。

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版。 14 話。 新オープニング・エンディング。 弥彦ちゃんの日雇い仕事。 こんな話あったのか。 竹刀で真剣に勝っちゃう弥彦ちゃん。

テレビアニメ『MF ゴースト』。 ABEMA 配信。 1 話。 あの『頭文字 D』の作者が描く原作漫画のアニメ版。 電気自動車が主流になった未来に、内燃機関でレースをするみたいな話らしい。 登場人物の顔がどこか『頭文字 D』の登場人物の顔に似て見えるところがある。 全員ではないけど。 かたせえのしま駅。 イギリスから来た少年、日本語は流暢で、日本語に混じる英語は日本語訛りw 「小田原事務所」。 すき家。 「緒方自動車」。 鎌倉。 涼介とはあの涼介か? トヨタ 86 で予選へ。 小田原パイクスピーク、一周 40 km。 未来の設定だけど、スマートフォンの連携、人と人のやりとりなどに過去を感じるw

小田原パイクスピークってたぶんコロラドのパイクスピークを意識したんだろうけど、あれ元はパイクさんのピークだからね、小田原にもパイクさんが来たのかなw Pikes Peak を調べていたら、頂上まで 2 回行った Mount Evans の名前が変わっていたことを知った。 今は Mount Blue Sky らしい。 Pikes Peak は 2 回行ったけど頂上まで行ったのは一度だけだ。 Mount Evans のほうも 3 回行っていて一度は頂上までは行けていない。

テレビアニメ『16bit センセーション ANOTHER LAYER』。 ABEMA 配信。 1 話。 いきなり左右黒帯 4:3 画面で始まって、4:3 ディスプレイで見ていると画面拡大すべきか迷うが最初だけだったw 2023 年から 1992 年、「タイムリープ」。 秋葉原。 「ブルーベル」。 美少女ゲーム。 イラストレーター。 ソフマップっぽい音楽、いや、ソフマップそのものか。 西荻窪。 三鷹。 中古ゲーム屋。 実在したゲーム Kanon を力説する主人公。 からの、タイムリープだ。 PC-9801。 RA っぽいデザイン。 ミニフロッピーディスクの入れ方に違和感あるな。 パソコン本体に指引っ掛けて入れることはあまりしなかった気がする。 まぁ、自分は 1992 年はまだ IBM JX を主に触っていたんだけどw 次回予告はタイトルのみ、MIFES 風の画面で。

%2 マウス

去年買ったダイソーの 100 円 USB マウス、ホイールによるスクロール操作が時々チャタリングを起こしているような感じになってきたかなー、というところ。 100 円のくせに 1 年半近く持つとは。 優秀。

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


11 (水)

%1 すいようび

晴れ。

昼休みに整形外科。 いつもの。 インフルエンザのワクチン接種が始まっているらしいので予約した。 健保の割引はきかないんだけど、まぁいいや。 これでも去年のクリニックより安いしな。 内科と違って整形外科はゴホゴホ咳をしているような人がほとんどいないのも良い。 今年のインフルエンザワクチン接種のベストタイミングはさっぱりわからんので (夏の間に静まらず今も感染が拡大している状況)、普通に近々接種を受ける予定。

夕食を食べながら将棋の王座戦の中継を眺めた。 藤井 vs 永瀬。 永瀬が先手。 途中、コンピューターは藤井の竜の筋を防ぎつつ王手をする裏技みたいな手を示していたが、対局者はそこまで気づけなかったのだろう。 それで藤井優位かと思いきや、藤井は 1 分将棋でベストな手をさせずに、少しずつ永瀬が優位に。 もうちょっとで決まりそうというところで、永瀬が大きなミスをやらかしコンピューターの評価値が見事にひっくり返った。 大逆転! 藤井の頭の中にはその評価値が見えていたに違いない。 どちらも 1 分将棋になっていたとはいえ、永瀬本人も明らかにあーやらかしたーっていう顔になっていて... 藤井がそこから本当にひとつのミスもなく詰めていって藤井八冠の誕生!

今時の将棋観戦は本当におもしろい。 コンピューターが出した、相手の竜の筋を防ぎつつ王手をする裏技みたいな手は、解説のプロ棋士もなるほどこれはと言うような手だった。 すごいけど大駒ひとつは確実にとられちゃうからなかなか打てないですよね、みたいな。 コンピューターはそのベストな手をもとに、こっちが有利だと表示しているのだ。 もうちょっとで決まりそうというところも、コンピューターがこっちが圧倒的に有利と出していて、この手で王手をすれば、と候補をあげていた。 プロ棋士もそれを見て、詰めろではなさそうだけどかなりこちらが有利になり、相手は勝ちにくくなりますね、みたいな解説をする。 でも対局者にはそんな数字は見えていないわけで、形勢もそれぞれの判断でしかわからない中必死に考えているのを、観戦している側はなるほどねーなんていいながら見ているわけだ。 かと思えば、あまり差がない状況では、コンピューターが不思議な手を候補にあげてくることもあり、プロ棋士もそれは指さないですよねみたいな解説をすることもある。 それに、1 分将棋の微妙な局面では、1 分近く経っても候補がコロコロと変わる局面もあった。 深く探索をしないと適切な評価値が得られないような難しい局面ってことだ。

%2 全国銀行データ通信システムの話

全国銀行データ通信システムのシステム障害についてまとめてみた - piyolog

プレスリリース|全国銀行資金決済ネットワーク

なんか大変そっすねー、っていう人ごと気分なのは、特に金融関係の仕事はしていないのと、このシステム障害の影響を受ける金融機関の口座を持っていないからである。 が、持っていなくても、それらの口座への振り込みも障害の影響を受けているそうなので、たまたまそういう振り込みをしなきゃならん、みたいなことになっていたら、困っていたかも知れない。 しかしモアタイム (平日 8:30-15:30 以外) は振り込み OK ということで、SBI 新生銀行も農業協同組合もモアタイムシステム参加金融機関に含まれているから、そこまで困るもんでもなさそう。

三菱 UFJ 銀行が今回のシステム障害の影響を受けている中で最大手の都市銀行だろう。 三菱 UFJ 銀行と JA バンクは現金自動預払機の相互利用で手数料優遇があるため、システム障害の影響も同じように受けてしまうのではないかと一瞬身構えてしまうんだけど、そこは全く関係がないようだ。

いろんな人のポストを見ていておもしろいなと思ったことのひとつは、光熱費、クレジットカードの請求額支払いやローン返済等の引き落とし (口座振替) の問題だ。 引き落としは特に影響なく実施されているが、引き落とし前にお金を入れておこうと他の金融機関から振り込みをしたものや、場合によっては給与振り込みが、今回のシステム障害の影響で届いていなくて、引き落としに失敗した、なんていう悲しい事例がそれなりに存在していそう。 別に残高ギリギリにしていなければいいじゃん、というのはそれはそうなんだけど、低所得者においてはそれが難しい人もいるだろうし、そうでなくても、例えばローンを組むのに A 銀行の審査しか通らなかった、みたいな場合に A 銀行の口座を作って、他のメインの口座からそこに振り込みで移している、みたいなケースも少なくはないだろうな。 クレジットカードの支払いに関しては、以前限度額に達して振り込みで回避したことがあったのを思い出したよ。 システム障害にしろ何にしろ、通常の手段で払うはずのところを別手段で払うってことは、一時的に二重にお金が出ていった状態になる、ということではあるのだ。

あと、次回の年金支給があさって 13 日なんだって。 そこまで引きずらないようにがんばるだろうし、別系統で影響がない可能性もあるけど、そういうことでトランザクションが溜まっていくのはうれしくはないだろうね。

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


12 (木)

%1 もくようび

晴れていたが、夜に雨が降った。 涼しい日。

いや、涼しいで済めばいいんだが、このところ睡眠時間が細切れになりがちなのは、冷えのせいだな、たぶん... 夏場はエアコンを 24〜25 度設定の除湿にして寝ていたくせに、秋になって自然と室温がそれより低くなってくると勝手に目覚めるとはひどい体である。 いや、たぶん、昼間に冷えているのが夜まで響いているんだろうとは思う。 なお、こんなに気温が変動しても、風邪は引いていない... やっぱり風邪はウイルスや細菌が原因なんだ...

そういえば、こないだの港南区、なんとつくばから来た先生方は列車の乗り換えは 1 回だったとのこと。 確かに、検索するとうまくいけば秋葉原から乗り換え不要で、しかもつくば駅から最短 1 時間 57 分とは驚きだ。 そこまでうまくいかなくてもだいたいは 2 時間 10 分程度らしい。 うちからだと最寄り駅からベストタイミングで乗れれば 3 回乗り換えで 1 時間 49 分だったらしい。 乗り換え回数を少なくすると 2 回乗り換えで 1 時間 59 分、これは東京駅乗り換えのルートだ。 距離で見ると、渋谷や川崎を使って詰めれば 60 km ちょっとにおさまるが、それは別に早くない。 早いルートや東京駅乗り換えルートは 75 km ぐらい。 そして、うちから車のルートだとなんと 50 km を割る。 地図を見ると、明らかに第三京浜が良いところを通っている。 一般道ルートにしても、空いていれば 1 時間半を切れるらしい。 鉄道はどうしても不利になる。 つくば駅からだと鉄道で 105 km ぐらい、車では 110 km ちょっととなり鉄道よりも遠い。 時間は車でも 1 時間 45 分ぐらいで意外と短いんだけど、あっちは首都高を通るから渋滞ポイント多数なんだよね。 ちなみに、所沢駅からだと、鉄道で 1 時間 45 分ぐらい、70 km ぐらい、直通運転がパワーを発揮し乗り換え 1 回。 明らかにうちからより遠いのに時間的には近い。 車で 1 時間 25 分ぐらい、65 km ぐらい、環八経由のルートなので土曜日の混雑はありそう。 ま、いいや。 横浜はともかく、港南区に行く機会はあまりあるまい。

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


13 (金)

%1 きんようび

晴れ。 出社。

テレビアニメ『オーバーテイク!』。 ABEMA 配信。 1 話。 SUPER GT。 富士スピードウェイ。 見覚えがある景色がいっぱい! F4。 声の役がすべてわざとらしいアニメ。 フォトグラファーが主人公、なのかな。 サーキットのモータースポーツ観戦初心者向けみたいな解説中心の内容だ。

テレビアニメ『呪術廻戦』。 36 話。 「都心メトロ」。 明治神宮前駅-渋谷駅間。 「首都高速 3 号渋谷線 セルリアンタワー前」。 とばりあがる。 魂の情報。 だんだん進む。

テレビアニメ配信、TVer や局の配信プラットフォームで配信されないアニメが多いのは本当にクソさんだが、ABEMA で配信されている率が高く、アニメといったら ABEMA、みたいな立ち位置になっているように思える。 アニメの公式サイトを見ても、なんかごちゃごちゃ書いてある中に ABEMA ってあったら、もうそれでいいかってなる。 こんだけ慣れていると、例えお金を払うことになったとしても、ABEMA ならいいか、となるかも知れない。 まぁ、自分みたいなケチは無料配信を全力で使うんだけどw

かごしま国体 桜島噴火活動活発化で火山灰 競技への影響も|NHK 鹿児島県のニュース

鹿児島で開かれる国民体育大会では降灰に慣れている鹿児島出身者が強いという、冗談のような本当の話?

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


14 (土)

%1 Fizz Buzz 高速版 (C++)

20231014-fizzbuzz.cc

この前の話でまとめて書き込みが重要らしいことがわかったので、さらに整理して、setbuf() を使いバッファリングをオフにした上で、BUFSIZ に近い長さを一気に生成して書き込むという実装をしてみた。 さすがに C のマクロでいろいろとやるのは限界を感じたため、template のためだけに C++ 化した。 各桁用の構造体を作ってそれを template で使用することで、桁ごとに別々のコードが生成されるから、関数の中で桁数による分岐を書いても、それが実質的にはコンパイル時に決定されるはず、という狙いである。 また、10 桁目問題 (処理的には 9 桁目) を以前のものとは異なる方法で処理することで、10 桁の処理の分割も無くした。 内部処理で 8 桁目をわざと 0xf6 ではなく 0x36 にすることで 2 ビットを確保し、0x36, 0x76, 0xb6, 0xf6 の 4 種類の 9 桁目を持てるようにした。 4 種類あれば 1000000000 から 4294967294 の 10 億の位を表現できる。 ただしこの影響で 9 桁の場合の 8 桁目と 9 桁目は取り出しの際に別途ビットマスクなどが必要になる。 これが性能面でいいのか悪いのかは未調査だけど、コードはシンプルになった。

今回もオペレーティングシステムに依存するシステムコールの使用は避け、標準 C ライブラリを用いた実装にしている。 性能は狙い通りさらに向上し、17 秒ぐらいから 11 秒ぐらいに短縮した。 出だしから 3GiB/s 近い勢いだ。 これでも、すずき氏の最適化てんこ盛りバージョンに比べれば倍近い時間が掛かるのだけど、むしろ、こんな移植性重視のコードでも倍で済むのか、と。 なお、すずき氏のコードでは 15 の倍数を "FizzBuzz" と出力しているが、自分のコードでは "Fizz Buzz" と出力するため若干出力の長さが異なる。 そのおかげで 10 桁 30 個が 256 バイトになるというおいしい恩恵があるが、今回の実装ではバッファリングをオフにしたのであまり恩恵はなさそうだ。

今回も clang より gcc のほうが圧倒的に速い。 今回は -march=native をつけてもあまり差が出ないが、つけたほうがやや速そう。 基本的に -O3 で試しているが、-O2 でも速い。

なお、GNU/Linux の GNU C ライブラリにおける BUFSIZ は 8192 らしい。 前のバッファリングありバージョンを strace コマンドで観察すると出力は 4096 バイト単位だったが、BUFSIZ はなぜかその倍の 8192 らしい。 そうだなぁ、前の実装でも 8192 バイトのバッファリングにしたら速くなるだろうか?

  static _Alignas (4096) char filebuf[BUFSIZ];
  setbuf (stdout, filebuf);

これを入れることでバッファリングが 8192 バイトになり、性能は実際にやや向上し 15 秒ぐらいになる。 つまり速くはなった。 でも今回のチューニングに比べれば遅い。 おそらく、今回のものと違い、前の実装では fwrite() によるメモリーコピーがあるのが、この差につながるんだろう。

20231014-fizzbuzz2.cc

おまけ。 8 バイトの書き込みが異様に速いであろう AMD64/Intel 64 アーキテクチャーを想定した泥臭いチューニングを追加した。 内部 7 桁の書き込みを手前の '\n' まで含めて 8 バイト書き込みにして高速化、しかし 7 桁だけ集中して計測すれば差はあるものの、7 桁は一瞬で通過するため効果は 0.1 秒未満だろう。 9 桁の書き込みを 8 桁だけで済む範囲は 8 桁で済ませる高速化、これはきいてはいるようだが、0.2 秒ぐらいのものか。 コードが読みづらくなった割にはたいした効果はなかった。

%2 どようび

晴れ。 寒い日。

インフルエンザワクチン接種。 保険適用外で 3960 円 (3600 円 + 消費税かな)。 整形外科で普段のリハビリ等は受けなかったためか領収書は 1 枚だ。

例によって注射針が刺さっている時間が長くて痛いものの、注射針が抜かれた後はしばらく痛みを感じなかった。 ここの先生は注射がうまいんだよと、平日毎朝のようにリハビリテーションに並ぶおにいさんにパンデミック前に聞いたことがあったが、確かにそうなのかも知れない。 でも注射針が刺さっている間はさすがに痛かった。 それは仕方がないかw 3 時間ぐらいしたら注射箇所に痛みを感じるようになった。

なお、インフルエンザは今めちゃくちゃ流行っているんですよ、とおっしゃっていた。 コロナで免疫が落ちているのかも知れないけど、みたいな。 学級閉鎖なども頻発しているらしい。 ソーシャルメディアで見かける医師達の情報通りだ。 受け付けに貼られていた三鷹市内の先週の感染者数の情報も、新型コロナウイルスが 100 人台なのに対してインフルエンザ A 型が 800 人台と圧倒的だった。 この勢いなら、例年と違って 1 月ぐらいには流行が落ち着くのでは? なぁんて淡い期待を抱いているけど、そんなことは実際にその時になってみないとわからんね。

午後はゴロゴロ、眠くて昼寝したのはワクチン接種の影響か否か。 いつも週末はゴロゴロしているから大差ないか。 昼寝中に見た夢、鍵を掛けている戸の、がたつき分だけ動かすだけで部屋にすきま風がとんでもない強さでゴーゴー入ってきたり止まったりする不思議な世界。 近所の人の会話みたいなのも聞こえていたような気がする。 これは夢だなー、でもおもしろいなー、と思って戸をガタガタやっていたんだけど、そのうちなぜか息ができなくなって、起きなきゃ! 鼻が詰まっている!? みたいになって、それから目が覚めた。 夢から覚めるのに時間がかかったのは、どうやら夢の中で夢を見ていたようだった。 睡眠時無呼吸症候群的な何かでないことを祈る。

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


15 (日)

%1 Fizz Buzz on DOS

20231015-FIZZBUZZ.ASM

DOS 版を作った (笑) 例によって 4294967294 まで出力する。 DOS では 4GiB 以上のファイルは作れないので (試していないけど、NTFS な 32 ビット Windows のコマンドプロンプトの DOS ならもしかしたら作れるかも?)、画面に流すか AUX (シリアルポート) や PRN (プリンター) にリダイレクトするかしかなく、はっきり言って実用性はない。 そこで性能は度外視で、コードサイズを小さくしようと試みた。 8086 向けのコードとしては、レジスターが 16 ビット幅のため、どうしても 32 ビットの値を扱うのは面倒くさい。 そのため 3 で割ったり 5 で割ったりする単純なコードも長くなってしまう。 それでどう工夫するかというところ。

3 と 5 についてはそれぞれカウンターを用いて数える手がある。 さらに詰められないかと考えていたらパリティフラグを思い出した。 1 から 15 までの数を 2 進数で思い浮かべてみると、なんと見事に 3 の倍数と 5 の倍数が偶数パリティで、他が奇数パリティである。 これを逆に 14 から 0 に減る方向にしても、2 進数で見たら 4 ビットを反転しているに等しいのでパリティは変わらない。 減る方向にすると、15 番目にあたる 0 もゼロフラグで判定ができるので、15 の倍数の判定とともに値をリセットするのに使えておいしい。 あとは 3 の倍数なのか 5 の倍数なのかを判定しなきゃならない。 それには困って、判定用ビットパターンを作って、シフトして取り出すことにした。 15 回のビットシフトだと 15 ビットが必要だが、3 の倍数か 5 の倍数の時だけに絞れば 7 ビットで表せる。

数字への変換も、32 ビットの値を 10 で割って生成していたら、処理時間だけでなくコードサイズの点でも話にならない。 0xf6 の活用をしようにも、あの方法では 16 ビットに 2 桁しか入らないからメリットが生かせない。 それで単純に最初から US-ASCII を使う。 9 の次に来たら 0 に戻し桁上がりを処理する。 最初に使っていない桁にはわざと数字より大きな文字コードを入れておき、9 の次に来たかどうかの比較の際についでにそれを判定して、桁数を増やしてそこを 1 にする処理を入れている。 ループを書いてもコードサイズはあまり大きくならずに済む。

終了判定。 別途 32 ビットのループカウントを持たざるを得ないが、少しは性能のことを考えて、15 の倍数ごとに判定するようにした。 4294967294 は 15 の倍数から 1 を引いた値なので、15 の倍数の処理の時についでに判定する。 0xffffffff を 0xf で割ったら 0x11111111、わかりやすい。 1 を引くのに DEC 命令を使えば 1 バイトで済むので DEC 命令を使いたいが、DEC 命令はキャリーフラグを更新しないため、これを 0x1111 * 0x10000 + 0x1111 と考え、2 つのカウンターを 0 まで減らすという作戦にした。 さすがにレジスターが足りず片方のカウンターはメモリー上に置いた。

性能という意味では中にバッファーを持たせているのも少しは性能のことを考えてである。 まぁ画面や AUX や PRN だと PC 互換機では BIOS の仕様で 1 バイトずつになってしまうのでメリットは小さいんだけど、それでも出力はまとめたほうが少しはマシだろう。 出力途中でバッファーがいっぱいになるのを扱うのは面倒くさいので、少し後ろにはみ出せるようにして、バッファーに転送した上でしきい値の長さを超えていたら出力、という形にした。 これを、15 の倍数のタイミングで毎回出力ということにすれば、もうほんのちょっと短くできそう。

性能については HIDOS に入れてある拙作 doscomm を使って実行して計測して 46MiB/s。 命令インタープリターで実行してこれっていうのは結構速いほうなんじゃないかと思う。

で、それを HIDOS を QEMU Linux KVM で立ち上げて NUL へのリダイレクトで実行したら、なあんと、42 分かかった。 裏でちょっと負荷をかけていた時もあったとはいえ、根本的にペースが遅い。 試しにデバッガーで書き込みのシステムコールを NOP でつぶしたところ 1 分ちょっとになった。 16 ビットコードの実行が遅いんじゃなくて、DOS のシステムコールが遅いんだな。 NUL への転送なんて、メモリーコピーもなく渡されるものかと思っているんだけど、違うのかな。

%2 にちようび

雨のち曇り時々雨。 寒い日。

腕は痛いが体調は悪くない。 DAZN が見られるのが今日までなので、Wednesday F1 Time の日本 GP 後の分を見ておいた。

テレビアニメ『葬送のフリーレン』。 6 話。 ドワーフの弟子は村の英雄。 「怖がることは、悪いことではない」。 竜が街を襲わなかった理由。 くだらなくて楽しい旅。 魔物が活発なための関所。 商人ギルド、盗賊ギルド。 何かのゲームみたいなキーワード。 フリーレンの名前は英雄として一部の人達に知られている。 本人は魔法の研究をしたいw

テレビアニメ『オーバーテイク!』。 2 話。 お金の話。 そして菅生、か? スポンサー集めは大変。 それはそう。

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


16 (月)

%1 Fizz Buzz on DOS の続き

20231016-FIZZBUZZ.ASM

なんかきのうのを書いた後で、見直していたらいろいろ縮められることが判明して、ゴリゴリ縮めて、2 つのカウンターもレジスターに置くまでになった。 なんかもうちょっと縮められそうな気もするけど、わからんなー。 もはや、10 桁用という前提を忘れてしまうようなコードになってしまったが、データに 10 桁分しか用意していないから 10 桁である。 これ EXE 形式なので余計に容量を食っているところがあって、COM 形式に変えればさらにギリギリまでいける。 先頭のセグメントロード以外は COM でもいけるように書いたつもり。

%2 げつようび

晴れ。 少し暖かくなったんだけど部屋はちょっぴりひんやり。

夜ちょっと車で買い物に行く途中、ちょっと寄せすぎて、道路脇のスピード落とせの立て看板に左ドアミラーの角をあててしまったw 少し目測を見誤ったというか、少しボケッとしていたというか。 バイクと違って車の幅は広いから気をつけないとね。

ダイソーで 100 円の USB マウスを再び買ってきたんだけど、帰ってきてみると前のマウスのホイールのご機嫌がなおっていてなんともよくわからない。

テレビアニメ『16bit センセーション ANOTHER LAYER』。 2 話。 VZ Editor の画面! 謎の SLL 命令!! ここで働かせてくださいパターン。 パソコンは DA。 クッソ懐かしいペイントソフトの画面。 まるぺ、マルチペイントか。 いにしえの技術。 ハードドライブついているふうじゃないのに、フロッピーディスクドライブのレバーがあがっているの気になるよねw あっ、でもマイクロフロッピーディスクも使っていたから外付けドライブありか? VZ Editor の画面に PLAY とか STOP とか .mid とか何か MIDI プレイヤーみたいなのがオーバーレイされていてあれは何だ。 知らない世界。 美少女ゲームから始まり世の中に美少女があふれるのだ! (?) その因果関係は知らないけど、確かにこの 31 年の間にずいぶん変わったね。

テレビアニメ『MF ゴースト』。 2 話。 「ありえねぇ」連発は『頭文字 D』的な展開だ。 慣れる前のアップヒルですでに速く、慣れてきたダウンヒルで攻めるw 高橋涼介が医師になっているw 一般には Ryo Takahashi という謎の人物ということになっているらしい。 そして藤原拓海の名前も出てきた。 片桐ってのも『頭文字 D』にいたっけ? いや、いないか。 過去に富士山が爆発してガスが出て霧が云々、という未来設定。 『MF ゴースト』、雑に言えば『頭文字 D』の公道バトルを合法化した作品か?w

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版。 15 話。 出稽古。 道場破り。 竹刀で道場の師匠は敗れ、剣心が木刀で相手して決着着かず。 そして呼ばれる。 これも過去のシリーズで見たことがない話でとまどっている。 原作を見ていないからなぁ。

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


17 (火)

%1 Fizz Buzz on DOS の続き

20231017-FIZZBUZZ.ASM

2 バイト縮められたぁ! CALL がふたつあって 6 バイト、CALL があれば RET の 1 バイトもあって、しかし終了時にもバッファーのフラッシュが必要なので縮めるのは無理かと思っていた。 フラッシュのルーチンをメインループに持ってくれば、メインループの CALL/JMP/RET はいらなくなるが、フラッシュ後に終了判定が必要。 最低でも条件分岐に 2 バイト、そしてフラグのセット用にあと何バイトか、あるいは、フラグを必要としない条件分岐といえば JCXZ。 CX はシステムコールの引数で壊してしまっているが、スタックにある CX には桁数を保持しているので、それが最後に 0 になるのは理にかなっている。 しかし 0 を PUSH するには XOR と PUSH の 3 バイト必要で、最後のフラッシュ処理のための無条件ジャンプの 2 バイトを加えたら、せっかく CALL と RET で削った 7 バイトを別で追加することになって何も減らないじゃないか、と思ったら、最後はカウンターが 0 になるんだった! XOR いらない!

などと思いついて実際削れたので、もう CALL/RET もなくなった。 後は厳密にはフラッシュ処理で LEA を使えば 1 バイト削れそうということに気づいてはいるものの、MASM が [DI-BUF] を拒否するので無理かな。 あと、この 1 バイトは COM 形式にしたら削れない部分でもある。

もうひとつ、15 個カウントと判定用ビットパターンのレジスターを戻すところを、0 になっていることを利用して符号判定でメインループに入れることで初期値設定を流用することができ、もう 1 バイト削れた。 これ以上は無理かなーと思って風呂に入っていた時、改行文字を切り離すアイディアが。 改行 (13, 10) 4 つを削り MOV と STOSW で書き込むと、8 バイトのデータが 4 バイトのコードに化ける。 それだけでなく、FizzBuzz の文字列の流用ができるようになりさらに 8 バイトのデータが削減できたし、文字列のオフセットアドレスも MOV immediate の代わりに演算で求められるようになり、1 バイト削れた。 数値のインクリメントの際のアドレス代入も、改行文字の分を考えなくていいので、PUSH/POP に変えて 1 バイト減った。 そうなったらもうあとは COM 形式だな、と思って作ったのがこれ。

20231017-FIZZBUZ2.ASM

124 バイト! 立派な誰得プログラムの完成!

%2 かようび

晴れ。 昼は暖かく、夜はひんやり。

きのう昼のラジオで紹介されていた、駅近くの弁当屋さん (なのかな?) に行ってみた。 最近オープンしたらしい。 作り置きタイプなので待ち時間がない! 量は普通、値段はこのへんにしては高めだが、野菜が多めなのは好感が持てる。 いつもの弁当屋さんがこんでいる時なんかに使おうかな。

そういえば、スマートフォン Android One S9 は、アップデート後は比較的ちゃんと動いているんだけど、Pokemon Go は起動しなかったケースが一度だけあった。 その時はやはり Google Play 開発者サービスを強制終了するとちゃんと起動した。 その時も Google Fit などのアプリはちゃんと動いていたし、Firefox のトラブルにも遭遇していないので、やっぱりアップデートで何か修正されたってことだろうな。 まぁ、Android 14 のアップデートがそのうち来るんだろうけど、先日リリースされたばかりだから、アップデートとして届くのはいつになることやら。 おそらくそれまで Bluetooth Low Energy が使えないから Qrio Lock が使えないんだよね。

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


18 (水)

%1 Fizz Buzz on DOS の続き

20231018-FIZZBUZ2.ASM

118 バイト。 コードゴルフってのは、どうしてこう、もう減らないだろと思ったところから 1 日経つと 6 バイトも減るんだろうなぁ... このぐらい短くなってくると、命令のひとつひとつにすごく意味があって、おもしろい。

まぁ、カウンターについては、当初は性能のことを少し考えて 15 ごとになっていたのを、結局諦めたって話なんだが、これでもバッファリングはしているからいいだろw やってみたらゼロ PUSH も移せて、ちゃんとスタックが最初の位置まで戻ってから終了するかっこいいプログラムになった。 8KiB のバッファリングをやめるなら、シンプルにバッファーフラッシュの比較と条件分岐を取っ払って、6 バイト縮む。 STOSW の位置を戻して SUB の 1 バイトを復活させれば、さらにゼロ PUSHJCXZ を取っ払って、終了判定時のフラッシュへのジャンプを INT 21H へのジャンプに変更できるので、さらに 3 バイト縮む、つまり、バッファリングを外すだけで全部で 8 バイトは縮められる見込みがある。

あー、カウンターはきのうのコードでも MOV BX,BP にして DEC BX の後ろの JNEJNS にしておけば 1 バイト縮んだな。 それと終了システムコールの INT 21H 共有も簡単でそれだけで 2 バイト縮むんだよな。 そして数字の処理の変更で 1 バイト。 合わせて 4 バイトだけど、さらに 2 バイトはもうカウンターを毎回減らすのじゃないと無理かな。 一瞬 15 ごとでもできそうな気がしたんだけど、それは 4294967295 (FizzBuzz) で終わるならという話だった。 ひとつ前で終わらせたいのが微妙に罠だ。

数字の処理のは単に、9+1 したものを 10 引いて 0 に戻す、その定数 10 をレジスターから使えば immediate を使わなくていいよねという、そういう話だが、何となく MOVSB の直後にやらないといけない気がしていて、その後にフラッシュ処理と終了判定が来るから AX が壊れてしまうということで、やっていなかった。 よく考えたら終了時はフラッシュを呼ぶから、それまでに書き込めていればフラッシュの後でも OK なんだ。 桁が増えるかどうかの判定がパリティフラグ判定になってしまったものの、最初から 10 引いたら 1 になる文字コードを入れておくことで、無駄に 0 を入れてから 1 にするという過程はなくなった。

%2 すいようび

晴れ。 このところ昼はぽかぽか朝晩冷え冷えみたいな日が続いているが、なんか、週末は寒くなるらしい。 ひー。

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


19 (木)

%1 Fizz Buzz for x86_64 Linux

20231019-q.s

急に現代的な話になって、ファイルディスクリプター 1 に書き出す仕様の、x86_64 Linux 用のコンパクトな Fizz Buzz プログラムである。 きのうまでの DOS 用のと同様に、libc も何も使っていないので、別に GNU/Linux でなくても動作する。 .text セクションのみのコードで、.text セクションのサイズはなんと 128 バイト未満に収まった。

DOS のとは違い、AMD64 の仕様によりコードサイズを縮めるのは難しい傾向にある。 特に、1 バイトの INC/DEC 命令がなくなったので、いろいろ難しさがある。 その代わり、わざと 16 ビットの INC/DEC 命令を用いてサイズを縮めていたものは、その必要がなくなり 8 ビットの演算でもサイズが変わらなくなった。 もちろん、カウンターも 32 ビットで扱えるので簡単。 あとは immediate が基本 32 ビットで長いので、そこはできるだけオペランドサイズプリフィックスを使って 16 ビットで済ませたり、XOR でゼロにしてから 8 ビットだけセットしたりする。 あと、AMD64 特有の REX プリフィックスももったいないので、できるだけ 64 ビットレジスターへのアクセスは避ける。 アドレスは 64 ビットなので避けられないが、PUSH/POP が引き続き 1 バイトなので 64 ビットのレジスター間転送は PUSH/POP で行う。

当初は .data セクションと .bss セクションも入れて DOS のプログラムをそのまま持ってきたみたいなのを書いたが、今時なので position independent executable (pie) にしようと思ったら、(%rip) の相対アドレスは 32 ビット使っちゃうんだな、つらい。 それならスタックのほうが簡単だな、と。 スタックに数字の初期値データを生成してもそんなに長さを食わない。 おまけに、Fizz Buzz の文字列は 32 ビットのレジスターに入るので、immediate でアキュームレーターにセットして stosl で書き込むという裏技がある。 これは強い。 数字のデータの直後にバッファーが来るのでアドレスを使い回しやすくなって、なんとスタックポインターが出てくるのは最初の 2 命令だけ。 REX プリフィックスは 3 命令のみで済んだ。 ひとつは lodsb を使って減らすこともできるが、長さが変わらないのでそれはしていない。 逆アセンブルして見れば、64 ビットのプログラムとは思えないような短い命令が並んでいる (笑)。

システムコールを直接使っているので C の呼び出し規約も関係がない。 AMD64 で追加された番号レジスターには手を出すことなく書けてしまった。 思ったより短く書けたなぁと思っているんだが、数日でさらに縮むだろうか。

%2 もくようび

晴れ。 暖かい日。

Linux のシステムコール、x86_64 だと int $0x80 は使えないんだな。 使ってみたらプログラムは黙って終了してしまった。 知らなかった。 最初から syscall 命令が利用可能なのでそれでいいやってことか。 そして syscall 命令も 2 バイトなんだな。 デバッガーで sleep コマンドみたいなのを実行して intr で止めた時、syscall 命令の次のアドレスが出てくる。 ちゃんと __GI___clock_nanosleep みたいな関数の中でそうなっていて、つまりライブラリも直接 syscall 命令を使っているのだ。

32 ビットの時は sysenter 命令の登場が遅れたし、sysenter 命令は戻り番地が固定になっているので使うにしてももっと面倒なことになっていた。 手元の Atom Z530 環境で試したら、__kernel_vsyscall の中で、int $0x80 命令の次のアドレスに... えっ? まさか sysenter 命令も使っていないの? と思ったら、int $0x80 命令のさらに前に sysenter 命令があるw

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


20 (金)

%1 Fizz Buzz for DOS

20231020-FIZZBUZ3.ASM

きのうの Linux 版のコードを短くしようとしていたら、逆に DOS 版コードをもっと縮められそうな気がしてきて、やってみたところ、できた。 112 バイト。 まだ 6 バイトも縮む余地があったのか。

そしてこれも全部コードになった。 COM 形式なのでコードの後ろをデータ領域に使う方式にはしたけど、考え方はきのうのと同じ。 ただ stosl はできないから 2 回の STOSW にわけて、そうすると Fizz と Buzz で後ろの 2 文字が同じなのを利用して一部まとめることができた。 SI (きのうのコードだと %rsi) にバッファーの開始アドレス・数字の文字列の次のアドレスがほぼ残っている状態なのが大きい。 きのうのコードはデータ領域をスタックから確保したのに %rsp を含むアドレッシングが一度も出てこなかったし、今日のコードでも OFFSET が出てくるのは 2 回しかない。

そして、3 か 5 の倍数の時だけ回数を数えることにして、0x77777777 回数えたら最後の FizzBuzz は出力せずに終了する、という形に変更して、性能改善も狙った。 まぁ、改善といっても微々たるものだろうがw

%2 Fizz Buzz for x86_64 Linux 続き

20231020-q.s

11 バイト縮めたバージョン。 意外と縮んだな。

push で 8 ビット符号付きの整数を指定して符号拡張でスタックに積めるのはこれはいつからだっけな、80286 か? 80386 かな? それが小さな値をロードするのに有用だとはね。 そういえばこれ 32 ビット時代からそうだっけな。 うっかりしていた。 最後のシステムコールは lea でもいいじゃんと気づいたのが最初だったんだけど、いろいろ改修していくうちに 1 バイト mov でさらに短くっていう。

終了判定もいろいろ DOS のプログラムに引っ張られていたな。 条件成立の 1 回目はフラッシュ、次の FizzBuzz をバッファーに書き込んだ後で、それを捨てて終了っていう、それなりに合理的な仕組みに変わった。 DOS のやつは DEC が 1 バイトなのを利用しているのと、カウンターにふたつのレジスターを使うためレジスターが余っていないこともあり、同じ作戦は取れない。

%3 きんようび

晴れ。 ちょい暑。

テレビでやってた映画『余命 10 年』。 2022 年の邦画。 まぁー良くも悪くも日本の映画らしい展開だ。 ワードプロセッサの画面は Microsoft Word かな、今時あり得ないくらいの低解像度で小さなビットマップフォントにちょっと笑ってしまった。 頻繁に登場したディジタルビデオカメラもちょっぴり古そうな感じだったな。 病気で宣告された余命の 10 年を楽しむぞー、ということかと思ったら、やることないし暇だしー、みたいなところから始まり、同窓会からのいろいろでちゃんと人生楽しめたっていう、そういう話なんだけど、最後に誰々に捧げるみたいなのが出てきて、何だ? と思ったら原作小説の作者は難病で亡くなっているとのことだ。

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


21 (土)

%1 Fizz Buzz for x86_64 Linux 続き

20231021-q.s

どうにかならんかなと眺めていたらなおせるところが見つかって 4 バイト縮んだ。 .text セクションが 111 バイト。 DOS 版に対抗してもしょうがないんだけど、まぁうまくいったほうかな。 DOS 版は DOS 版で、けっこうかつかつで、メモリーをもっとガッツリ食っていいなら一番最初の CXDI で初期化すれば 1 バイト縮むんだけど、それはそれでどうかと思ってやっていない。

今回の修正は 4 つで、ひとつは label の位置を変えただけでサイズに影響はない。 ふたつめは最初のスタックポインターの減算処理をかえて 1 バイト増やして、代わりに最初の stosb のための mov をなくして 2 バイト減ったので、合わせて 1 バイト減った。 sub%rsp と 32 ビットの immediate を指定するとあまりに長いので、そこを 1 バイト増やす代わりに %eax もセットしてしまおうという。 スタックポインターを 8 の倍数じゃない値で引くのはどうかと思ったので、もっと大きな値で引いて、桁上がりの処理で 10 引く代わりに 0x31 と AND をとるように変更してある。

3 つめはトリッキーな内容、immediate で 16 ビットの %bx をセットする mov が 4 バイト、32 ビットの %ebx をセットするなら 5 バイト。 今回 %ebx の上位 16 ビットは使用しないので、前者を使っていたが、あえて後者に切り替えた上で、その余った 2 バイトに inc %ecx を入れるという荒技最適化で 1 バイト減った。 桁数を増やすための inc %ecx が 2 バイトあるので何とかならないかと、いろいろ考えた結果これになった。

そして 4 つめは exit システムコールまわり。 DOS 版のように共用したかったができないかな、と思っていたところ、方法が見つかった。 フラッシュルーチンが基本的にキャリーフラグがセットされていない状態で呼ばれることを利用し、exit の際はキャリーフラグがセットされた状態で同じフラッシュルーチンにジャンプさせる。 そして、syscall 命令の直前でキャリーフラグで分岐を行い、キャリーフラグがセットされていたら、システムコールの番号を exit に差し替え、さらに %edi を 0 にする。 終了コードを 0 以外に変えてもいいなら、と思っていたところに、この技により 0 のままで syscall 命令の数をひとつだけにすることができて、2 バイト減った。 もちろん、終了コードが 1 でいいならさらに 2 バイト減らすこともできる。

この遊びで、AMD64 は特有の REX プリフィックスを除くと、割と 2 バイト命令が多いなという印象を持った。 普通にコンパイラーに出させればもっともっと長い命令が量産されるけどね。 16 ビットの 8086 は 1 バイト命令がまぁまぁ多くて、80386 の 32 ビットモードでもそれが引き継がれている感じだったが、AMD64 の 64 ビットはやっぱり 1 バイトの INC DEC と BCD 演算系の命令の消滅でだいぶコードが伸びてしまう感じがする。 PUSH POP を引き続き 1 バイト版も残したのはどういうわけなのか、INC DEC より頻繁に使われると考えたんだろうか? でも PUSH SP とか INC SP とかは昔からまず使われる機会がなかったし、なんかそのへんだけ除外する、例えば 4 つずつ残す、みたいな手もあったんだろうけど、命令コードがとびとびになるのも嫌だし、別の命令コードを割り当てるのも嫌だし、といったところだろうか。 INC DEC はなぜかキャリーフラグを保持するという特殊性のせいで性能重視の最適化には向いていない、みたいな話もあり、実際コンパイラーに最適化をさせても使われないので、INC DEC はなくなって当然、みたいなことかも知れないんだけど、どうせならキャリーフラグにも結果を反映する新しい INC DEC を導入してくれても良かったのになw

%2 Fizz Buzz for DOS

20231021-FIZZBUZ3.ASM

こっちもさらに 2 バイト減って 110 バイトなんだけど、バッファーサイズがいつの間にか 2 倍の 16384 バイト (+ アルファ) に...w バッファーサイズを 8192 バイトのままにするなら、111 バイトかな。 システムコールの番号が 16384/256 だからという、とてもひどい話である。

ま、それはいいとして。 もう 1 バイトはカウンターの片方を DX に変えたことで生まれた。 1 バイトの CWD 命令で DX をクリア。 そのためにカウンターは再び毎回減算方式になり、フラッシュ条件判定も毎回減算するようにしたからだいぶオーバーヘッドは増えただろう。

%3 どようび

晴れ。 時々曇り。

インフルエンザワクチン接種から 1 週間。 SARS-CoV-2 ワクチン接種から 1 か月。 あと 1 週間ぐらいすれば免疫最強かな?w 最強の効果はおそらく半年あるかないか、変異によっては予防効果はあんまり期待できないだろう、的な。

車検。 代車はヤリス。 いっぺんレンタカーで運転したことがある車種なので気持ちは楽だ。 東京で運転するのは初めてだけど。 とってもしっかりした実用的なコンパクトカー。 今回のはオートエアコンだったが、クルーズコントロールはなさそう。 前調べた時は 1L でもクルーズコントロールあったのかなみたいなことを書いたけど、あらためて調べると 1.5L って書いてあるように見えるな。 色がようわからんひどいカタログだけど。

F1 アメリカ GP 予選。 アストンマーチンがなんか free practice 1 をほとんど走れなかったみたいで、予選 Q1 で 2 台とも脱落してしまった。 ウィリアムズも最近好調なのかと思いきや 2 台とも Q1 脱落。 地元アメリカのハースも 1 台が Q1 脱落。 そんな出だしだったが、Q3 では終盤にフェルスタッペンがトラックリミットをとられた。 トラックはみ出しながらでルクレールとは 100 分の 1 秒未満の差のトップタイムだったので、トラック内にとどまっていたらトップタイムだったかどうかはそもそも怪しい。 そしてそのタイムは抹消なので 6 番手、これは決勝が楽しみだ。 ...というのは半分はそうだけど、フェルスタッペンは途中で中古タイヤでもトップタイムをたたき出した時があったので、まぁ、現実にはアクシデントがなければフェルスタッペンが優勝するんだろうけどね、残念ながら。 えっ、ペレス? 9 番手だったね... 車が好みに合わないとしても、ライコネンがアロンソのチームメイトだった時ぐらいの位置にはつけていてほしいんだよな... いやまぁ今回タイム抹消があったので近いんだけれども...

テレビドラマ『トクメイ! 警視庁特別会計係』。 カンテレドーガ配信 (関西テレビ放送)。 橋本環奈主演。 沢村一樹が警察の係長を演じている。 1 話。 未来の警察、お金が無くて経費削減。 コメディ的なやつ。 主人公は疫病神。 事件現場、どう見ても配線がないダミーの防犯カメラだなぁと思ったら、本当にダミーの設定だったw 疫病神だから現場には行かないはずが現場に行って活躍する的な。

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


22 (日)

%1 Fizz Buzz for x86_64 Linux 高速版

20231022-r.s

これは短い版じゃなくて高速版。 きのうまでの短い版をかなり流用しつつ、この前の C++ 版の高速化手法をアセンブリ言語で実装した。 1000 未満と、桁数が増えてから最初のバッファーが埋まるまでの処理はきのうまでの短い版がベースのため、そこだけ見れば速くはないはずである。 しかも、最初のバッファーが埋まった後の数字を読み取って 0xf6 の変換を入れているので、コンパイル時に決定できるものを実行時に計算している風になっている。 SSE2 (xmm) も使用していない。 それでも実行時間は C++ 版とほぼ変わらない。 やっぱりここまでアルゴリズムを工夫すると最後はメモリー転送がボトルネックなんだろうね。

しかしアセンブリ言語で書くとあの 0xf6 のインクリメント補正の計算がけっこう面倒くさくて笑った。 64 ビットの immediate は演算命令のオペランドに使えないので、いちいちレジスターに入れて... ビット探索系の命令 (bsf) を使うほうが速い可能性もあるな、と思ったんだけど、10 桁目の特殊扱いの関係もあって bsf に変えてもあまりシンプルにならなそうだ。 別の演算方法も検討してみたけど、いい案は出てこなかった。

まぁ、そうやって考えてみると、必ずしも 0xf6 ずらす必要はないことにも気づいた。 例えば 0x393939... との排他的論理和をとれば、9 が終わる桁をビット探索で特定することも可能。 それでテーブル参照で足す値を引っ張り出すなり、あるいは今のコードと同様の論理演算でも桁上がりを処理できる。 (0x313939 に 0xf6f7 を足すと 0x323030 になる... という具合。) 試しに C++ の実装でそれをやってみたが、論理演算にしても、__builtin_ffsl を使ってテーブル参照にしてみても、実行時間にあんまり差が出ない (笑)。 でもやっぱり論理演算のほうが速いかな。

インクリメント処理に条件分岐を入れてみたらどうなるか、も結局目立つ差は確認できなかった。 繰り上がりがない時には補正用の演算が無駄っぽく感じるけど、分岐しないほうが都合が良いんだろう。

%2 にちようび

晴れ。 ひんやり。

F1 アメリカ GP スプリント。 スプリントシュートアウトは角田が SQ1 で時間切れで計測できずをやらかした。 リカルドが先に進んでいたところを見るとマシンは良いのだろうか。 と思ったが、スプリントレースを見たらリカルドはズルズル順位を落としていたな。 やっぱり決勝も厳しいだろうか。 ハミルトンが 3 番手スタートでドーンとルクレールを攻略して、そのまま 2 番手でフィニッシュ。 フェルスタッペンはトップスタートで余裕の勝利。 今回ピアストリがさえない走りだった。

車検が終わった。 バッテリーは交換推奨だが (笑) 他は特に問題なし。 何も言われなかったが、助手席のところの車検証入れの磁石が外れかけていたのを何か対策してくださった模様。 あとヒューズボックスのふたが外れていたとのこと (笑) 自分で ETC 車載器などを取り付けた関係で何かゆるんでいたかな、まぁいいけど。

ヤリスでも自宅駐車場の出し入れはだいぶ気を遣う。 iQ に慣れているので自分の内輪差の認識が怪しいところはあるんだけど、それでも、壁が近づいた時の警告音を鳴らさずに出し入れするのは無理じゃないかな。 警告音とともにカメラの映像を表示してくれるのは何とも親切であるが、後輪の段差についてはあまり頼れない感じがするので、ミラーを動かしまくって出発した。

やっぱりヤリスの 1L は加速が遅い。 そーっと走らせていると不満なところが見つからない車だが、アクセルをぐいっと踏み込むと、パワーのなさをカバーしようとする CVT の努力が... MT ならもっと不満に思わないかも知れないところはあるが、1L に MT の設定はないという。

テレビアニメ『呪術廻戦』。 37 話。 血の攻撃。 トイレを破壊するたたかい。 たたかいの最中に、敵の状況を説明するナレーション。 また主人公しんじゃった?

たまに思い出すレトロな音楽、CD があったよなーと思って探したら出てきた。 「二人は旅立ちます」、「パパとママへ」と表には書かれている。 裏と CD にはさらに「START」とある。 曲とカラオケの 2 トラックしかないのに 12 cm CD、つまりマキシシングルである。 作詞は岩元恭一、作曲・編曲が津村 彰、唄は元 俊行・児玉和子、となっている。 75th anniversary MADE BY YAMAKATAYA と表記があり、I01.T001 というコード番号みたいなのもある。 CD にも MADE BY YAMAKATAYA JAPAN という表記がある他、丸 P で 1992. と書かれている。 そう、1917 年に設立された山形屋の 75 周年記念の何かなのだった。 岩元恭一とは山形屋社主で、検索すると 2022 年に亡くなったというニュースが出てくる。 あとは児玉和子という名前で検索するとカラオケがヒットするのでどうも歌手のようだ。 それ以外のことは不明。 CDDB にもデータはないし、曲名で検索しても、歌詞で検索しても、音で検索しても何もヒットしない。 福武書店の非売品 CD、涙 2 (青春ヴァージョン) も同年なのに、いくらでも情報が見つかるしカラオケ (DAM) にも入っているというのに。 ま、全国区じゃないし枚数が全然違うんだろうけどね。 そもそも、何かで誰かからもらったんだったと思うが、どういう経緯だったかもすっかり忘れてしまった。

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


23 (月)

%1 げつようび

晴れ。

F1 アメリカ GP 決勝。 序盤にオコンとピアストリの接触があり、それでふたりとも短い間にリタイアしてしまったのは残念だった。 フェルスタッペンは 6 番手スタートからあげていっていたが、ハミルトンがすいすいオーバーテイクしていたのに比べて、フェルスタッペンはどうにも手こずっているように見えた。 するとブレーキの調子が悪いんだという無線の声が。 ほーん。 しかしさすがはチャンピオンマシン、ブレーキの調子が悪くてもやっぱりペースは速いのであった。 他車は近づけはしても歯が立たない。 角田とリカルドはやはりレースで苦労しているように見え、角田が 10 位近辺を走っていたが、ポイントは厳しいかな... って思っていたら、終盤にアロンソがトラブルでリタイアして、10 位が転がり込んできた。 さらにはピットインしてソフトタイヤで最終ラップにまさかのファステストラップ更新! いやー、確かに今日の展開では上位勢はファステストラップポイントを狙うピットインをすると順位を落としてしまう状況だったけど、最下位チームでこれを決めるとはね! 見事だった。 ファステストラップを取った日本人は中嶋悟・小林可夢偉以来 3 人目らしい。 ファステストラップポイントとしては日本人初だが、始まったのが最近 (2019 年) の話だからなw

そして、ハミルトンとルクレールがマシンの違反により失格という裁定が後から出て、角田は 8 位に! 引き続きアルファタウリのコンストラクターズポイントは最下位だけど、今後に向けてこれは大きいな。 そして、今年の F1 で唯一のアメリカ人ドライバーであるサージェントも 10 位入賞となった。 めでたい。

テレビアニメ『るろうに剣心 ―明治剣客浪漫譚―』2023 年版。 16 話。 何にも教えてもらえていない、らいじゅうたの弟子? そういえば前のアニメにもそんなような話あったっけ。 もうちょっと、なんか明るいところでのたたかいだった気がするけど。 この世で一番恐ろしい男の逆鱗。

テレビアニメ『葬送のフリーレン』。 7 話。 エルフは緩やかに絶滅? 銅像、フリーレン様に似ていますな。 まぞく、人食いの化け物、言葉を話す魔物。 角が生えている。

%2 Fizz Buzz for x86_64 Linux 高速版

20231023-v.s

ほとんど差は出ないといいつつ、少し見直して改良してみたところ、同じ 11 秒台でも半ばぐらいが出る頻度が上がった気がする。 なおバッファーサイズを倍にすると 10 秒台前半になるのは秘密。

今回の微修正は、主に、10 進数のインクリメントを行う部分。 マクロで展開しなくても、call にしても性能に差はないようなので、call にかえた。 そしていろいろ試してみて、今は、3 回分の足し算をサブルーチン inc3 で行う仕掛けにしてある。 インクリメントでは、桁上がりが絶対に起きない回というのが多いはず。 それを、test を使って最低限の識別を行い除外する。 0xf6 ずらした値の下位 2 ビットを見て、0 なら 3 回インクリメントしても桁上がりはない。 1 なら 3 回目に桁上がりがあるかも知れない。 2 なら 2 回目、3 なら 1 回目、とまぁそういう具合なので、その桁上がりがあるかも知れない回だけ補正を行う。 これは効果がありそうだ。 最初の test を、cmp にしたら、より多く除外することができるが、性能はほんのわずかに下がったように見えた。 たぶん、ビット演算のほうが待ち時間が短いんだろうと思っているが、もしかしたら、分岐予測に影響が出るのかも知れない。 そのへんはよくわからん。

今時の CPU はアウトオブオーダー実行という機能を持っていて、先の命令をどんどん読み込んでいって、もしそっちを先に処理できるなら済ませてしまおうという、そういうことをしている。 演算器の結果が出るまでには時間がかかるが、その結果が出る前にやれることはやってしまおう、とか、演算器のパイプラインに流し込んでしまおう、とか、そういう想像しがたいことが実現している。 そういう話を認識はしていても、いざアセンブリ言語で書くと、どうしても演算結果を使って何かするという処理が出てくるのでそこでストールするんじゃないかと心配になる。 しかし見た感じはビット演算系はたぶん演算器が別か何かで速い。 ビット演算は桁上がりの配線がいらない分シンプルだし、さらには今はビット操作の専用命令もあり、指定したビットだけ読み書きなんてことができるので、ああいうのはさらに効率が良いんじゃないだろうか。

ビット探索命令はやっぱりうまく使えなかった。 ビット探索って、たぶん一発で求める回路があるんだろうと思うので、加算器を使ってごちゃごちゃやるより速いはずだと思う。 ところが、全ビット 0 だと結果が未定義という縛りと、今回の 9 桁目の罠もあってそれを上手にいかす方法を思いついていない。 結果を cmp なんてやったらさ、そこで演算器を使っちゃうんだからね。

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


24 (火)

%1 Fizz Buzz for x86_64 Linux 高速版続き

20231024-v2.s

やっぱり 10 桁目は別枠扱いのほうが速いな、ってことがわかった。 インクリメントの改良でちまちま稼ぐのと違い、いきなり 0.3 秒ぐらい短縮した。 pv で見た時に後半やや失速する感じに見えていたのが解消した。

ちなみに、インクリメントから補正を全部取っ払って、ただの足し算だけにしても、実行時間はほとんど変わらなかった。 なので、様々な処理の中で吸収されているようだ。 なお、1 ずつ add (++) しては取り出すという方法で 3 回の足し算を繰り返すと、11 秒台の中で 0.1〜0.2 秒程度だが遅くなった。 やはり、次の計算のために前の計算を待つ必要があると、例え +1 であっても遅い、と。 まぁでもそんなもんなので、メモリーへのストアの改良のほうがきくってことだな。 なお、8 バイトのストアをわざと 4 バイトにしてみても、実行時間はたいして変わらなかったので、これは書き込みバイト数より回数がきいているか? キャッシュラインは 64 バイトのはずだから、4 バイトだろうが 8 バイトだろうが差がないというのも納得はできるけど、だから 9 バイトの書き込みはつらいのか。

20231024-n2.cc

一応 C++ 版も書き換えてみた。 微妙にアセンブリ言語版のほうが速いのがおもしろいけど、これ 7 バイトを 8 バイト書き込みにするのやっていないからそのせいだろうか?

%2 かようび

晴れ。 寒い日。

テレビアニメ『MF ゴースト』。 テレビアニメ『頭文字 D』から 25 年、コンピューターの進化とともにコンピューターグラフィックスもめちゃくちゃ進化したが、未だにタイヤスモークの表現はグランツーリスモ並に違和感あるし、カーブ脱出時の車のスライドが止まる動きはグランツーリスモ以上に違和感がある。 3 話。 予選終了。 ギリギリ... 予想通りの展開だ。 「ホルモン小田原」。

テレビアニメ『16bit センセーション ANOTHER LAYER』。 オープニング曲、中川翔子の、曲名が 65535 なのかw 3 話。 秋葉原... あそこの公園か? 昌平小学校の近くの? プール? 1996 年。 Windows 95、そんな頃だねぇw PUFFY でアジアの純真、そんな頃だねぇww 「Nifty のフォーラム」。 「パソコン工房 田中」。 キューハチブイエムくん。 時間貸し駐車場が「skky com」は 1996 年なのかな。 キューハチ (PC-98) でしかゲーム作らない!、まぁ当時中学生だった自分から見てもわからんでもない気がする。 アクションゲームじゃないなら別に何とかなっただろうけどね。 学校にあった FM TOWNS や FMV なんかを見ても、一太郎と 1-2-3 が使えればいいだけなら (一部外れ機種はあるとしても) 正直何でもよかった。 Windows 版なら各メーカーで使えたし、ソリティアも遊べた。 しかしアクションゲームとなるとね。 フルスクリーンでスクロールする 2 次元シューティングゲームみたいな、そういうのは 1996 年頃ならまだハードウェア直接制御、みたいな時代で、機種ごとの機能・性能がある程度わかっている PC-98 専用のほうが作りやすかっただろうな。

テレビアニメ『オーバーテイク!』。 3 話。 もてぎだ。 「三日月飲料」。 トップチームのチームオーダー。 スリップストリーム。 このアニメの車の動きは 1990 年代のビデオゲームみたいな感じかな。 あんなにタイヤ動かねぇし。 もてぎのバックストレートエンドの曲がり方もなんか変だった。

テレビドラマ『トクメイ! 警視庁特別会計係』。 2 話。 刑事の残業削減。 納豆クレープ。 「ソウルメート」。 「1 ミクロンもわかりません」。 ミクロンって久しぶりに聞いたな。

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


25 (水)

%1 Fizz Buzz for x86_64 Linux 高速版続き

20231025-v3.s

0xf6 ずらしを使わず、bswap も使わないバージョン。 実行時間はほとんど変わらない。

0xf6 ずらしをしなくても 0xf6 は現れる。 US-ASCII で 9 の次の :0 に持ち込むために 0xf6 を加算するので。 bswap も使わないため little endian の AMD64 では上位側に下の桁が来る状態のまま。 まず足す前に xor9 の位置を全部 0 にした上で、ビット探索命令 bsr を使って一番上の 1 のビット位置を特定する。 そのビット位置を 8 の倍数になるように減らし (2 進数で見たら切り捨て)、それを使って 0xf6f6...f701 という値を左にシフトする。 んでそれを元の値に足すと、1 足した結果が得られる。 という具合である。 全部 9 の時だけはこの処理ではうまくいかないので条件分岐にしている。

0xf6 ずらしと違い下位 2 ビットを見て加算を簡単にするというのはできないので、少し不利か。 でも実は補正処理の計算の数はこっちのほうが少ない。 ビット探索結果から足す数を生成するところがとてもスムーズだし、後で 0xc6 を引く (きのうのバージョンは符号反転して足し算にしているが) 処理もいらないのだからそれはそう。 まぁ、bswap を使わなくていいしこっちのほうが速いかな、なんて思ったが、全くそんな差は見えないところを見ると、やっぱりもうメモリー書き込みのほうがネックなんだな。

0xf6 ずらしの話がすごくないわけではなくて、あれは冷静に考えると +1 でなくても適用できるおもしろ話だ。 連続するビットを探索するのは本質じゃない。 1234 を 8 ビット単位で 0x01020304 みたいに表す unpacked BCD を使った場合に、これに 5678、つまり 0x05060708 を足す、みたいな話を考える。 0x01020304 に 0xf6f6f6f6 を足して、0xf7f8f9fa。 これに 0x05060708 を足して、0xfcff0102。 こんな感じで 9 をこえてしまった桁はまるで 0xf6 ずらしたのがなくなったかのように上位 4 ビットが 0 になり、キャリーは伝搬する。 ということは 0xf0f0f0f0 で論理積を実施すれば、0xf0f00000 になり、これを 4 ビット右シフトしたものと論理和を求めて 0xffff0000 になり、0xf6f6f6f6 との論理積で 0xf6f60000 になり、これをさっきの足し算結果から引けば 0x06090102 となって 6912 という答えが得られるわけだ。 8086 から続く x86 に存在する BCD 補正命令は、下位 4 ビットのみのキャリーフラグである補助キャリーフラグなるものを使っているが、8 ビットに 1 桁なら補助キャリーフラグがなくても何とかなるんだな、と。 (厳密には 5 ビットごとでもいけるんだろうがあまり用途がなく...)

%2 すいようび

晴れ。 寒い日。

【速報】東京・小金井市の2階建て住宅で火事 逃げ遅れていた1人を救助 | TBS NEWS DIG

このニュースを知らずにたまたま現場を通りがかってしまったが、最初に目にしたのは覆面パトカー。 なんかセダンが路上駐車しているな? と思いながら、合図を出してよけ始めた頃、セダンの屋根に赤色灯が出ていることに気づき、ほぇーパトカーか、何かあったんかな、と思ったらその先には消防車が何台かいて、まぁ手前だからいいやと曲がろうとした道は封鎖されていて、そこにも消防車がいた。 その交差点まで来て初めて大事なのに気づき、こりゃあ向こう側の道も無理かな、と即座に転回して反対側の道を使ったんだけど、これが正解。 その時に近くの駐車場にパトカーも赤色灯をつけたまま駐車していることに気づいた。 住宅密集地で道幅があまりなく、火事のあった住宅の前の道と、裏の別の住宅の前の道の両方を封鎖して、両側から救助と消火活動をしていた感じか。 すぐ近くの幼稚園の関係者も影響があったのではないだろうか。 整形外科から帰るときにはだいぶ撤収されていたものの、道の封鎖は続いており、パトカーもまだいたので、鎮火はしたけど現場検証が、みたいな感じだったのかな。 これからはまた乾燥する季節、火の元には気をつけよう。

ポッチが付いた「HHKB Studio」登場。マウス操作可能になり、メカニカルスイッチも初採用 - PC Watch

コンピューター業界では時々話題になる Happy Hacking Keyboard の新製品。 メカニカルスイッチでどう違うのか試し打ちをしたい、みたいなギーク達もいるみたいだけど、自分はもう写真だけでわかるレベルでこんなの使いこなせないので手を出す心配はないw キー配列もだめだし (1 の左に grave accent がない、Shift の下に Ctrl がない、テンキーがない、カーソルキーがない、ファンクションキーがない、etc.)、文字が読めない真っ黒なキーのデザインも好みじゃないし、スイッチがどうのこうの以前の問題。 (今使っている Realforce も黒で好みじゃないデザインだけどこれは中古なので... その前に買った新品 Realforce は白にしていた。あれは使ってみた結果配列がクソだったので売ったけど。)

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


26 (木)

%1 もくようび

晴れ。 寒い日。

東京ラーメンフェスタ 2023。 今年も駒沢オリンピック公園の例のやつ。 何やら体育館が工事中のようで雰囲気が違うが広場は変わらない。 去年と違い会場に柵もない。 今回は同級生がやっている店は別の店とのコラボで出店とのことで、珍しい豚骨醤油味だ。 ちょっと濃ゆく感じるというか、関東のラーメンっぽさが少しある。 このコラボはどちらの店でもやっていない豚骨醤油味でいくとのことだ。 なるほど。 若干自分の好みとはズレるかも。 指宿の鰹節のトッピングを入れると美味かった。

もうひとつ。 なんとカリフォルニアの日本ラーメン店が今回ラーメンフェスタに出ているとのことで。 店舗の住所や連絡先がまんまアメリカ合衆国で驚く。 サンディエゴらしい。 豚骨ラーメンだという。 30 枚限定の厚切りチャーシューも注文。 これがね、美味かった! 厚切りじゃないほうのチャーシューもとろとろだし。 さすがは海外進出クラス!

%2 80386/80486

例の FizzBuzz プログラム、意外と IA-32 向けに性能重視で書くのは難しそうだよな、なんてことを考えていたのだけど。 bswap 命令、なんだか新しい命令のような気がしていたが、なんと初めて登場したのは 80486 らしい。 マジか。 昔実家で使っていた Cx486DLC も対応していたんだろうか。 全然知らなかった。

そして、ビット操作系の命令、btbtsbsf など数種類があるが、これはなんと 80386 かららしい。 つまり IA-32 にはすべて存在するのだ。 へぇぇぇ。 きのうの xor から bsr っていうテクニックは 80386 でも通用するってわけだ。 もちろん、一度に 32 ビットしか扱えない分、64 ビットのようにはいかないけど、bswap の代わりをガリガリ書くよりはまだ期待ができそうな感じだ。 まぁ、今時のオペレーティングシステムはもはや 80386 に対応しておらず、浮動小数点コプロセッサなしの環境にも対応していないものがほとんどだ。 内蔵の浮動小数点ユニット搭載であれば、便利な 64 ビットデータ置き場になりうる。

さらにさらに。 80486/i486 といえば、キャッシュがついたのが大きな特徴だった。 自分の記憶では、write-through だったと。 Pentium 以降で write-back だと、そんな記憶だった。 ところが、Wikipedia を眺めていたら、ごく一部のモデルのみ i486 に write-back キャッシュがついたものがあったらしい。 えええぇぇ。

80486 や Pentium を DOS で使っていた頃のキャッシュ制御は謎だった。 何しろそのへんの知識が無かったし、Intel のソフトウェアデベロッパーズマニュアル (日本語版) のコピーを初めてゲットしたのもいつ頃だったっけな。 高校入学ぐらいの頃までにゲットしていたら、ニヤニヤしながらキャッシュ制御まわりをいじっていた可能性も微レ存。 ま、いいや。 なぜか当時の data sheet らしきものが検索すると出てきてだな、そこにはキャッシュ制御関連のピンがあるという説明がある。 CPU 自身が出力するキャッシュ禁止関連の信号の他に、CPU に入力される、キャッシュ無効化関連の信号、キャッシュ可能かどうかを示す信号、キャッシュフラッシュさせる信号などがあるらしい。 たぶんだけど、ビデオ RAM なんかはこれでキャッシュ禁止になるようにハードウェアが構成されていた、ってことなんだろうな。 Write-through ならキャッシュされていても問題ない場合もあっただろうけど、PC-98 には EGC という、ビデオ RAM のアクセスに介入するデバイスがついていたから、write-through でも困るんだよね。 今時は MTRR っていうレジスターでキャッシュ禁止のアドレス範囲が設定されているけどね、当時はなかったから。

キャッシュといえば、Cx486DLC はもともとキャッシュがない 80386 の置き換え用だったから、専用のデバイスドライバーでキャッシュを有効にしないといけなくて、いろんなパラメーターがあったのを覚えている。 しかし write-through キャッシュの i486DX2 から Pentium ODP に載せ替えた実家の PC-9821Ap2 の場合は、Pentium ODP のキャッシュはちゃんと write-back になっていたんだろうか? という疑問もある。 当時はなかなかアグレッシブなプロセッサ載せ替え手段があったもんだよな。 ファームウェアアップデートなんてなかったもんね。

i486 の data sheet らしきものには、test registers という記載がある。 なんじゃそりゃ? と今の Intel のマニュアルを見ると、(Pentium と?) i486 には TR3 から TR7 という test registers があったっぽい記載があった。 Test registers の MOV 命令は 80386 にもあったようだ。 ふぇぇぇ。 今は MSR に置き換わったらしい。

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


27 (金)

%1 きんようび

晴れ。 出社した。

朝、早めに行ったら、駐輪場があいていた。 とめて、松屋で朝食。 ごはんと半熟卵、を頼めばみそ汁は勝手に付いてくるw 240 円。

職場近くの東急ストアが移転してきれいな新築マンションのテナントに入っていた。 もう何か月も経つが今日初めて行ってみた。 弁当は普通のスーパーの弁当、値段も普通、店内は広々としていて人が多いわけでもなく快適な感じ。 QUICPay+ が使用できる。 オーケーストアだと値段はクソ安いんだが、店内は通路が狭くごちゃごちゃとしていて人が多い感じ。 移転前の東急ストアはだいぶ建物がボロくなっていたので、もうあの建物は建て替えるんだろうなぁ、という感じだが、そういえば駅の反対側にも東急ストアがあって、それもだいぶ建物がボロい。 どうするんだろうね。

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


28 (土)

%1 BBQ@つくば

バイクで調布 IC〜首都高〜谷田部 IC。 高井戸の渋滞、山手トンネルの混雑、中央環状線から三郷方面への合流までに何カ所か渋滞、三郷料金所手前の渋滞、など。 トンネルの中は暑くて外に出ると寒かったがまぁ。 つくば中央 IC に行ってみようかなーって軽く考えていたが、どんよりとした雲が見えてきて、路面が濡れていて、うっすらと水滴がスクリーンに着くようになって、空気もひんやりとして、これは雨が来るなと思って谷田部 IC で降りたところ、それ以上は降られずに済んだ。 ちょっと道を間違えつつ到着。

ひさびさバーベキュー。 前回参加は 2018 年。 その後 3 年間不開催。 昨年は不参加のため 5 年ぶり。 みんな元気そうでよかった。 つくばで子育て勢は受験絡みが悩ましい感じらしい。 高校のレベルが高いのと低いのにわかれちゃっている? それで中学受験を目指す、みたいな... 考えてみると鹿児島市なんか地方都市で公立高校もたくさんあって適度にレベルも分散していてけっこう恵まれているんだな。

帰りは谷田部 IC〜首都高〜新宿出口。 首都高は中央環状線が工事渋滞の情報を見て都心環状線を選択。 そして都心環状線を走っている時に 4 号線が工事渋滞の情報を知った。 どうも、6 号線あたりにいると 4 号線の情報は出ないんだな。 そういう意味わからん取捨選択は勘弁してほしい。 代々木からと出ていたが、代々木を過ぎたとたん、本当に進まない感じのひどい渋滞だった。 永福まで 25 分? フーン、というところで新宿でさっさと出て、適当に甲州街道に出て、そのまま一般道で帰った。

新宿出口からは左折・左折で、首都高の下まで行って右折が正解なのかな。 逆に行っちゃったから遠回りだったな。

%2 どようび

朝の東京は晴れており、つくばは昼頃から晴れており、そして夜に東京に戻ると晴れていたが、濡れたあとがあったのでどうも雨は降ったらしい。 つまりバイクで出かけていながら雨をほぼ回避できたというパターンだった。

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


29 (日)

%1 にちようび

朝は雨が降っていた。 あとは晴れ。

きのうのバーベキュー会場の駐車場は未舗装のスペースで、穴ぼこに水たまりができている有様だった。 400X はオフロード車ではないが、最低地上高は 150 mm あり、タイヤも大きいので、うっかり水たまりの上を通過しても何も起きない程度の走行性能はある。 前の NC750X みたいなバカデカトルクはないし、MT なのでクラッチを滑らせればさらに小さなトルクでゆっくり動ける。 しかし、そんな路面でサイドスタンドを使うとすごく傾いて不安になったw のでメインスタンドを使った。 つけていてよかった、メインスタンド。

最近、メインスタンドの立て方にやっと慣れてきた感じがする。 200 kg クラスのバイクはスタンドに単純に体重を載せても簡単にはあがらない。 GSR250S の時から、前後に揺すって勢いであげていたことが多かったけど、最近は方法を変えて、スタンドを踏み込みながら、左リアのグリップとハンドルの左グリップを両手で引っ張り上げるような、そんな感じで立てている。 手を使って足を強く押しつける感じ。 力のかけ方によってはバイクが傾くことがある。 そうならないように、うまいことバランス良く引っ張るのがポイントのようだ。 グラストラッカーのキックペダルを使ってみた時にも、うまくやらないとバイクが傾いてしまうというのがあったけど、自分は何となくそういう力感覚がうまく捉えられるタイプではないようなので、どこを押してどこを引っ張るか、考えて試行錯誤しないといけない。

HP の 3 万円ノートパソコン 14s-dk000、最近 Linux の無線 LAN のデバイスドライバーがパワーマネジメントが云々とカーネルに大量にログを残すようになったので、設定を調べて追加した:

$ cat /etc/NetworkManager/conf.d/a.conf 
[connection]
wifi.powersave = 2
# https://github.com/lwfinger/rtw88/issues/61

Ubuntu ではデフォルトでファイルがあってそれを書き換えるという話っぽいのだが、Debian GNU/Linux ではこの conf.d ディレクトリは空だったので、新規作成した。

F1 メキシコ GP 予選。 角田はパワーユニットとギヤボックスの交換のためグリッド降格があり最後尾スタートが確定らしい。 それで、チームメイトのリカルドを引っ張る役目を Q1 と Q2 でこなしていた。 リカルドは Q3 で 4 番手タイムをたたき出した。 今回はアルファタウリのマシンが合っているみたいだな。

テレビアニメ『呪術廻戦』。 38 話。 ういういと姉様とカラス。 24 fps の酔っぱらいじじい最速術師。 領域に対抗する。

テレビアニメ『葬送のフリーレン』。 8 話。 牢の中でもたたかえるんだな、このエルフ。 魔族つよし。

テレビアニメ『オーバーテイク!』。 4 話。 スポンサーの CM 動画が完成。 過去がちょっとずつ明かされていく。 主人公のフォトグラファーは震災の取材による影響が。 ドライバーのほうは父親がレース中に事故死。 フィクションでも、震災は実際の東日本大震災のことを指しているようなので、あれはやっぱりショックだったよなぁ。

テレビアニメ『16bit センセーション ANOTHER LAYER』。 4 話。 たまたまニコニコ動画で見つけた。 ABEMA より配信開始が早いようだ。 1996 年の続き。 雫 for Windows。 キューハチには戻れませんねって、それ PC-9821 だろ。 でも PC-9821 は 640x480 256 色いけたからな、確かに絵のレベルはそれまでとは違っただろう。 ラーメン屋「九州じゃん××」、あそこだなw 泊まり込み。 夏コミ。 未来の "PDA" に教えてもらった、キューハチの時代の終わり。 「コミケ」って言っているな。 1996 年時点で「コミケット」だけじゃなかったんだ。 "PDA" 乾電池で復活w このプログラマーだけ、未来をかいま見てしまっているなw

スーパーフォーミラ 2023 最終戦鈴鹿。 ABEMA 観戦。 2 連戦できのうの 1 戦目は大きなクラッシュがあり赤旗終了して 3 周分の結果が採用されたらしい。 それでポイント差ついちゃったからもう今日は宮田は無難に走ればチャンピオンだったんだけど、まぁ無難に 3 位でチャンピオンを決めた。 ローソンは今日はポールポジションスタートで結果は 2 位、ランキング 3 位。 ガスリーに続き、ルーキーでチャンピオン争いに加わっただけでもめちゃくちゃ優秀だけど、やっぱり、もてぎの失敗はもったいなかったな。

東京ラーメンフェスタの駒沢オリンピック公園、Google Maps でチェックしていると、昼間は「いつもより混んでいます」のグラフが上限に達していたw めっちゃ人多そうだw 夕方頃チェックしたところそれが落ち着いていたので、夜行ってみた。 やはり日曜の夜はみんな帰っちゃって平日夜並になっちゃうのである。 東京らしい人の動きだ。 なにわの金の鶏白湯、麺を口にした時にすこーし臭いがしたかな、という感じだが、あっさりスープはおいしくて飲み干してしまいそうだった。

バイクで世田谷通りから環八に出るルート。 まぁ悪くはないんだが... 帰りに、246 から環八に出るのではなく、246 で多摩川をこえるでもなく、手前のほうで右折して 40km/h 道路 (用賀中町通り) をするすると走っていったら、突き当たりの丁字路が世田谷通りで驚いた。 そりゃまぁ 40km/h なので環八みたいな流れではないけど、信号のサイクルが短いので、実はこっちのほうが早いんじゃないのという気分になった。

インフルエンザ 千葉 埼玉 神奈川 東京 茨城 群馬「注意報レベル」 | NHK

ニュースタイトルは「注意報レベル」でも、記事中の流行分布マップを見たら、明らかに調布・府中・三鷹・小金井・武蔵野・小平あたりが真っ赤っかなんだけど!? 整形外科の受付に出ていたあの感染者数の数字も納得だ。 というかこんなに細かく地域差が現れるんだ。

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


30 (月)

%1 休暇

晴れ。

昼前ぐらいに東京ラーメンフェスタへ。 道がこんでいた。 平日朝はそんなもんか。 国領で工事渋滞、環八通りが普通に渋滞、用賀中町通りは工事渋滞、... 片側交互通行に何カ所も遭遇したぞ... 京都ラーメン、本家 第一旭っていうところの醤油ラーメン、しょっぱかった...

帰りは 246 から二子玉川駅近くの橋を渡って多摩川沿いを帰るルート。 橋の上が渋滞。 多摩川沿いは比較的快適というパターンだった。 246 で多摩川を渡っちゃうと多摩川沿いの道に出るのが難しそうだしな、うまい解決策が見つからないな。

F1 メキシコシティ GP 決勝。 スタートでメキシコ人ドライバーのペレスが前に出そうになったが、3 台並んで 1 コーナーに入っていくのはあぶねーぞと思ったらクラッシュ、自走して戻れたがリタイア。 そこからたんたんと続くレース。 最後尾から追い上げる角田はマグヌッセンとのバトルでもしかしたらウィングを痛めたか、10 秒ものピットインをしてまた最後尾からの追い上げ。 またしばらくたんたんと続いていたが、マグヌッセンの、サスペンショントラブルではないかと思われる変な挙動によるクラッシュでセーフティカーからの赤旗中断。 角田はセーフティカー中にピットインをしなかったので、順位をあげた上に赤旗でタイヤ交換できてもうけもの。 ルクレールはペレスとの接触でウィングが壊れていたが、ピットインでも交換していなかったそれも赤旗で交換しただろう。 残り 35 周ぐらいあるのに、メルセデスやマクラーレンはミディアムタイヤを選択していた。 角田は 8 位を走行していたが、ピアストリとぶつかって最後尾近くに落ちた。 ハミルトンがサインツの後ろで我慢して我慢して 2 位にあがったのと対照的。 まぁ、7 回チャンピオンのメンタルは伊達じゃないね。 今回、赤旗から 35 周ぐらいをミディアムタイヤで走行した上、最後にファステストラップを出していたし。 角田は速さはあるんだけど、なんか一時期のグロージャンみたいな感じに見えなくもない。 リカルドは上手なレースで 7 位入賞。

テレビアニメ『MF ゴースト』。 4 話。 新品タイヤ。 トラクションコントロールをカットする。 江ノ電。 長谷駅。 主人公両親の思い出の写真スポットを探す。 安そうなファミリーレストランでは人がサーブしている。 現実世界から見ると、過去だw やじきた兄弟。 レースに出るガソリン車で店に来ている。 小柏カイさん解説、『頭文字 D』のあの人だ。 Ryo Takahashi のことは知っているがしゃべれないw 取材でイギリスに国際電話をかけまくり... 過去だww 霞ヶ浦ナンバー、湾岸ナンバー。 レーススタート。 ドリフトしてタイヤをあっためる。 まぁ、うん、カートに乗っているともうちょっとタイヤをあっためたいっていう時は確かにあるんだけど、そういう微調整ならあんな漫画みたいなドリフトはさせないなw 普通に負荷がかかれば温度はあがるからな。 ちょっと小回りするみたいな、そういうのでいい。

レンタルカート。 飯能。 3 回乗ってベストタイムは 35.333 秒。

%2

車検シールを貼った。 サイズが大きくなった、と説明されていた気がするけど実物を見てもよくわからない。 昔のどデカいシールに比べたら今のも小さい。 そして貼る位置が変わって、運転席側角に貼ることになっているので、適当にガラスのそのへんをティシューで拭き拭きしてから、貼った。 新しい IC 車検証はバイクで一足先に見ているのと同じようなものだが、コピーのほうはこんなんだったっけ? まぁいいか。

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

飯能に向かう途中にエンプティになってしまい、帰りに青梅インターチェンジの近くの給油所で入れようと思ったら、給油所が大混雑。 安いのか。 それで立川のモノレール下のところで給油したら 27 L 以上入った。 32 L タンクだからね、なかなか...

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


31 (火)

%1 かようび

晴れ時々曇り。 寒い日。

エアコンを 25 度自動でつけていたら午前中はちょっとひんやりする時もあったが、夕方頃はかなり快適だった。

スマートフォンの Pokemon Go は何度か起動中に止まる事象に遭遇しているんだけど、普通にアプリの再起動で復活しており、Google Play 開発者サービスの再起動をしないといけない状況には遭遇していない。 2 週間前に書いた事象はたまたまだったのか、それともあの時も Pokemon Go をそっと再起動すれば何とかなったのか、もはやわからない。 その Pokemon Go は今年もハロウィーンイベントがありまぁ不真面目に適当にやった。 何しろ道具箱が上限を 1400 ぐらい突破している状態で、1 日 1 回レイドバトルをしてジムのディスクを回すしか、ポケストップを回すミッションをこなせないのだけど、たまにしかレイドバトルをやらないので...

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


prev, this, next

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

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

Hideki EIRAKU