/var/log/hdk.log

2018 年 2 月上旬


01 (木)

%1 また雪

朝は日も差していたが昼には雨になり、夜にはみぞれ? みたいになって、またしんしんと積もり始めた。 雨のおかげで残っていた雪はだいぶとけたが、また積もるのか。 ウヒョー。

なお、今朝の武蔵野市某所:

1 2 3

ここは線路の高架化後に新たにできた道路で、高架下は駐車場等に利用されているため住民や商売人はおらず、反対側も新しい道路故ほとんどの家の裏側にあたるためおそらく住民が雪かきをする範囲になく、交通量は駐車場等の利用者の他は、周囲の一方通行・指定方向外進行禁止等の交通規制もあって一部の抜け道程度にしか使われておらず、高架化した線路の影になって日当たりも悪いという、好条件 (?) がそろっているので、この前の雪から 10 日近く経ってもこの有様である。 今日の雨でどれだけとけたかわからないが、けっこう凍っているのであまりとけなかったかな? そして新たに雪が積もって、今度はいつまで残るのかw

今朝は、雪の日は避けたいと考える常連さんが整形外科に来ていたw

2018/02/01 のコメントを読む・書く


02 (金)

%1 休暇

のんびりした日。

今回の雪は積もるには積もったが、なくなるのも早かった。 車には少し今朝までに積もったのが残っているが、道路のほうは夕方頃の時点でむしろきのうよりも雪が減っている気さえする。 気温はこのあたりは氷点下にはならなかったみたいで (気象庁アメダスのデータでは最低気温 0.0 度)、氷点下が続いた先月とはだいぶ違うのかも知れない。

なお、せっかくの休暇なので飯能にでも行こうかと思っていたけど、飯能のカート場は雪で休業だw あちらは足首より少し上あたりまで積もったそうで、やはり気温の違いか。 気象庁アメダスは飯能のデータは降水量しか無いのでわからないんだけど、代わりに秩父を見ると、先月の 22・23 日の積雪量は 17cm, 今日もピークは 17cm で同じくらいのようだ。 東京だと先月は 23cm までいっているから、先月はすごかったけど今回はそうでもなかったな、みたいな感覚だけど、埼玉の山間部の人達にとっては先月も今回も同じくらいの認識なのかも。

そういえば、エアコンのエアフィルターの掃除をまだしていないんだった。 リビングのほうは CS-EX287C なので機械が勝手に掃除してくれている。 寝室のほうが使用頻度は高いが、ケチって CS-J287C にしたので掃除はしてくれない。 ふと、両者のエアフィルターに互換性があれば入れ替えればいいな、と思ったんだけど、さすがに互換性はないみたいだ。 なお、CS-J287C のエアフィルターは万一破損した場合として ACRD00-00180 という品番が説明書に載っていて、750 円程度で買えるんだけど、CS-EX287C のほうは品番が説明書に載っていない。 お掃除機能付きでもたまには清掃したほうがいいですと取り付け業者の人は言っていたが、部品注文できないんじゃあなかなか気が進まないな。

ようてんさんの (最新なのかわからないけど PS4 の) モンスターハンターというゲームのプレイ動画のライブを見ていて、なんか、絵はきれいなんだけど基本的なゲームの作りとしては今でも 1990 年代と大差ないのかなと思った。1990 年代というのは例えば N64 のゼルダの伝説みたいな、当然グラフィックスのクオリティは全然違うんだけど。 背中にしょった大きな薙刀みたいなやつが、しれっと地面に食い込んだり、そのすぐ近くに小さな仲間キャラが寄ってきたりするし (一見すると危ない怪我するぞと言いたくなるような動き)、モンスターの下に潜り込んだ時にはカメラがモンスターの内側に入り込んでモンスターが透明になるような、まぁアクションゲームなのでこれはそうしないとしょうがないかも (カメラの位置に制約をかけるとアクションの操作性に影響があるのかも) 知れないけど。

%2 ふとん

先週あたりだったか、最近ふとんが小さくなって足がはみ出すんだよなーみたいな感じになっていた。 ふとんカバーの端っこに隙間ができていて。 はたいてもなおらないし、変だなーと思っていたが、ふとんカバーのファスナーを開けてみると、ふとんの端っこが折りたたまれていたw

なお、無計画に 8 月に買った羽毛布団で、軽くて快適。

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


03 (土)

%1 バイク

雪も解けたので、バイクを出して、秋葉原に行く。 新宿近辺の車の数がまだちょっと少ない感じがした。 時間が少し早かったせいかも知れない。1 時間くらいで着いた。 四ツ谷から、皇居回って靖国通り・淡路町というところがやたら短時間に感じられるんだよな。 白バイがいっぱいいたからというわけではないだろうが。

前に見た時も思ったんだけど、秋葉原の信号無しの横断歩道の脇で待ちかまえる白バイが不気味だ。 人の数が多いので、車両としては通過のタイミングがなかなか難しいのだ。 まぁ、あからさまにぶっちぎった奴を狙っているに違いないとは思うけど、待っていたら白バイが突然サイレンを鳴らして、転回して中央通り方面へ何者かを追いかけていった。

地図を見ると一番早いのは竹橋あたり経由なのかなー。

%2 秋葉原

あきばお〜で「謎の SSD 128GB」が 3,999 円というのをアキバお買い得価格情報(2月1日〜3日調査) - AKIBA PC Hotline! で見ていたが、どこにあるんだ? と思いながら、ドライブレコーダーを眺めて、MDVR104FHD を手にとってレジに持っていったところで、謎の SSD を発見し、両方購入した。SSD は特に用途を決めているわけではないんだけど。

あきば食堂でめしって UDX 駐車場に戻ると、ビミョーに 1 時間を超えてて 300 円取られたw

%3 掃除

自宅駐車場の雪が解けて土汚れが浮いて汚かったのと、微妙に残った雪が滑りやすくてバイクの出し入れが危なかったので、水で流した。

%4 どようび

よく寝た日。

マリオカート 8 デラックスは 150cc を全部星 3 つまでやった。

テレビでやってた映画『ハッピーフライト』。 去年もやってたね。 そして来週は『本能寺ホテル』か。

2018/02/03 のコメントを読む・書く


04 (日)

%1 くるま

きのう買ったドライブレコーダー MDVR104FHD を付けた。 これ、めっちゃ軽くて (40g) 小さいので取り付けに苦労はしない。 配線の都合で (配線を隠す気がないので、邪魔にならないよう) 助手席側に付けた。 本当は USB 電源か、シガーソケットの分岐のやつを用意して、携帯端末の充電と同時にできるといいんだけどな。

上からぶら下げるのが想定されているらしく、適当に下に付けたので 180 度回転のオプションをセット。 それで試しに走ってみると、G センサーの感度がデフォルトの中では敏感すぎるらしく、いくつか何でもないところでイベント録画されていたので、感度は低に変えた。

画質はまぁ... ね... 5k 円でおつりが来るんだから、こんなものだろう。 最低限の機能は果たしていると思うけど、ナンバープレートや文字を読もうとすれば難しい場面もあるかも知れない。 以下のシーンで試しに信号機の横の文字が読めるかトリムしてみたが、まぁ漢字は何とか読めないこともない。

イベント録画の一部 拡大

そうそう、この手の安物ドライブレコーダーの内蔵バッテリーのトラブルというのが話題になったことがあった。 おそらく高温によるもので、引っ越し前なら駐車場の日当たりがよかったので不安があったが、今は日当たりが悪いのでその点は安心だw

自宅駐車場でドアミラーをたたんでの壁寄せに少し不安があるので、試しに駐車場にミラーを取り付けてみた。 役に立つか怪しいので、とりあえず、ダイソーにあった自転車用ミラーを。 まぁ、これでも無いよりいいかなと思うけど、難しいな。 ドアミラーやフェンダーミラーっていうのは自分の車両とともに移動するから見やすいのであって、壁やら何やらに固定したミラーを見ながら移動すると、位置に合わせて視点を変えていかなければならず、なかなか。

車のバッテリーはだいぶ劣化してきたと思うんだけど、2 週間置いて、始動時のバッテリー電圧が 12.0V 前後だった。 このくらいになると、始動直後の数秒間、アイドリング回転数が低くよたよたと不安定そうな感じになる。 これがキャブレターの車なら、しばらく乗ってなかったから調子悪いのかもな、くらいにしか思わないところだが、電子制御の燃料噴射装置を使う今時の車でこれは... もちろん冷えによるオイルの粘性などの違いも大きいのだろうけど、気温 8 度くらいはあったのにこれだから、やっぱりバッテリーのせいかと思っている。

2018/02/04 のコメントを読む・書く


05 (月)

%1 残雪

もうほとんど無い。 武蔵野市某所には少し残っているけど、二輪車で不安無く通れるくらいの幅の通り道はできている。

%2 でんき家計簿

旧居の頃の分も見られるが、月が進むにつれだんだんと見られない部分が増えてくる。

旧居の分 新居の分

30A 契約と 40A 契約で平均ってこんなに違うんだねぇっていう。 形は一緒だけど縦軸がね。

%3 ハッピーターン

何となくハッピーターンを買ってきたら、これ個包装が密封されていないんだな! しけらないように早く食べなければ... 美味い...

2018/02/05 のコメントを読む・書く


06 (火)

%1 ○| ̄|_

朝、優待でもらった甘口カレールウを消費するべくスロークッカーをセットして出勤!

夜、帰宅時にブラウン管ディスプレイが煌々と光っているのを見たのが最初の違和感。 また Windows PC が勝手にスリープから復帰したかな、でも画面が光っているのは復帰して間もないからかな、と思いながら、画面を見ると白い四角が出ていた。 あれ... これは... 経験上、Windows PC が正しく信号を出していない、のではなく... ディスプレイの電源が入ってから一度も信号が入力されていないことを示している... iiyama のディスプレイにしてからは、そういう挙動である。

そそくさとノート PC をあけて、自宅サーバー PC にログインし、uptime コマンドをたたく... 9:40 みたいな感じの数字を見て、9 分と勘違いし、ついさっき停電があったのかと。 それでスロークッカーを見るとスタートしていない表示、またつければいいかなと思っていた。 その後 last コマンドをたたくと... 10 時 13 分... あっ...

つまりスロークッカーは 1 時間だけ加熱した後、停電でスイッチが切れていたのだった。 当然冷たくなっている。 っていうか 1 時間ではまだ肉に火が通っていない。 火を通してもそもそも食えるかどうかも怪しいのだが、ものは試しで火にかけることにした。 土鍋のまま少し火にかけたが、すぐに圧力鍋に移し、圧をかけようかと思ったがルウが入っているのでまずいなと思ってそのまま強火で。 しばらくして焦げ臭い臭いで、そうだ、ルウ入れて強火はまずいんだった、と、火を弱めるも、すでに鍋底はかなり焦げ付いている。 さらに、スペアリブに火が通るか怪しいので、肉だけ取り出して電子レンジで 14 分くらい調理。 そんなに連続で電子レンジ (オーブンじゃないほう) 使ったの初めてだし、びっくりするくらい器が熱くなった。

結局、焦げ臭くて肉も硬いひどいカレーを食べて、いやそもそも 9 時間も常温で放置されたまだ赤い肉を再加熱して食って、腹を壊すおそれもあるんだけど、とりあえず食った。 大丈夫な可能性としては 1 時間あれば沸騰はしていたはずなので、それで初期の滅菌はできていたであろうというところ。 それしかない。

%2 自宅サーバー PC

で、いろいろやっている時に、ふと ntpd がちゃんと動いていないことに気づいた。ntpq -p で見ても .POOL. の行しか出てこず、サーバーにつなぎにいく気配がない。 いつからだろう。 それの原因調査に手こずること数十分。tcpdump まで見て、ひたすら INIT しか流れてこないことに絶望感を受けつつ、そういや Debian のアップグレードの時に /etc/ntp.conf.dpkg-dist ができていたなと、そっちと見比べて、サーバーをかえてみたり、抜けているのを追加しては試す。 結局、以下の行が抜けていたのが原因だったようだ。 じゃあアップグレード以来うまく動いていなかったってこと?

restrict source notrap nomodify noquery

さらに、Windows PC の時計の同期も間隔が長いことに気づいて、レジストリを再確認。MaxPollInterval と MinPollInterval がデフォルト値になっている? でもこれ 2 のべき乗らしいのだが、そんなの設定した記憶がない。 とりあえず、どちらも 5 (32 秒) にしておいた。 このためにわざわざ自宅 LAN に NTP サーバーをたててあるわけで、そのために ntp パッケージ側の ntp.conf の変更をそのまま受け入れるわけにいかず上の行の追加を忘れていたわけで。

そして、オーディオ出力が最初うまくいかないのは前からそうで、一度 pulseaudio -k して snd-hda-intel を model=asus-mode3 つけて再読込すればなおるはずが、とぎれとぎれの出力で様子がおかしい。 ノート PC で load-module module-udev-detect tsched=0 というのがあったので、同じ設定を /etc/pulse/default.pa に入れてみようかと思ったのだが、ふと、その上にある以下のようなコメントを発見。

### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
...

フーン、と思いながら、試しに load-module module-alsa-sink を入れてみたら、なおったよ! マジか、自動検出に失敗していただけだったのか! そういえば、前に一度 pulseaudio を外して alsa 出力を試したこともあったな。 なんか、pulseaudio って特に何もトラブルの起きない環境もあるんだけど (ウチでは Ubuntu を入れている AMD A10 環境がそう)、デフォルト設定だと何かとトラブルメイカーで、alsa なら動くのに、とイラッとさせられる作りな気がする。 なお、Chromium で音楽再生しながら ogg123 コマンドで単に再生しようとすると ogg123 コマンドがハングするみたいだが、-d pulse を付けておけば問題なく再生できるようだ。

%3 停電復活作業

2018/02/06 のコメントを読む・書く


07 (水)

%1 カレー

問題の、きのうのカレーは今朝も食べたが、体調は問題無かった。 良かった。

%2 短時間の暖房

引っ越して寝室とリビングが分離したおかげで、朝寝室を出ると寒いという事象が発生する。 それは仕方がないのだが、朝食を準備して食べている間の寒さ対策をどうするかという問題。 一応暖房用のガス栓があるので、ガスファンヒーターかガスストーブか、というのも考えてはみたが... なんで単純な構造のはずのガスストーブがガスファンヒーターより高価なの... 石油ストーブは灯油の取り扱いが面倒くさいしな。

電気の場合、洗面台・脱衣所には 600W のセラミックファンヒーターを置いてあるが、やっぱりその手の電気ヒーターは効率が悪い。 だって 600W だよ? それでほんの足下を温めるくらいしかできないんだよ? 1 時間動かせば 0.6kWh だよ? それならエアコンの暖房入れたって大差ないのでは?

というわけで、画期的な手っ取り早い作戦は、1 時間だけエアコンを付けるという方法かも。1kWh 使うとして、第 2 段階料金であれば 26 円 00 銭、第 3 段階料金 (300kWh 超) であれば 30 円 02 銭。30 日毎日 30 円使っても 900 円で、料金的にはリーズナブルだ。

だから、朝 1 時間のためにガスやら石油やらのストーブを使うというのは、もし電力会社にできるだけ金を払いたくないというのであればぴったりだが、別にそうでなければエアコンですませちゃえばいいんじゃね、という個人的な結論になった。

さて、きのうも朝 1 時間だけエアコンの暖房を入れたので、そのデータを見てみよう。

きのうの電気使用量グラフ (東京電力 でんき家計簿より)

朝 8:00-8:30 が 0.6kWh, 8:30-9:00 が 0.4kWh なので、平均で 0.5kWh ということかな? ん、待てよ? 合計になるんだっけ? まー合計しても 1.0kWh だな。 で、その後ろがスロークッカーの入っているところで、弱だから 120W のはずで、普段なら 0.1kWh くらいのところが 0.3kWh になっている。 そして 10 時過ぎに停電があって... あぁぁぁ ('A`)

2018/02/07 のコメントを読む・書く


08 (木)

%1 スマートフォンとスマートウォッチの充電トラブル

困っているわけでもないのでトラブルというほどのものではないが... 最近勝手に充電が終わってしまうスマートフォン ZenFone Max は、開発者オプションで、充電中ディスプレイをスリープしないみたいな設定をして、画面を表示したままにしてみているが、それだけでは関係無いみたいで、放っておいても朝になったら画面が消えている。 ぷにぷにとか、ポケモン GO とか、その手の画面を出しておけばずっと描画し続けてくれているタイプのアプリを動かしておくと、ちゃんとフル充電になるみたいなのだが、さすがにそのまま朝まで放置は試していない。

スマートウォッチ ZenWatch のほうは、最近のパターンは 99% とか 100% とかのところで充電中の画面上の表示が消える。 充電台のランプはついている。 前にもそんな風になったことがあって、そのときはがんがんバッテリーが減っていって困った気がするのだが、最近のパターンではそのままでバッテリーが減らない。 充電はしていないけど外部電源で動いていますと言わんばかりの挙動である。

で、ひょっとして温度が低すぎるのではないかと最近考えている。 旧居ではエアコンのきいた部屋のベッドの横で充電していたから、冬場でも 10 度を切るようなことはまずなかったはず。 しかし、今は暖房の効いていない部屋で充電しているので、早朝あたりはかなり低い温度になっていると思われる。ZenFone Max はバッテリー容量が大きいのに 1A 充電なので時間が掛かる。 それで充電が終わる前に何らかの温度条件を満たさなくなって充電中止、みたいな?

%2 UD0 命令

まさみさんは語りたいさんのツイート: "UD0の命令が更新されて変わってしまっている@最新のSDM 0F FF /r UD0 r32, r/m32 Some older processors decode the UD0 instruction without a ModR/M byte. じゃねーよ!"

...という話を見かけて、調べた。UD2 は無効命令例外を生成する 2 バイト命令で機械語は 0f 0b だ。UD1 は無効命令例外を生成する n バイト命令らしくて、ModR/M バイト付きの 0f b9 らしい。UD0 も ModR/M バイト付きの 0f ff ということになっているが、以前は違ったというのが今回の話。

検証するにはセグメントリミットのギリギリに命令を置いて実行してみればよい。ModR/M バイト、あるいは、その後ろの displacement が読まれようとすればセグメントリミットの違反になる。 さっそくテキトーにこしらえた検証プログラムは、こうだ。64bit 環境であっても 32bit でビルドする必要がある。

#include <stdio.h>
#include <stdint.h>
#include <asm/ldt.h>
#include <err.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/mman.h>
static int
modify_ldt (int func, struct user_desc *ptr,
            unsigned long bytecount)
{
        return syscall (__NR_modify_ldt, func, ptr, bytecount);
}
extern char testcode[];
asm(".align 4096;.space 4093;testcode:.space 3");
main(){
        struct user_desc ldt;
        ldt.base_addr=0;
        ldt.limit=(intptr_t)testcode>>12;
        ldt.seg_32bit=1;
        ldt.contents=2;
        ldt.read_exec_only=0;
        ldt.limit_in_pages=1;
        ldt.seg_not_present=0;
        ldt.entry_number=0;
        if(modify_ldt(1,&ldt,sizeof ldt))err(1,"modify_ldt");
        if(mprotect(testcode-4093,4096,PROT_READ|PROT_WRITE|PROT_EXEC))
                err(1,"mprotect");
        int a,b,c;
        if(scanf("%x %x %x",&a,&b,&c)!=3)err(1,"scanf");
        testcode[0]=a;
        testcode[1]=b;
        testcode[2]=c;
        asm volatile("ljmp $7,$testcode");
        return 0;
}

実行して 3 バイトの機械語の 16 進数をスペース区切りで標準入力に流し込めば、それがセグメントリミットギリギリに配置されて実行される。 命令コードとしては、以下のパターンで、プログラムが正常に機能することを確認の上で UD0 命令を試す。

で、手元のノート PC とサーバー PC、AMD PC でテストした。

というわけで、当然のことながら Intel のマニュアルは Intel 用なのだったw しかし、数年前のマニュアルには UD2 命令しか載っていなかったわけで、なんで 2 なのか奇妙なところではあったが、おそらく内部的には割り振られていたであろう 0 と 1 を、どうして今更載せることになったんだろう。 こんなの黙ってりゃわからないのにね。

2018/02/08 のコメントを読む・書く


09 (金)

%1 きのうのプログラム

実はセグメントリミットでなくてもページ不在を使ってテストできるのだった。 これなら短いし 64bit でもそのままコンパイルできる。Ryzen で試すとこんな感じ。

$ cat a.c
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
#include <sys/mman.h>
#include <err.h>
main(){
        uint8_t b[16384],*c=b-((intptr_t)b&4095)+8189;
        if(mprotect(c-4093,4096,PROT_READ|PROT_WRITE|PROT_EXEC)||
           mprotect(c+3,4096,PROT_NONE))err(1,"mprotect");
        if(scanf("%"SCNx8"%"SCNx8"%"SCNx8,c,c+1,c+2)!=3)err(1,"scanf");
        return((int(*)())c)();
}
$ cc a.c
a.c:6:1: warning: return type defaults to 'int' [-Wimplicit-int]
 main(){
 ^~~~
$ for i in '85 05 cc' '85 ff cc' '0f 0b cc' '0f b9 05' '0f ff 05'
> do echo $i|./a.out;done
Segmentation fault
Trace/breakpoint trap
Illegal instruction
Illegal instruction
Illegal instruction

%2 制服

男子生徒がスカート&リボンでもOK 千葉県の公立中学、LGBTに配慮した「男女とも自由に選べる制服」採用 - ねとらぼ

最近こんなニュースがあった。 自分が中学生の頃には、制服廃止したほうがいいのではとか、こういう選択式にすれば単純化できていいのではとか (そもそも、出身中学校はかつて男子は坊主みたいな髪型の指定があったんだけど、それは入学時点ですでに単純化されて男女共通の指定になっていた)、そういうことをぼんやりと考えたこともあったけど、現実になるとはね。 詰襟って「女の子が着用することは困難」とはあんまり思わないけど、ブレザーのほうが適してはいるだろうな。 「わたし、男子校出身です。」の椿姫彩菜 (現: 椿彩奈) も確か、制服を着ていなかったか何かだったし、選べるほうがベターではあるのだろうな。

%3 コナン

テレビでやってた映画『名探偵コナン ベイカー街の亡霊』。2002 年の邦画。

ゲーム機「コクーン」って、ソニーのハードディスクレコーダーを思い出す名前。 そのレコーダーの発表が映画の公開の 5 日前っていう。 関係があるのかどうかはわからない。 「シンドラーカンパニー」っていうのがまた、シンドラーエレベータを思い出す名前。 でも、シンドラーエレベータのエレベーターで発生した有名な高校生死亡事故は 2006 年だから、関係はないのだろう。 人工知能のノアズ・アークという名前は、Google 検索すると東京都府中市寿町の甲州街道沿いの 1K 賃貸物件が見つかって笑った。 旧約聖書のノアの方舟が由来らしい。

ゲームの世界に入り込まされてクリアを目指す物語、ホームズファンのコナンをホームズのいる世界に入り込ませるという、なかなかおもしろい設定だ。 まさか阿笠博士の小道具が使えるわけは無いと思ったが、起動まではしている風だったなw 仮想空間はどこか、電脳コイルのあっちの世界のようでもある。 あんなホラーじゃないけど。 ゲームオーバーは飛び降り時だけは体が傷を負う前になっていたのは映像上の配慮か。 少し疑問に思ったのは、あの蒸気機関車は加速を続けたままカーブを曲がってなぜ脱線しないのかということと、液体が衝撃吸収になるのかということ。 津波のがれきのように、液体の中にいても周囲のがれきにぶつかればただでは済まないのでは。

2018/02/09 のコメントを読む・書く


Powered by Tomsoft Diary System 1.7.4

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

トップ / 日記索引 / 日記 (2018 年 2 月上旬)

Hideki EIRAKU