例によって首やら腕やら筋肉痛。 ヘッドで起きあがろうとした時には本当に痛いなと思ったが、起きあがってみると意外と楽で日常生活に支障はない。 筋肉痛になると猫背が悪化する感じはするw
足を怪我してから 4 週間。 先週頃はもう日常生活ではほぼ気にならない状態になっていた。 今も指の向きなどによって痛みが出るところはあるけど、直後の頃とは違い、普通に歩いたり、踏ん張ったりしても大丈夫になっている。 1 週間だと「普通に歩けるぐらい」と書いているが、普通に歩けるけど少し痛みがあるというか、違和感があるというか、靴が少し当たるから痛いというか、そんな感じだったのが、今は気にならない感じ。
PHSからスマホへおトクに機種変更|Y!mobile - 格安SIM・スマホはワイモバイルで
もたもたしていたらついに端末代まで 0 円になったらしい。 なんか総務省の値引き禁止のアレは関係ないのかな。 まぁ巻き取りだしな。 でも結局 Simply かな...
テレビでやってた映画『リメンバー・ミー』(原題: Coco)。2017 年のアメリカ映画。 日本語音声。 去年飛行機で見た時は英語音声に英語字幕だ。 そのときに自分の英語力不足により理解できていない部分が少々あったはずなのだが、半年の時間によってそんなことは気にならないくらいに記憶は曖昧になっていたw それでカットされている気配がないなと思ったら本編ノーカットか。 なるほど。
バックアップに用いている Debian GNU/Linux を起動してバックアップを開始しようとしたら、止まった。 何事かと思えばカーネル内でトラブルのようだ。2 回しか試していないけど百発百中。NILFS の書き込み後に発生する。 仕方がないので古いカーネルにしたら動いた。 しかしこれは困るぞ。 自宅サーバー PC では nilfs2 をまじめに使用していて、まだ再起動していなくて 4.19.0-6-686-pae だから動いているけど、再起動すると 4.19.0-8-686-pae になってもれなく起動しなくなるパターンだ。 間違いない。 とりあえず自宅サーバー PC からこのカーネルは消しておく必要があるな。 依存関係もあり linux-image-2.6-686 linux-image-4.19.0-8-686-pae linux-image-686-pae の 3 つのパッケージが消えることになったけど、仕方がない。 バックアップ用 PC で出たエラーはこれ:
[ 79.694233] NILFS version 2 loaded [ 79.829212] NILFS (dm-3): segctord starting. Construction interval = 5 second s, CP frequency < 30 seconds [ 84.217746] BUG: unable to handle kernel NULL pointer dereference at 00000000 000000a8 [ 84.217933] PGD 0 P4D 0 [ 84.218000] Oops: 0000 [#1] SMP NOPTI [ 84.218086] CPU: 0 PID: 1698 Comm: segctord Tainted: G OE 4.19. 0-8-amd64 #1 Debian 4.19.98-1 [ 84.218278] Hardware name: System manufacturer System Product Name/C60M1-I, B IOS 0305 08/07/2012 [ 84.218466] RIP: 0010:percpu_counter_add_batch+0x4/0x60 [ 84.218578] Code: 89 e6 89 c7 e8 9d 38 32 00 3b 05 cb 6d d4 00 72 d8 4c 89 ee 48 89 ef e8 6a 49 34 00 48 89 d8 5b 5d 41 5c 41 5d c3 41 54 55 53 <48> 8b 47 20 65 44 8b 20 49 63 ec 48 63 ca 48 01 f5 48 39 e9 7e 0a [ 84.218940] RSP: 0018:ffffb1f5408bbd20 EFLAGS: 00010006 [ 84.219049] RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000018 [ 84.219192] RDX: 0000000000000010 RSI: 0000000000000001 RDI: 0000000000000088 [ 84.219334] RBP: ffff9f44331515d0 R08: 0000000000000000 R09: ffff9f4433101d90 [ 84.219476] R10: 0000000000000230 R11: 0000000000000000 R12: 0000000000000000 [ 84.219618] R13: ffff9f4433151458 R14: ffff9f44331515c8 R15: fffffa2684b86f40 [ 84.219763] FS: 0000000000000000(0000) GS:ffff9f443b000000(0000) knlGS:00000 00000000000 [ 84.219925] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 84.220042] CR2: 00000000000000a8 CR3: 0000000138e6e000 CR4: 00000000000006f0 [ 84.220185] Call Trace: [ 84.220258] __test_set_page_writeback+0x37c/0x3f0 [ 84.220396] nilfs_segctor_do_construct+0x196b/0x2100 [nilfs2] [ 84.220547] nilfs_segctor_construct+0x1f5/0x2e0 [nilfs2] [ 84.220684] nilfs_segctor_thread+0x127/0x370 [nilfs2] [ 84.220819] ? nilfs_segctor_construct+0x2e0/0x2e0 [nilfs2] [ 84.220937] kthread+0x112/0x130 [ 84.221012] ? kthread_bind+0x30/0x30 [ 84.221097] ret_from_fork+0x22/0x40 [ 84.221178] Modules linked in: nilfs2 nls_ascii nls_cp437 vfat fat ext4 crc16 mbcache jbd2 fscrypto ecb crypto_simd cryptd glue_helper aes_x86_64 radeon snd_ hda_codec_via snd_hda_codec_generic snd_hda_intel snd_hda_codec ttm kvm_amd snd_ hda_core ccp rng_core drm_kms_helper snd_hwdep kvm snd_pcm drm snd_timer snd sou ndcore irqbypass eeepc_wmi efi_pstore asus_wmi sparse_keymap rfkill i2c_algo_bit evdev pcspkr k10temp efivars video wmi_bmof sp5100_tco sg pcc_cpufreq wmi acpi_ cpufreq button xfs libcrc32c crc32c_generic dm_mod sd_mod ohci_pci ohci_hcd ehci _pci ehci_hcd ahci usbcore libahci libata r8168(OE) i2c_piix4 scsi_mod usb_commo n [ 84.233463] CR2: 00000000000000a8 [ 84.237258] ---[ end trace 83dc72c5fb05231e ]--- [ 84.766344] RIP: 0010:percpu_counter_add_batch+0x4/0x60 [ 84.770151] Code: 89 e6 89 c7 e8 9d 38 32 00 3b 05 cb 6d d4 00 72 d8 4c 89 ee 48 89 ef e8 6a 49 34 00 48 89 d8 5b 5d 41 5c 41 5d c3 41 54 55 53 <48> 8b 47 20 65 44 8b 20 49 63 ec 48 63 ca 48 01 f5 48 39 e9 7e 0a [ 84.781894] RSP: 0018:ffffb1f5408bbd20 EFLAGS: 00010006 [ 84.785752] RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000018 [ 84.789598] RDX: 0000000000000010 RSI: 0000000000000001 RDI: 0000000000000088 [ 84.793346] RBP: ffff9f44331515d0 R08: 0000000000000000 R09: ffff9f4433101d90 [ 84.797015] R10: 0000000000000230 R11: 0000000000000000 R12: 0000000000000000 [ 84.800623] R13: ffff9f4433151458 R14: ffff9f44331515c8 R15: fffffa2684b86f40 [ 84.804238] FS: 0000000000000000(0000) GS:ffff9f443b000000(0000) knlGS:00000 00000000000 [ 84.807902] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 84.811601] CR2: 00000000000000a8 CR3: 0000000138e6e000 CR4: 00000000000006f0
さて... 何を調べればいいのやら。 とりあえず Ryzen PC で upstream kernel の 4.19 系列の最新版 4.19.105 をビルドして試してみた。 ら、だめだ。 ちょ。 マジか。 どうやら Debian のせいではないらしい。sync も umount もできなくなるので、遠隔では reboot -n -f で再起動するぐらいしか手がないのがつらいところ。
linux/kernel/git/stable/linux.git を git clone して試す。v4.19.68 は OK。v4.19.78 も OK。v4.19.88 はだめ。 ふーん、と検索していると一応 NILFS 関係者には報告されている問題らしいことがわかった。
これを信じると 4.19.83 まで OK で 4.19.84 はだめ、問題のコミットは d3b3c0a14615c495118acc4bdca23d53eea46ed2 でその一行目は "mm/filemap.c: don't initiate writeback if mapping has no dirty pages" である。 あんまり害がなさそうなコミットなんだけどコイツが原因らしい。 はーん。mm/filemap.c ってもしかしてカーネルモジュールじゃないのか。 それじゃあ一部のカーネルモジュールだけ別のバージョンから引っこ抜いて突っ込んで回避もできないのか。 ウーン。
整形外科→耳鼻科→薬局→弁当屋→自宅→弁当屋→自宅な一日。 朝晴れていたが乾いていなかったのでスクーターで出発。 耳鼻科はやや混雑気味。 花粉か。 春一番が吹き荒れる中、弁当屋に寄ってから帰宅した。
きのうの夜から腰が痛かったが一日経ってちょっとは良くなったかなという感じ。 たぶん筋肉痛が原因だ。 あと... 睡眠不足もあるかも知れない。 睡眠不足で筋肉痛の回復も遅れるのではないか。 まぁ合計睡眠時間はある程度確保しているつもりだが、夜中にトイレに起きてしまうのはやはり良くない。 やたらと夢を見るのも眠りが浅い証拠。
テレビドラマ『ゆるキャン△』、キャンプ慣れしてそうな主人公が備長炭着火に失敗するシーン。 まぁ確かに今までガスだったから初めてだったわけか。 大学の学園祭やらバーベキューやらで炭に火を付けるのは見たことがあるけど、空気送りまくって結構時間が掛かっていた気がする。 あれも備長炭だったかな、たぶん。
Raspberry Pi 用に公開されている Raspbian ディストリビューション、とても印象が悪い。 とりあえず動かしたのは一番容量の小さなイメージだが、何が嫌って、bash のプロンプトがカラーなのである。 こんなの Debian じゃない。
Debian との差異は Raspberry Pi 用の一部プロプライエタリソフトウェアの有無やら何やらのようだが、明らかに bash のプロンプトが違うではないか。 しかも新規ユーザー作っても違うんだからこれは /etc/skel/.bashrc が違っているわけで、つまり bash パッケージが別物ってことだ。 本当に?
a@raspberrypi:/tmp/hoge $ apt download bash Get:1 http://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian buster/main armhf bash armhf 5.0-4 [1,265 kB] Fetched 1,265 kB in 1s (1,188 kB/s) a@raspberrypi:/tmp/hoge $ ar x bash_5.0-4_armhf.deb a@raspberrypi:/tmp/hoge $ tar xf data.tar.xz a@raspberrypi:/tmp/hoge $ diff -r ./etc/skel/ /etc/skel/ diff -r ./etc/skel/.bashrc /etc/skel/.bashrc 46c46 < #force_color_prompt=yes --- > force_color_prompt=yes 60c60 < PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' --- > PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w \$\[\033[00m\] ' 82,84c82,84 < #alias grep='grep --color=auto' < #alias fgrep='fgrep --color=auto' < #alias egrep='egrep --color=auto' --- > alias grep='grep --color=auto' > alias fgrep='fgrep --color=auto' > alias egrep='egrep --color=auto'
なるほど、bash パッケージは変更されていなかった。 ただ単に誰かの気持ち悪い趣味の設定変更が元のイメージに入っているだけか。Raspbian でもいいけど、デフォルト設定がクソだから debootstrap からやり直したイメージを作りたいね。
よく寝た日。(何度も寝た日。)
スクーター、アドレス V100 の右後ろ下側のカウルを外してみた。 ねじ 2 本、ナンバーの近くのと、パッセンジャー用ステップの前のほうのねじをゆるめ、ナンバーの近くは手前に引っ張り、後は全体を後ろにずらしてから下に引く。 これを外すと、例のオートチョークヒーターの配線へのアクセスが多少良くなる。 しかし、この配線、オートチョーク側は多少余裕があるのだけど、電源側はまるで余裕がなく、切ったらやはり配線を延長しないことには仕方がなさそう。 それじゃあ接点掃除だけしておくか、と、KURE CRC 5-56 をぶっかけておいた。
さて、それで試運転をかねて少し走らせたのだが、チョーク (スターター) が戻っていない! 2 回ぐらい停まってコネクターまわりをいじった。 コネクターじゃない部分の接触不良、あるいは断線なのかな? 確かにオートチョークヒーターから生えている配線がぐいっと曲げられている感じなのはあまり良くはないよな...
大きなサイズの取り扱いがあると表に書かれているサカゼンという服屋さん。 ふらっと寄って大きい手袋ありますかと聞いてみたところ、「ゆったり目の手袋をお探しですか?」ってw ゆったり目の手袋に出会ってみたいよねw まぁなんかわざわざいくつかピックアップして頂いたけど、4L の毛糸の手袋がちょうどぴったりくらいのサイズだったのでそれだけ買った。 ミズノか何か、有名メーカー製のも出して頂いたが、それは指が細すぎて入らなかったw 大きいサイズが売りの店でもこの有様。 やはり本当に大きな手袋は製造すらされていないのだ...
図書館に行った。8086 の本を自動書庫から出してもらって、見てみた。 「8086 マイクロコンピュータ」田辺皓正 編著。 昭和 58 年 4 月、自分が 1 か月の頃の本。 活字活版印刷って感じの本。 命令のクロック数の一覧は、「PC-9801 マシン語ゲームグラフィックス」日高 徹 (著), 青山 学 (著) に近い。+EA で 7 or 8 みたいに微妙に省略されているし、AAA が間違って 4 クロックになっているのも同じ。 未定義命令や予約ビット等の詳細は明記されていない。 最後に具体的な搭載機が写真付きで紹介されていて胸が熱くなる。
もうひとつ、「8086 の使い方 (図解 16 ビットマイクロコンピュータ)」井出裕巳。 こちらは 1982 年 10 月、上の半年前の本。 フォントが「ザ・プロテクト II プログラム解読法入門」と同じような感じだ。 あんまり活字活版印刷っぽさはない。 本文中に「22kΩのプルアップ抵抗を挿入しなければならない」とか、「シンク電流 2mA および負荷容量 100pF までと規定」とか、なんか具体的な数字がちらほら登場するのが、ハードウェア屋さんには頼もしい感じかも知れない。 最後のほうに未来の話として、iAPX 286 やら iAPX 432 やら載っていて胸が熱くなる。 いや、まじめな話、80286 は 1982 年に発表はされていたようだが、搭載機が登場したのは 1984 年だそうで、この本が出た時には未来の話だったわけである。iAPX 432 も、1982 年当時はまだ現行製品だったわけで、失敗とは言えなかったのだろう。
前に借りたこともある「80x86/80x87 ファミリー・テクニカルハンドブック」Robert L. Hummel (著), 槌田 浩一 (訳)。 やはり未定義命令なんかも多少説明が載っているという点ではこの本が一番だ。 それでも間違いが多いのはいけてない。SETALC (SALC) が 80286 以降だとか、8086 のフラグレジスターの初期状態が F000h だとか、PUSH SP の挙動の説明の 8086 と 80286 以降が逆だとか、そういう間違いがちょろちょろある。REP の割り込みバグの対策方法も、この本以外に WWW でも見たけど皆間違っているんだよな。 アレはまず LOCK プリフィックスとセグメントオーバーライドプリフィックスを同時に使っちゃだめだ。 そして抜けた後にすることは JCXZ で正常時のスキップをし、次に LOOP で戻ることだ。
1: rep movsb %cs:(%si),%es:(%di) jcxz 2f loop 1b 2:
こうである... なぜなら割り込み発生後に MOVS 命令の 1 バイト手前に戻ってしまうので、この例では 1 回分の MOVS 命令を実行してしまい、その分の回数は減っていないので LOOP 命令で減らす必要がある。 ...あれ? ちょっと待った。8086/8088 だと REP のシングルステップ実行は残り 1 回で実行した後でもいったん REP に戻ってくるんだったな。 あれ? そうすると残り 1 回で実行後に割り込み発生するとこれだと REP なしで MOVS 命令を実行してしまうのでは? だめじゃん! 回避は不可能か!
寝間着に使っているジャージ (下)、ポケットに指一本入るくらいの穴が空いていたのだが、いや、もうちょっと大きくなっていたかな、いい加減補修するかと、見てみると、穴が空くというよりは、ポケットのふちを縫っている糸がほつれて取れてしまった感じだな。 なので単に縫えば OK。 手縫いの技術はないのでミシンにまかせるw
ついでにジーンズの穴があきかけている部分も適当に補修して、あとカードいれに使っている革の名刺入れみたいなやつも適当に補修した。 本当は返し縫いなんかちゃんとやったほうがいいんだけど、間隔狭い三重縫いにしたから別にいいかと...
花粉症じゃないけど、なんかいかにも花粉がたくさん飛んでいそうな感じがした日。 マスクをしていても、鼻の中がかゆいような気さえした。
バイクのキーシリンダーまわりに KURE CRC 5-56 をぶっかけつつぐりぐり回してみる作戦。 しかしこれ、鍵穴には入れないようにしているから、奥の接点まで 5-56 がたどり着けている気がしないな。 それよりも、ぐりぐり回すことで接点の汚れが多少取れる効果がありそうな気はする。
車の外気導入・内気循環切り替えダイヤルの修理。 ディーラーで見てもらったところ、ワイヤーが外れていたらしくて、それを付けなおしたら使えるようになったと。 ふーん、予想の範囲内w しかしこないだは何かが引っ掛かっていた感じで切り替えられなかったわけで、その原因は判明していない。 ワイヤーの先はエアコンユニットに隠蔽されているようで、そこを開けるのはエアコン業者 (って言ったかな...) じゃないとできないみたい。 まぁ、とりあえず使えるようになったので様子見。
自動車保険に日常生活賠償特約を追加してもらった。 東京都も 4 月から自転車保険加入を義務化するという話を最近になって知り、めったに乗らないけど追加しておこうかと。 自分の怪我は対象外、相手の怪我や物損は無制限。 自転車賠償特約ではないので自転車以外も対象。 つまり、例えばランニング中にうっかり電柱にぶつかって電柱を倒してしまったとしても、その電柱の修復費用は補償されるというわけだ!
暖かくなったおかげか、車のバッテリーは 5 日くらい置いたのに 12.4V 程度あり、エンジン始動直後も 11.8V くらいあって、充電制御も働いた。7 年目のバッテリーだけどまだまだいけるな!
Markdown から HTML に変換する cmark コマンド。 単に markdown のテキストファイルを指定すると HTML が出てくる。 それも <html> などのよけいなタグはいっさい含まれず、markdown の部分だけがシンプルに変換されて出てくる。 なるほど。
テーブル (表) は cmark では扱えないみたい。cmark-gfm コマンドに -e table オプションを付けるとテーブルが使えるようになる。 文字コードは UTF-8 なのかなと思うが EUC-JP を渡しても普通に動いているように見える... いや、link の title にひらがなを入れると急に link として認識されなくなるなぁ。 テーブルもか。 ふうん。
泌尿器科にかかっている件、あれだな、今朝は連続 4 時間くらい眠れたわけなんだけれども、トイレに起きて、そこで排尿がきっちりできていない、いわゆる残尿感があると、それでトイレに行きたい感じが出てしまって、そこからちょっと寝てはトイレに起きる羽目になっているのかもなー。
あと、あれだな、寝室の室温ももしかしたら関係あるかな。 今年は布団乾燥機のおかげもあって 15 度ぐらいあればまぁいいかと暖房を入れないで就寝している日も多いんだけど、もっと暖かくしてみるべきか。 昼間は職場は暖かいしな。
最近、整形外科に向かう途中、9 時開店のサンドラッグの前に 10〜15 人ぐらいの行列ができているのを 8 時 15 分頃でも見るんだけど、今朝は、店の目の前のバス停にとまっているバスを追い越した時にチラッと視界の隅に見えた行列が、いつもの倍ぐらいの長さに見えた。 花粉の飛散もピークだというし、マスクがほしくて並んでいるんだろうけど、たぶんあの人数いると全員は買えないんだろうし、毎日のように小一時間も外に並んでいたら花粉症じゃない人も花粉でおかしくなりそう。
朝は霧雨。 久しぶりに整形外科まで一駅分歩いた。 歩いている人が何となく普段より少し多いような気がした。 鉄道は平常通りだったのに。 やっぱり複々線区間まで歩いて混雑を避けたい人達かな。
夜は曇り。 久しぶりに一駅分歩いた。
なんか、いろいろ発見がありすぎて忘れかけてきたが、プリフェッチキューとクロックの話は結果としては割とわかりやすくできそうで、2+EA+4(Read)+5 みたいな形で整理していけそうなことがわかっているので、調べたいことは多々残っているものの難しくはなさそう。 それに対してフラグレジスターの話はうまくまとめられていないのがあるんだった。 TF, IF と POPF, IRET との関係のところ、その続きとさらに続き、我ながらいろいろとトリッキーなパターンを試していて、いろいろとわかったのだけどなかなかきれいにまとめるのが難しい。
ここ数日でダントツに寒い日。
今朝のサンドラッグ行列はさらに長かった。
健保組合の web サービスでポイントが溜まっていたのがあって、有効期限はいつだったかなと調べると来月で切れるのがあったので、交換することにした。Amazon ギフト券は Amazon を使っていないので役に立たず、前はマスクがあったような気もするがマスクはなく、まぁたいして高い品でもないものがずらずらと並んでいるのだが、体温計にしてみた。 体温計、オムロンのやつを持ってはいるんだけど、液晶が漏れているっぽいので。 交換を選んで進めていくと、翌月以降に発送みたいな表示が出て、おいおい... あと数日経っていたら 4 月以降だったのか...
話題の新型ウイルスについて、どうも我が国の政府はこれから 2 週間ほどが超重要と考えたみたいで、大規模イベントは控えてくれとか、学校を休みにしてくれとか、そういう話に加え、この季節恒例の確定申告でさえも期限を延長ということで、まぁ、確かに 2 週間、わからないでもないんだけど、学校が休みになって子供達はどうするか、どうだろうねぇ。 家でおとなしくしているだろうか? そもそも、子供を一人にしておけないという家だと、親戚の家にでも連れて行くのか、あるいは職場に連れて行くのか? 満員電車に乗って? えっ? そっちのほうが問題じゃね? みたいな... まぁでもここに来て気温が下がって乾燥しているのは、通常のウイルスも含めて、人間にとって良い話ではないとは思う。 今の状況で震災でも起きたらなんかどうにもならない気がするので、そうはならないように祈ろう。
何の変哲もないプレミアムフライデー。(早くも死語になりつつある。)
今朝のサンドラッグ行列、チラチラ見ながら雑に数えた感じでは 60 人ぐらい並んでいそうだった。 なおマツモトキヨシには行列はなく、扉は開いていたが営業時間前、ひょっとするとマスク入荷はありません的な張り紙でもあったかな。 あっ、そういえば最近はなんかトイレットペーパーの売り切れが発生しているらしくて、オイルショックの時と同じで供給に問題はないにもかかわらずということで、時代は繰り返すのね。 マスクは中国製も多いので (実際手元にあるやつは中国製だし) 供給が減って需要が増えると足りなくなるのは仕方がないところがあるが、トイレットペーパーは国内産だし単に需要が唐突に増えただけっぽくて、待ってりゃ近いうちに買えそう。
テレビでやってた映画『トイ・ストーリー』(原題: Toy Story)。1995 年のアメリカ映画。 おなじみのピクサーアニメーションだけどなんとなく人の絵などに古さを感じるような気がしないでもない。 続編の 3 のほうを先に見たので、人にバレないようにおもちゃがわいわいがやがややっている物語、という印象があったが、この最初の話は実は結構アグレッシブなニアミスが多数あり、さらには (子供とはいえ) 目の前で動くシーンまである。 まぁただちょっとアクシデント多すぎだな。
古すぎて Perl の警告がもりもり出るようになっている Tomsoft Diary System を独自のものに置き換えようと思って少しゴリゴリしていた。 本文を CommonMark で書く感じで雑に作ろうとしていて、出力を適当に GNU Awk やら sed やらで加工する感じで、一日分の処理ならすぐできたんだけど、更新チェックがあるのでそれは Makefile でやりたいなと思って GNU Make のマニュアルとにらめっこをしている。
2 月 29 日の土曜日は 1992 年以来だ。 どうでもいいけど。
PHS の家族割の主回線と副回線の入れ替えができないか、ワイモバイルショップに行って聞いてみたんだけど、調布はだめだな、小さすぎて混雑しすぎ。 多摩センターはほどよい感じ、で、PHS の主回線と副回線の入れ替えは今はもうできないとのこと。 即答だった。 はー。PHS の副回線は基本料金が 0 円なので、副回線を LTE に移行してしまうと、支払額が上がってしまうのだ。 そういうことなら暗証番号を再設定してもらった時に入れ替えてもらっておくんだった。
バイク点検予約のついでで売り場を眺めたのだけど、スズキはネイキッドはあんまりなくて、スポーツ系かツアラー系かスクーターか、そんな感じなのか。 大型二輪だとネイキッドは SV という V 型 2 気筒エンジンの車種くらいだと。 へー。 並列 (直列) 2 気筒でトルク重視のまったりバイクはスズキには 250cc クラスしかないのかな。
そしてバイクの FI エラーは今日も頻発。 点検に出している間も発生しそうだな。 ディーラーでは鍵の分解まではできないそうで、メインキー交換だと 1 万円くらいだと。(部品代か?) シートキーも合わせたければ両方交換で 2 万円。 ふうん。
define
〜endef
で複数行の変数を定義できる。
でも、それを関数として $(call 変数名)
で呼ぶと改行が消えてしまう。
これを $(eval $(call 変数名))
とすると改行までうまく展開されるらしい。
それと、関数だと $(1)
などで引数を得ることができるため、$ そのものを展開させたければ $$
とする必要がある。
なんだか独特な文法だけど、このへんを駆使すれば、ファイルを探索してそれを元に target と prerequisite を実行時に決めることができる。