Zinnia hacks tomorrow. (2020/9)

2020/09/01 (Tue)

_ 9月になった。 在宅は続いている。18:30が定時で、その直後に走ろうとするとすでに外は すっかり暗くなっている。なので自然と気温が下がって走りやすい。

_ そして今日は天気があまりよくないので気温が低い。ここ半月くらいは エアコンを常時稼働していたが久しぶりに夜はエアコン止めて作業している。 エアコンの連続稼働については、 こまめに止めるより動かしつづけた方が効率がよい、という話もあるようだけど、 効率・電気代もさることながら、回りものを常時動かしたときの寿命の関係の方が 気になっている。ミキサーとかミルじゃないんだから そんなに神経質にならんでいいのだろうか


2020/09/02 (Wed)

_ 今日はときどき強い雨が降っている。気温は低くない。

_ そして外がなんか騒がしい。そういえば 9月から近所でマンション建設が始まるとかで資料が届いていた。 この先1年くらいこのうるささと付き合うのか? と少々気分が沈む。 それにしてもいくらなんでも音がでかすぎる気がする。まるで自分が住んでいる 建物に直接何かをしているような… というところでようやく このマンションの外装工事をする予定も入っていたことを思い出した。 これはこれで、しばらくこの騒音が続くのかと思うと憂鬱な気持がありつつ、 まあ年単位ということはないので少々の辛抱だろう。

_ ビデオ会議の先にいる方々には、工事の音は聞こえているものの私の話す声が 聞きとりづらいというほどではないようだ。これも単一指向性マイクのおかげだろーか。


2020/09/04 (Fri)

_ にわか雨があったりでなかなか走るタイミングがつかめない。

_ そして平日日中はソバやうどんなどばかりなのでためには味の濃いものが 食べたくなって久しぶりにピザを頼んでみた。ここのところほとんど喰ってないものなので 腹を壊してしまったようだ。私はもうピザを気軽に喰える歳ではなくなったのだろう。 まあしょうがない


= 最近のKotlin

_ タイムラインとグラフの話はつづいている。グラフ+hoverについては、 Javasciptのハンドラでとれるeventオブジェクトを、 getEventProperties というメソッドでgraph2dのpropertiesに変換できるので、 それを使うことで実現可能であることがわかった。 ポップアップは自分で実装して、やりたいことはだいたいできてきたように思う。

_ Kotlinについてはnull安全の部分がいまひとつ馴染めない。その意味や強力さは 理解できているつもりなんだけど、 この書き方ではnullチェックしたことにならないの? みたいな違和感を覚える場面が多い。 MapのcontainsKeyした後でその値をひっぱってくるところとか

_ そしてMutableなコレクションをつかうと↑のような違和感を覚えることが 多い気がする。まだ分かっていないところが多いので、違和感の正体がMutableに 関連しているかどうかを理解していない気もするが。 これでも関数型言語については10年くらい付かず離れずの関係を続けているので、 Immutableなコレクションとfoldやmapなどなどを駆使してあれこれする、という 発想は可能ではあるつもりだ。そして最後の引数で指定するコールバックを ブロック的に (実際はlambdaだったらしい) 実装できることも知っているつもりだったので、foldで次に引き渡すやつをreturnで 返せばいいんだろ… とやってみたら不可解なコンパイルエラーが多発する。 return の型がUnitじゃないぜ、と言われるのだが、 foldのaccumulatorがUnitなわけないだろ、と意味不明だった。 Kotlin REPLでいろいろ試してみたところ、どうもreturnをするとその外側の メソッド (これの戻り値がUnitだった) に対するreturnとして扱われるらしい。 そういえばそんな話があったかもしれない。 Non-local returnというらしい。 lambdaはインライン化されており、ふつうにreturnと書くと外側のreturnとして 扱われるそうだ。local returnにしたければ @ をつけるラベルつきのreturnを 使うらしい。

_ Non-local return は、あれば便利な場面があるというのは分かるし、 local return も指定すれば可能なので選択できるのはよいことのような気がしないでもないが、 デフォルトでNon-local return というのはちょっと面喰うものがあった。 JavaプログラマがKotlinでつまづきがちなところ - Qiitaと、この方の一連の 投稿が参考になった。

_ そしてScope functions にも馴染めない。それぞれの目的や意味するところは 分かるんだが、名前 (let/with/run/apply/also) からその動きを即座に思い出すことができないという感じ。 このへんはネイティブの人なら感覚的に理解できるもんなのだろうか。 そして何事につけてもそうなのだろうけど、慣れなのかなー


= リラックスゆたぽん ほぐれる温蒸気 MEN 目もと用

_ ゆたぽんというやつは、もう10年以上から 馴染みがあって、家にもいくつかある。でそれの目もと用があると知ったので 半月くらい前から使いはじめている。蒸気が出るアイマスクの、 使い捨てのやつは以前よく使った。今でも使いたいと思うものの、 ランニングコストの高さがどうも…なので ゆたぽんなら繰り返し使えるしいいのでは! と思って導入。

_ ゆたぽんというやつは、小豆やセラミックが中に入っていて、電子レンジで 暖めることで暖かくなる。単に熱を持つだけでなく、 きちんと蒸気も発しているようだ。つける前に机の上などに置いておくと 蒸気が出ている様子がよくわかる。普段は湿気を吸収していて、暖めることで それを放出するのだろう。

_ ということで効果は使い捨てのホットアイマスクとほとんど変わらない。 ただ形状としてはアイマスクだけど、バンドがあるわけではないので 単に載せるだけだ。なので仰向けで使うことになる。 以前から繰り返し書いている通り私は仰向けで眠ることができないのだけど、 目元に何かが乗っている (たとえば腕とか) 状態であれば大丈夫なので、 ゆたぽんが乗っていれば大丈夫だった。 そして大抵の場合は自分でどける記憶もないまま寝ている。蒸気・温熱は 10分くらい続いているだろうか?

_ なお電子レンジで暖めた直後はかなり温度が高くなっており、 そのまま使うとあぶないよ! ということを示す「キケン!」の文字が一面に 出ている。そしてこれがなかなか消えない。消えるまで素直に待っていると 5分くらい経過していることになるので、そのときにはもうあまり暖かいとは言いがたい 状態になっているような… まあキケンの文字が全面からなくなる 必要はないらしいのだけど

_ そしてこれはゆたぽん全体に言えることなのだけど、洗うことができないので だんだん清潔とは言いがたい状態になってくる。使う直前に目薬をしており、それが どこかに残っていると赤い成分が付着してしまったりでなおさら気になる。 何かカバーして使うほかないかな?


= 干し網

_ 平日は毎朝コーヒーを作ってポットに詰めている。住居のゴミは10日〜二週間に 1回くらいしか捨てる必要がない程度の量なので、出枯らしになったコーヒー豆も そのくらいの期間ごみとして残ることになる。そのままゴミ袋に入れると湿気で 腐敗してしまうので乾かさないといけない。 当初はペーパーフィルターごと洗濯ハサミで挟んで外で干していたんだが、 ペーパーフィルターというやつはちょっと力がかかるだけでばらばらになってしまうし なにより台所から外に持ってゆくときにいろいろ汚してしまう危険性が高い。 台所を探ってみたところ 野田琺瑯のトレーが1つ余っていたのでそれに広げて乾かすようにした。 乾いたコーヒー豆は防臭効果もあるとかで?まあそれはそれで悪くないのだけど、 台所だと今の季節でも乾くまでにまる1日かかってしまう。

_ トレーに広げた状態で外で干せればいいんだが… ということで干し網が欲しくなってきた。干し網があればその手のものを乾かすためにも 勿論使えるし、干物を作ることもできるわけなので、単調な日中の食生活に アクセントを加えることができるかもしれない。干し芋なんて買ったら 高いし日持ちもしないけど、自作できればとてもよい。などなど。夢が広がる。


2020/09/07 (Mon)


= 台風9号・10号

_ どちらもとんでもない規模のやつだったようだが、 関東にはあまり影響がなかったようだ。 とはいえ今日はにわか雨もあるし、気温は低いはずなのに妙に蒸し暑い…


= 電波デジタル時計

_ 家で仕事をしていると時計はPCのものを使うことが多いのだけど なにぶん小さいし目立たないので、もうちょっと大きめのディジタル時計が 欲しくなってきた。温度計や湿度計がついたものもそれなりにあるようだし… ニトリに行ってみたら1000円しない価格で売られていたので買ってみた。

_ 電波時計の機能つき。私は時計を合わせるという操作をこの先の 人生でやりたくはないなあと思っているので電波時計は必須だ。 しかしなかなか電波を拾ってくれない。日中はだめかな? そして電池を交換するたびに時刻を忘れてくれるようなので、 自動合わせができなければ結局毎回セットしなおしだ。なんとか 安定運用できればいいんだが

_ なおバックライトはボタンを押して暫時点灯するというやつなので普段は バックライトが消灯した状態で文字盤を見ることになる。最近すっかりこの バックライトのない液晶の表示というものが見づらくなっているので どうかと思ったが、電子レンジの文字盤ほど見づらくはない。 とはいえどんどんコントラストの差が分からなくなってきているのは確かなようだ


= 3D立体快適マスクフレーム

_ 3Dプリンタを買ってマスクつくったりマスクの中にかぶせるものをつくったりする 予定が、いつまでも3Dプリンタを買う気配もなく進んでしまっており、 まあ世間にそういうの売っているのかも〜と思いながら1つ選んでみた。

_ すでに何度も書いた通り私は普通のマスクができない。鼻の頭に マスクの布が当たることが耐えられない。当たることそのものが耐えられないだけでなく、 「鼻の頭にマスクの布が当たる」などと書いている時点ですでに耐えがたい 苦痛を覚える。唯一つけられるマスクが快適ガードプロで、あの形状によって 鼻に接触することなく装着できるのがよい。 あとなんか眼鏡が曇りづらい気がする (そういう商品だからね)

_ とはいえ快適ガードプロはもう半年以上入手不能状態が継続しており、 とっくに家の在庫が尽きていて月単位で使い続けるというすでに それ自体が不潔でよくないとしか思えないような運用になっている。 好きで使いまわしているんじゃないんだよ、他の マスクが使えないんだからしょうがないでしょおおお!?!?!?!? と思うのだけど いくらなんでも自分が不快だ。ということでそこそこの強度を保ちつつ 口〜鼻のまわりを覆うカバー的なものを試してみたくなった。

_ このカバーは口〜鼻を覆うわけではなく 口〜顎を覆うものだったらしい。これは誤算だったね… まあその状態でも 適度な曲線を描くことで鼻に当てずに装着することはわりとできるようだ。 ただ快適ガードプロみたいに、どんな姿勢であっても接触しないというほどの 安定感はない。 見上げたり、見下ろしたり、後ろを振り向くような動作をすると、 やはりちょっと危うさを覚える。 とはいえまったく使えないはずだった普通のマスクが、ひとまず使えないこともない レベルになってくれているので、このアプローチでさらに頑張ればよいような気がする。 3Dプリンタがあれば自分に都合のよいようなカスタマイズもできるんだろうし

_ そしてやはり眼鏡がよく曇る気がする。快適ガードプロには それなりに効果があったんだなあと今更のように思い知った。


= 【髭アーカイブ2nd】Enjoy your life【2020 Re:build】 - YouTube

_ beatmaniaIIDXはもう年単位でやっていないし、 関節炎が悪化している今となっては再度やることもできないと思うけど、 今でもたまにやりたくなるときがあり、その、 beatmaniaIIDXをやりたいという気持と、Enjoy your life の Anotherをやりたいという 気持は、私の中ではかなりの範囲で一致している。 私のように6段〜7段をうろうろしているようなレベルでも、 そこそこ難しくて気持よく叩くことができる。そしてなによりBメロの ピアノとシンセのかけあいがすばらしい。そんな大好きなEnjoy your lifeが Rebuildされていて大変にうれしい。


= ヤマタエを愛する女 - YouTube

_ YouTubeのCMで割込まれてきたやつ。よくある無理矢理な展開を見せるドラマっぽい 演出に、よくある、中川家がやっている「地方企業のCM」みたいな脱力感あふれる 語りかけが続く、総じてよくある地方の出来の悪いCMっぽい見た目になっており、 しかしドラマパートの演者さんの演技がまずいわけでもないし… となんとなく 最後まで見て、そのシュールな世界に魅せられてしまい、 最後にフォーカスが切り替わるところなんかはとくに最高ではないか、 という気持になってしまった。


2020/09/08 (Tue)


= オムライス

_ オムライスというものを作ったことがなかった気がする。今日初めて作った。 私は料理が、下手でしょうがないということはないものの、 とりたてて上手というわけでもなく、そして見慣れない道具や 食材、などを伴うものはよくわからんという問題がある。 道具だと、たとえば電動泡立て器、ミキサーあたりになるとかなり苦手意識があり、 食材?と言っていいのか分からんが発酵を伴うものは自分にはかなりハードルが 高く感じられる。そしてオムライスの、あのライスを卵で包むやつが できる気がしないなあ… と思っていたんだが、レシピをいろいろ調べてみると、 スクランブルエッグ寸前の状態のオムレツを上から載せるだけ、 というものがあったので、これならなんとかなるかなあ?と思いやってみた。

_ オムライスの中に入れるライスはチキンライスということは理解しているものの、 鶏肉が入っているという発想がなかった。 チキンライスなのだから当たり前じゃねえかと後になって考えてみれば私だってそう思うんだけど、 どちらかというと一口大に切ったソーセージという印象がある(ナポリタンと 混同しているかもしれない)。ともあれ鶏肉を入れるらしい。 モモ肉だとさすがに脂が多すぎるだろう。かといってササミだと味気ないだろう。 ということで胸肉にしてみた。胸肉はでかいので全部使うのはむりだと思い、 最初は下味をつけてじっくり火を通し、スライスして大きい部分はステーキっぽくして食べることにした。 小さい部分はさらに細かく切ってチキンライスの具に。

_ チキンステーキ的なものは、先日妻に要望されて 梅しそスパゲッティを作ったときに余った 梅肉を使って梅醤油ソース的なものを作った。まあわりとおいしかったと思う。 そして胸肉は鳥はむを作るときに使うことが多いのでそのまま焼くということを ほとんどしたことがなかったのだが、最初に脂が出てきた後は、水分がかなり 出てくるようで、中に脂分がほとんどないように思える。 こんだけ水分があるのにしっとり焼くのはなかなか大変だ

_ 細かく切った胸肉と、炒めたたまねぎを合わせて、冷凍のミックスベジタブル的なものを加えた後に 御飯を入れて味を整えて、バター入れて混ぜて、ケチャップをたくさん入れて チキンライスができた。個人的にはもうちょっと甘い方が好みなのだが まあまあおいしいものができた。そして形を整えて皿に載せて、 スクランブルエッグ直前のオムレツを作って載せた。 この工程なら私でもなんとかなりそうだ。ただ胸肉にゆっくり熱を入れるために 30分以上かかっているので全体で1時間くらいかかってしまった。 あらかじめ低温調理器で火を通しておいたほうがよかったかもしれない


= 在宅生活で便利に使っているものなどのまとめ

_ 3月末から在宅生活に入り、それ以降ほぼ出社せずに 家で仕事をするようになっているので、生活と仕事にとって便利だと思ったものや、 そうでもなかったものなどをまとめておいたほうがよいと感じたのでまとめる。

_ まず便利に使っているものたち。 VESAマウンタにつけられるノートPC用スタンドBRAVIA KJ-32W730CRealforce 91UBKと、 ELECOM HUGEなどのおかげで 会社の環境とほぼ同じ使用感のデュアルモニタ環境ができている。 ELECOM U2SW-T4HDMIセレクタは、仕事をするためには 必要ではないが、家にある機器をいろいろつなぎかえる手間が省けて大変便利。

_ ビデオ会議の環境は、20年近く前に買った UA-3Dが意外な活躍を見せている。 これにAudio Technica AT-X11を接続して 使っている。AT-X11にはウインドシールドをつけて使っている。20〜30cmくらい 離れていてもきちんと音を拾ってくれるので、無理に近くまで持ってこなくても 大丈夫のようだ。AT-X11はYAZAWAの「どっちもクリップ」というやつが ちょうどよくマイクをホールドしてくれているのでそれを使っている。

_ 音は Muslady ミニステレオオーディオミキサー 4チャンネルBluetooth入力つきアンプ経由で 以前組み立てたスピーカーをつなげている。

_ 作業環境について。バランスボールは、 それ自体は悪くないので今でも使っているんだが、どうも首〜肩の負担が大きいようで あまり長時間集中できない。なので午前だけ使うようにしている。 午後は、ずっと前に事務所内の会議机で使うつもりで買ったIKEAの安い組み立て椅子を 使っている。そんなに座り心地は悪くない。 板を渡して作った机も大変に便利だ。 このままだとフトンが敷けないので毎日どける必要があるが、これによって 毎日フトンを畳んで、机を片付けないといけなくなるので、部屋を乱雑にしがちな 私にはかえってよいのだろうと思っている。 IKEAの長机には台所収納向け伸縮式台? を置いた。 まだ整頓ができているとは言いがたいが、ひとまず物を収めることができるので あちこちに散らばらずに済んでいる。

_ すだれは早目に導入してよかった。 日差しをかなり抑えられるし、小雨程度なら洗濯物が濡れない程度に カバーしてくれる。 モダンデコ SUNRIZE DCモーター扇風機 FAH01-GYもひきつづき大活躍している。 エアコンの設定温度をかなり高目(29度とか) にしていても、 この扇風機の温度センサーモードを使えば寝苦しくない程度に風を送ってくれるし、 日中の空気の循環や、部屋干しの洗濯物を乾かすときなどにも使える。 服を吊るすための収納を2つ買った。いずれも便利。 小さいほうは移動も簡単なので非常によい。

_ 台所。キャスターつきの棚が便利。あと、流し台に渡すことができる台?も便利。 簡易的な水切り台としても使えるので、ここで軽く乾かしてから、 ちょっと離れたところにある水切りカゴに入れておくと水滴をあちこちに飛ばさなくて 済むし、住居スペースは食器が少ないので食器棚や戸棚がなくてもこれで 十分運用できる。また細長いものを挿すことができるちょっとした収納もあるので、 箸・スプーンくらいであればそこに挿しておけば十分だ。 棚も台もニトリで1000円そこそこもののなのに満足度がかなり高い。

_ フロ・トイレ。 手動式シャワートイレは、 今でもフル活用している。今後も尻は甘やかしてゆく方向だ。 住居スペースはフロ・トイレがいっしょになっていることもあり床に何か置くことが できない。そして収納が極端に少ないので、 シャワーホルダーに収納を追加するような製品を活用している。 上段は詰めかえ そのままたちを ひっかけて、下段はシャンプーボトルなどをおさめる篭つきのもの。 そしてトイレの側面にあるタオルバーに載せることで棚として使えるやつを 載せている。 これでも収納は全然足りないので台所の下の棚や、玄関に突っ張り式の棚を 設置してその中、などを使わざるを得ない状態だ。 なお、フロ・トイレが一緒になっているタイプはいろいろ悪い話も聞いていたが、 そんなに悪いことばかりでもない気がする。床に物が置けないのは、置けば 乱雑になるからかえって置けないほうがよいとも言えるし、床面はシャワーで お湯流せば簡単な掃除ができてしまうなど。カビやすいという話も聞いているが 今のところ(1年半くらい?) は、換気扇をこまめにやっているおかげか、 大丈夫みたい。

_ ここ2ヶ月くらいはジョギングが楽しいフェーズに入っているので DDRはほとんどやっていない。 しかし飽きたわけではないので、 この先寒くなったり雨がちな季節になればまた復活する予定。 なおMIZUNO MAXIMIZER 22は近所の親水公園を往復することで順調に磨り減っている。 ネックゲーターも大活躍だ。

_ 食生活。朝はミューズリと豆乳、 昼はうまいたれと、味噌汁の具その2を中心にした麺類、腹が減ったら COMP、という生活がだいぶ安定している。 ルイボスティは、当時は苦手だったはずなのだが、 最近は午前中にこれを飲まないと落着かない感じがする。 夕方〜夜に何か飲みたくなったときはワイルドストロベリーにしている。 コーヒーは朝めしを喰いながら作ってポットに詰めている。 だいたい飲むのは昼〜夕方だけど、まだ熱いままなので極めて便利。

_ 以下は、買ってみたもののあまり活用できていないもの。 猫背矯正ベルトは、姿勢の矯正にはなるんだろうが 血流が妨げられることに対する苦痛の方が大きくて今は使っていない。 あまり長時間座りつづけず、休憩をとって2lのペットボトル(水入り)を 振り回すという運動を心掛けており、そっちでかなり肩〜首の痛みは軽減されているように思う。 ARTURIA BeatStepも、せっかく 買ったのに使っていない。ただこれは今のところ使っていないだけで、 今後は使ってゆくつもりだ。 Wii Fit Plusもここ一ヶ月くらい やっていない。まずWiiを起動するのが億劫なのと、あと手足を伸ばして あれこれするためのスペースを確保できないというのが理由だ。


2020/09/11 (Fri)

_ 気温が上がっても焼き尽くされそうな暑さではなく、 確実に秋が近付いているなあという感じがする。 来週は、高い日でも30度前後らしい。

_ 先週末くらいからなんだか気分が滅入る話が多くてその期待を裏切らず 気分が滅入っている。自粛疲れ?もあるのかな? ないかな?


2020/09/13 (Sun)

_ 週末は雨がちだ。そしてわりと涼しい。 そろそろエアコン漬けの日々から脱することができるかもしれない。


= 今日のRasPi

_ 先日書いた、 RasPiにつなげたBluetoothアダプタにaudio sinkをやらせて… というのを ようやく取り組んだ。デバイスはその日のうちに買ったのに、1ヶ月近くも 放置しておくのは我ながらどうしようもないと思う

_ あちこちにドキュメントがあるのでそれを元に設定してみたところ、 とくに難しいこともなくスマホの音を出すことができるようになった。 その過程でPluseAudioを入れたので、ついでにdynabookの音をPluseAudio経由で RasPiのI2Sから出す設定もした。これもあちこちにドキュメントがあるので さほど詰まることもなくできた。 HDMI経由だと表示しているとき以外は音が出ないのでそれよりは随分便利になった。

_ 「Muslady ミニステレオオーディオミキサー 4チャンネル」に Echo Input、UA-3D (ノートPCに接続)、 RasPiのI2S (Bluetooth入力やPulseAudioのリモート入力、などなどなど)、 BRAVIA (HDMI経由の出力) を接続したので、 これでBluetooth入力つきアンプをLINE入力にすることで切り替えなしで同時に 鳴らすことができるようになった。大変によい。もはやBluetooth入力も USBオーディオとしての利用もしない「Bluetooth入力つきアンプ」はただの アンプでしかないが、切り替えを減らす努力をすればいずれこうなるので仕方ない


_ 外はかなり涼しい。一方室内は湿度がかなり高くて蒸し暑く感じる。 26℃77%はわりと不快なカテゴリーに入るようだ。


= リモコン基板

_ RasPiやRasPiZeroのサイズに合わせた基板が売られており収まりもよく 電源供給もできてよい気がする一方で、40pin全部持ってゆかれてしまうのは ちょっと考えものな気がしている。その部分だけ 信号線を別にひっぱってくることを考えてもよいんだが、 ピンアサインを見てみると、普段UARTやI2Sで使っているピンをわりと 使っているみたいなので、結局同時に利用するのはむずかしいのかもしれない。 そう考えるとUSBで外付けにしてしまってもそれまでな気がしている。 I2Sは今更外付けのを買う気はないので配線はそのままにしておきたいし… ピンアサインなどを自由にしたければ自分で基板作ってもそれまでだが、 本格的に運用するものを自作の基板で…というのはあまりやりたくない気分だ。 I2Sの基板も自作といえば自作だが、ずっとつけっぱなしというわけではないしなあ


2020/09/14 (Mon)

_ 今日はなかなかエアコンが効かない&部屋が明るいなと思ったら すだれをぶら下げている突っ張り棒が落ちてしまっていた。 昨年も1回落ちたことがあったので、 とゴムシートと両面テープを用意していたのだけど、それらを使わずに 仮止めした段階でわりとしっかり固定できていたようで、それっきり 数ヶ月安定していた結果落ちたらしい。あらためてゴムシートと両面テープで 強化を試みた。これで長持ちしてくれればいいのだが


2020/09/15 (Tue)

_ 日中はそこそこ日差しが強かったものの先月のような焦がされる感じはほとんどない。

_ そして住居スペースはやはり保温性能が高いようで、外気温が25℃くらいまで 下がっている状態でできるだけ外の空気を積極的に取り入れようとしているのに 室温がプラス2℃くらいで安定してしまう。さすがに寝ている 最中も窓開けっぱなしというわけにはいかないので閉めると 室内に残っていた熱が復活してきてわりと寝苦しい。


= おかいもの

_ RasPiを本格的に使うようになるといろいろと装備が必要になり、 その代表的なものとしてはケーブルを抜き挿しせずとも電源を再投入できるような 仕掛のあれだろう。でもUSB延長ケーブルにスイッチがついたようなやつは かなりパワーをもって行かれてしまうようでRasPiのような大飯喰らいには厳しい。

_ などと考えながら電気屋でスイッチつきのUSBハブやらを調べた結果、 単にスイッチがついている電源タップでよいではないか、 という結論に落ち着いた。安いし。トラブルも少ないし。

_ あとニトリで折畳みのバケツを買った。夜ジョギングしてすぐに洗濯して干しても 夜中だとほとんど乾かないので翌朝に終わるようにタイマー仕掛けておくと、 汗まみれの服が一晩放置されることになるわけなので大変に不潔だ。なので 仕掛ける直前までバケツにワイドハイター入りの温水を張って、そこでしばらく 放置しておき、仕掛ける段になったらそのワイドハイター入りの温水ごと 洗濯機に入れて仕掛けておくという運用にしてみた。うまくいけばいいんだが


= 時刻合わせが合っていない話

_ PC、スマホ、そしてこないだ買った電波時計はいずれも時刻合わせの機能を持っているのだけど、 それぞれの示す時刻がぜんぜん合っていない。 ひとつだけ合っていないのなら多数決的に確定できるんだけど、なにしろばらばらだ。 数秒〜数十秒のずれがある。 時刻合わせの機能を備えている、時刻の合っていない時計というのは 混乱を増すばかりで何の意味もない。

_ と書きながら再度時計の様子を見てみたところ、 電波時計以外はわりと合っているような。時間をかけて同期が完了したのかしら? なお電波時計は室内ではまったく電波を拾ってくれないようだ。 ベランダに出すと拾ってくれるのだが…普段置いているところで 電波を拾ってくれなければこれはこれで意味がない。時刻を知るために 毎回ベランダに行くのは本末転倒で、それならPCとかの時計を見ることになるし、 それだとせっかく文字盤の大きいディジタルの時計を買った意味がいよいよない。 とても悲しい。

_ JJYについてはいろいろシミュレータが存在するし、リピータも売られている。 リピータは万単位なのでさすがに買えない。 シミュレータも1万弱するようなのでちょっと… 以前メモしたようなものなら 簡単なケーブル工作だけなのでさほどむずかしくないが…

_ 標準電波 JJY もどきを M5StickC の Ticker で生成する - Qiitaという記事の人が スイッチサイエンス等で委託販売をしているようで、これが一番手頃そうに見える。 M5StickCというのは…以前見掛けたことがあるような。 ESP32を搭載した小さいマイコンモジュールらしい。


2020/09/16 (Wed)


= 国勢調査

_ もう5年たったのか。 郵送されてきた封筒には国勢調査には回答の義務がありますという表現が。 こんな表現いままであったっけ? というか義務だったのか。 義務というからには違反した場合の罰則もあるんだろうか?

_ 総務省の統計法に関するページを見てみると、 報告 (回答) の拒否や虚偽の回答には50万以下の罰金らしい。 知らなかった


= 成城石井で買える「ロステ スナックサラミ」は良いぞ :: デイリーポータルZ

_ 近所の成城石井で買ってみた。たしかにおいしい。普通のサラミとは異なる 熟成された味わいがある。しかし私は普通のサラミのいかにも 普通なサラミな感じ(ひどい表現)も大好きなので、サラミとは別の食べ物という 感じで楽しんだ。


= 山形では子どもがサラミをおやつにして大人がライターで炙る?サラミにまつわる噂について嗅ぎまわる :: デイリーポータルZ

_ サラミは子供の頃から好きだったけど、 そういえば山形にいた頃はより身近な存在となっていたことを今更思い出した。 私は米沢に住んでいた期間が長かったので、高畠〜米沢あたりの精肉店?のサラミの、 端切れを詰めあわせたものをよく買って食べていた。

_ 私はサラミが大好きなのでカロリーのことを忘れて際限なく食べてしまうため、 普段から食べるようなことはしないように自分の中では禁じている。 好きだから離れてゆくのも愛の形だろう


2020/09/17 (Thu)


= 腰痛

_ 月曜のジョギング中にちょっと違和感があったり、 その翌日のジョギング後の部屋の片付け中に違和感があったり…しかし その痛みが永続するわけではなかったのだけど、 昨日になってわりとこのまま悪化したら動きがひどく制限されそうな痛みの予感が あったので運動などは省略して安静にしたり湿布貼ったりしている。 図書館に本が届いたので取りに行くついでに走りたいところだが、もう少し安静に していたほうがよいかもしれない。ここで悪化させて何日も動けないようになったら 困るしな


= USB赤外線リモコンアドバンス | Bit Trade One, LTD

_ いろいろ考えた結果これを買った。まずdynabookのLinuxでいろいろいじってみる。 GitHub - Drunkar/bto_ir_advanced_cmd: Bit Trade One IR Remocon ADVANCE tool for Linux. で 調べたり投げたりする。 -r / -s というのはモードとして読み取りを始める、 終えるということをするらしい。その間に記録されたものは -g で取得できる、 という流れのようだ。なのでこの一連の流れをスクリプトにして、 何かキーを押すまで記録するというものにして、身近のリモコンのデータを どんどんとってゆく。同じような機能なのに取得できる データの長さが変わったりするのは、押している時間の 長さの違いのせいなのかもしれない。

_ 取得したデータを送信することでだいたい期待通りに操作することができた。 わりと広範囲に信号が届くので、テーブルに置いた状態で部屋のあちこちにある 機械がきちんと反応してくれた。あとはこれをWebサーバにのせて スマホとかから操作したり、コマンドラインで操作したり、 タイマーを組み込んだり、センサーと連動させたりすることでより便利になる予定。

_ リモコンは送るばかりで状態の取得はできないので、期待する動作をさせるためには 確実に特定の状態にするための操作を挟むようなことを検討しないといけない。 たとえばBRAVIAの場合「入力切替」は↓↑ボタンで対象をカーソルで選ぶことが できるんだけど、カーソルが上下に循環するようになっているので、現在どこを 表示しているのかが分からないと期待する入力に切り替えることができない。 なのでいったん「地デジ」ボタンを押してから入力切替ボタンを押すことで、 カーソルの初期位置を確実に「地上デジタル」にすることができる。


= 今日のRasPi

_ RasPiでも.NET Core 3.1が使えるので入れてみた。もちろん動くんだが3B+では やはり遅い。ここで開発をするのは少々しんどいかもしれない。とはいえ 開発済のものを動かす分にはあまり問題ない…だろう。用途によるかもしれないが


= 今日のKotlin

_ せっかく少しいじったのでこの機会にKotlinを手に馴染ませてしまおうと思い Kotlin Koansに再度チャレンジしてみた。手元に落としてきてやることも できるらしい。なのでやってみたところ、Checkして合否が出るまで5秒くらいかかり、 これならWebでやってもあんまり変わらないような…

_ Kotlinは決して悪くない言語だと思うものの普段から使いたいという 気持にはあまりならない。20年くらいC#を触ってきたのでC#とF#の2つで 生活のだいたいはカバーできてしまうのに対して、Javaはできる限り近付きたくないと 思っているし、そんな調子なのでJavaのクラスライブラリ部分にあまり馴染めていない という状態なので、 どうしてもJavaを使わなきゃいけないケースでかわりに使うというくらいしか 用途が思いつかない。Androidの開発も、 今となってはどうしてもJavaやKotlinじゃなきゃいけないというわけでも ないようだけど、とはいえ第一言語なのだからKotlinの方が無難というのは あるのかもしれない。


= AltJS

_ あまり大規模なものを作ったことがないのと、Javascriptが別に嫌いではない ということもあり、AltJSにはあまり手が出ていない。 適当にHTMLとJSをいじってF5でリロードして… ということを繰り返して開発できる手軽さがあるので、 そこにトランスパイルという工程が入るのが少々ひっかかるというか、 冒頭に挙げた通りJavascriptに大きな不満がないのもあり 新しい言語を修得してまで使いたいという気にならないのだ。 サーバサイドもJSでやるとか、クライアントサイドであってもNodeで 管理するみたいなことをしていれば感想も変わるのかもしれない

_ などと考えていたのだが、そういえばF#にはFableというのがあったことを思い出した。 新しい言語を修得してまで… というところについてはこれで ある程度解決なのかもしれない。


2020/09/18 (Fri)

_ 今日は久しぶりに暑い。30℃を超えているようだ。

_ よい天気だと走りたくなってくるが、腰痛もおさまっていないのでもう少しがまんだろうか


= ノートPCとZFS

_ dynabookの調子が日増しに悪くなっているような気がする。 数日に1回くらいの頻度で、 前触れなく固まったりする。今日は無線LANをOFFにしようとしたら その操作を無視されて、 screenの中でtail -F /var/log/syslog やっているのでそこ見てみたら5分くらい前から メッセージがまったく流れておらず、さかのぼってみたらstacktraceの中に zfs_ 的な関数が含まれていてうOOPSが出ていたり…

_ ここのところmSATAのSSDも安いので切り分けのためにも予防のためにも 新しいディスク買ってみようかしら?という気持になってきた。で、 先日書いた通り 倍のサイズのディスクを買ってraid1をやらせたほうがいいのかしら?と 悩んでいる。

_ どっちにしてもシングルディスク構成なので、そのディスク自体が 故障した際には動作を継続できないのは仕方がない。なのでscrubで エラーが発生した段階でそのディスクはもう使い続けることができないというのは 受け入れる必要がある。 ノートPCにZFSを導入するのは ストリームを使ったバックアップ/リストアが手軽にできるところが大きいので、 ブロックレベルのエラーが起きたときにストリームが使えない状態になってしまうのは しんどい。raid1にしたときのデメリットは、容量が半分になってしまうことと、 書き込みが遅くなること、書換え回数が倍になること、というくらいだろうか? パーティション3つ作ってraidz1にするという手もあるかな?この場合書換え 回数はraid1と同じで、容量は2/3となる。

_ まあ悩んでいてもしょうがないからやってみるかー Root on ZFSのドキュメントはUbuntu 20.04になってもきちんと更新されているようだし、 パーティション切るところとpool作るところを少しアレンジすればそれで済むだろう


= Natural Healthy Standard. ナチュラルヘルシースタンダード ミネラル酵素グリーンスムージー マンゴー味

_ COMPを飲む際にこれまでは「もも水」的なものを買っており、 500mlだと4〜5回分なんだけどあんまり日持ちしないし、住居スペースに冷蔵庫ないので保存もできない。 なので少し前からこちらに切り替えた。 160gで2000円とちょっと高め。 5gのスプーン1杯とCOMPと水を混ぜることで大変においしく飲めるので これで30回以上と考えると悪くないと思う。なにしろおいしい


= VKLSVAN BME280 温湿度センサー 気圧センサーモジュール ブレイクアウト 5V SPI I2C Raspberry Arduino対応

_ BME280という温度湿度気圧がとれるモジュールを搭載した基板。 3.3Vと5Vどちらもいけるらしい。I2Cでデータとってくることができた。 湿度と気圧はともかく、温度は誤差が±1℃らしいので、絶対値としては あまりあてにならない感じだ。室内で計ってみると、他の温度計たちと比べて 1℃くらい低い値を示していた。しかしまあ相対値であればそれなりに役に立つと思う。

_ リモコンモジュールも導入できれば温度湿度に応じてエアコンの ON/OFFをしたりできてよい。かもしれない。 気圧はシンプルに天気が崩れてこないかを知るのによいような気がする。


2020/09/19 (Sat)

_ 今週末からだいぶ涼しくなるらしい。最高気温が20度前半という日もあるようで、 立派に秋じゃないか… 2ヶ月前は雨だらけ、1ヶ月前は灼熱、そしてもう秋か…

_ 暑いのも寒いのも辛いがどっちの方がより辛いのか? みたいなパーティートークの話題があるけど (そんな話するのか?) 歳を重ねるにつれ寒い方が辛く感じるようになっている気がする。

_ 昨日注文したSSDの到着が24以降らしいということにさっき気付いた。 当たり前のように翌日着だと思っている生活をしていたので偉くなったもんだ… と思ってしまった。連休中に移行してしまおうと思ったがそうもいかなくなった。 まあ来週末にやればいいか


2020/09/21 (Mon)

_ 久しぶりに出社。公共交通機関の利用も解禁されているので、久しぶりに電車で通勤した。 休みの日の、押上始発の電車の乗車率としては以前とあまり変わらない感じがする。


= ASP.NET Core

_ 久しぶりに.NETでWebアプリを組もうかなということになっており、 ちょっと何かを軽く試すときには以前からNancyFxを 使っていたのだがここのところずっとactivityがない…と思っていたら Nancy is not being maintained. Close the project down and communicate it to the community. - Issue #3010 - NancyFx/Nancy - GitHub というissueでcloseが決まったらしい。

_ となると他に何がいいのかねえ? NancyFx is dead, what next? : csharpというredditのarticleだと、 もうASP.NET Coreでいいだろ、という意見と、 Carterなんてどう? という意見が見られる。CarterもASP.NET Coreのフロントエンドなので、 ASP.NET Coreが関連することには違いない。

_ 以前述べた通りASP.NETという名前のつくものは どうも大袈裟すぎて好きになれない… 以前書いた通りWindowsのサービスやらネットワーク 関連やらにはまったく好印象がないのだけど、その中でも IISやらhttp.sysやらというのはトップクラスに無理だ。ASP.NETというと 漏れなくそういうのがついてくるのでうわああ間に合ってます!!! と反射的に言いたくなってしまうし、WebFormなども登場当初こそ画期的だと 思ったもんだけど、 今になってみると野暮ったく思えるし、その上で Razorやら BlazorやらSignalRやらEntity Frameworkやらの要素技術が漏れなくついてまわって 全体的にMicrosoftフレーバーを放つことになり、 言われた通りにやっているうちはよいが レールを外れたことをしたくなるとこれまでimplicitにやってくれていた部分を 理解するためにドキュメントの山と格闘することになり、そういうドキュメントは古くて 役に立たなかったり、するんじゃないの?と、 つまり繰り返しになるが大袈裟に思えてしょうがない…………と思っていたんだけど、 よくドキュメントなどを読み直してみると、 ASP.NET CoreはASP.NETと比べるとかなりそのあたりの構造を見直しているようで、 自分の必要なものを好きに取り込むことがかなり柔軟にできそうに見えてきた。

_ 仕事も仕事以外でも.NETの環境を使うことは増えているわけだし、 いつまでもデスクトップアプリだけ作っていれば済むというわけでもないのだろうという 危機感はある。このあたりはF#の方が見通しがよさそうだし、雑音も少なそうなので、 F#に取り組む時間を増やすという点でもよさそうだ。

_ ここ何年かクラウドネイティブなんていう用語が よく出てくるし、そっちをターゲットに今後の.NETが変わってゆくのであれば、今すぐ 自分が積極的にそれを使うかどうかはともかくとして、せめてそれについて好き嫌いが 語れる程度には触れておかないといかんかもしれない、と思う。 私は未だにこの手のクラウド環境を前提に物事を考えることができないので、 AWSやらAzureやらの単語を見るとローカルで同じことをするにはどうすればいいのか?を 真っ先に考えてしまうほうだ。あまり頭のよい反応ではないのかもしれないが 私はF5押したらデプロイされる世界をとくに望んではないというか、 とにかく気配を消して、こっそりやりたいんだよ、という性向なのだ。何度も書いている 通り別に得になる性格でもない気がするのだが、自分が何をやっているのか分かっていないときに 大きな事故を起こす確率が減るという点では悪くないと思う。

_ O'Reilly Learningで書籍をいくつか眺めてみた。 ほとんどの本はScaffold的なもので生成されたものをベースに書き始めていって、 だんだんMVCやらSignalRやらに親しんでいって… といった構成になっている。 GETやPOSTの受けとりかたを理解して、その後にルーティングのやりかたを 理解して、レンダリングのときにRazorが使えますよ… といったステップでの説明を望む私としてはそのあたりの理解がまったく深まらないので フラストレーションが溜まる一方だ。一点、 「Pro ASP.NET Core 3」だけは、 Part2「The ASP.NET Core Platform」で私の望む通りの展開で説明してくれているので ここを中心にまずは眺めてゆこうと思う。


= 初学者向けコンテンツを得るためのワード

_ 私がC#の勉強のために必ずクローンしているGitHubリポジトリを紹介します - Alternative Architecture DOJOというエントリは参考になった。 未知の何かについて最初のとっかかりとして調べるべきキーワードは、たとえば 「Tutorial」「Samples」とか、言語習得なら「基礎文法最速マスター」「Koans」などの 他にも、「Dojo」「Workshop」なんてのがあるんだな、と思った。 あとは「awesome」なんとか、で調べると関係するリンクをまとめたサイトを見つけることが できるらしい。awesome-fsharp など

_ なお私はawesomeとawfulのどっちがポジティブな意味だっけ?とよく混乱してしまう。


= 筆ペン

_ なんとなくペン習字を復活させたい気分になってきている。 以前は万年筆を使っていた。 ここ何年かの関節炎のことを考えると、筆圧ゼロでも書ける万年筆といっても それなりに(無駄な)力が入ってしまい指に負担が大きい。

_ 当時のエントリにも書いた通り以前習字を習っていた頃は当然毛筆だった。 毛筆というやつは手入れがなかなか大変で、墨汁は膠やら樹脂やらが含まれているので 放置しておくとカチカチになってしまう。あと匂いもきつい。こんなものを部屋の中で こぼしたりしたら大惨事だ。 筆ペンならそのあたりのトラブルとはわりと無縁なのかもしれない。

_ 以前も書いた通り私は筆ペンの筆先と 紙が摩擦することによって発するキュキュッといった音が嫌いなのであまり真剣に 使おうとしたことがない。あらためて探してみると私が子供の頃からあった 「ぺんてる筆」が 今でもベストセラーらしい。実は私は使ったことがない。いかにも筆ペンという感じの見た目 (古くからある製品なのだから当然なのだけど) に加えて、 あの軸のところの半透明部分が野暮に見えてどうにも好きになれずに触ろうとしなかった。 しかしなにしろ安い。インク部分の交換もできるようなので、とりあえず試してみるかーと 思うには十分手頃な価格だ。

_ やはり携帯ができる万年筆のような外見のものが見た目としては好みだけど、 そういうのは続きそうだと判断できてからでもよいだろう。 コンバータつきの筆ペンはないのかと探してみたところ、「WING SUNG」というメーカー? が出しているようだ。コンバータ内蔵で、インクは万年筆のものを使うらしい。 どちらかというとペン字というよりはカリグラフィとか、筆タッチのペンとして 使うことを想定しているようにも見える。

_ なお以前作った練習帳量産用アプリは 今でもソースが残っているので動くと思う。ただプリンタが壊れてしまったので 量産はできない… まあこれも続くようならでよいだろう。


2020/09/22 (Tue)

_ さほど天気は崩れなかった。4連休はなんだかんだで日中の天気は悪くなかったように思う。


= Transcend TS512GMTS430S

_ dynabookのSSDを交換するために購入した。そして梱包を開いてみたところ 記憶していたものよりも小さいような… mSATAだと思っていたが M.2 (むかしはNGFFと言っていたらしい) のものを買っていたらしい。なんてこったい

_ mSATAは言うまでもなくSATAであるが M.2 はコネクタの形状であってそのI/Fが何なのかというのはいろいろあるようだ。 SATAとか、PCIeとか。買ったのはSATAなのでコネクタの変換をかませることで使える…だろう。 ということで800円ほどで変換アダプタを手配した。アダプタを経由することで ふつうのmSATAのものよりフットプリントがでかくなってしまうため、接続先の スペースによってはぶつかって駄目かもしれない。具体的には長辺と厚みが少し増している。 手持ちのmSATA→USB変換ケースにはおさまらなかった。幸いdynabookは周囲のスペースに 余裕があったので問題なく接続することができた。そしてきちんと認識もした。


= ZFSのはなし

_ 先日書いた通りシングルディスクのときでもミラー組んだりRAIDZにしたほうがいいのかな? ということで今使っている256GBよりも大きい512GBのドライブを買ってみたものの、 本当にそういうことが必要なのかねえ? というところでまだ腑に落ちていない。

_ ストリームから復元したpoolがちゃんと使えなかったという 経験をした、という事実からの反省でそのようなことを 考えるようになった。ストリームの元になったディスクはたしかにあまり調子のよいものでは なかったんだが、ちゃんとしたものを買うまでの繋ぎとしてしばらく使っていたのだ。 そのちょっと怪しいディスクでセットアップなどを続けて、 ちゃんとしたものが来たらそれをまるごと持ってゆけばよいだろう、なぜならZFSだから… と思っていて、それが見事にうまくいかなかったので大変にショックを受けた。

_ シングルディスク構成で動かしていたのだから、そのディスクが壊れてしまえば バックアップから戻すしかないということは当然理解しており、そのためのsend/recvだという つもりだったのに、sendもrecvもエラーなく終了したにもかかわらず復元したpoolが まともでなかったというのは問題だ。sendのときに検知できなかったの?という違和感。 scrubしていれば検知できていたのかもしれないが、sendの間隔に合わせてscrubするのは いくらなんでもやりすぎだろう。それに、当時はsendしたものを送信先ではファイルとして 保存していたからよかったのかもしれないが、もしreplicationしていたら 送信先の方でscrubしたタイミングでpanicしていたんじゃないかしら?

_ zdb -cc が完走しなかったのだからやっぱりpoolのレベルで何かあったと 考えるほかないだろう。そしてブロックレベルで何かあったとして、それがディスク側の 問題だとすれば冗長化をすることでエラーの回復が、できてもよい気がする。 なのでシングルディスクでもRAID1?Z?みたいなことを考えてしまうのだが、 他の原因…たとえばZoLのバグを踏んでいただけだとするとRAIDでも救えないし、 そのためにディスク容量を無駄にするのはなんか間抜けな感じがする。

_ シングルディスク構成の場合、RAIDを敢えて組むとすればブロックレベルのエラーが 起きた際にブロックの修復ができる…かもしれない…という点のみが目的となり、1回でも エラーが検知されたらそのドライブはもう使わずバックアップから復元となるので、 RAID1でもZでも大差がない…ように思う。1だとディスクの半分を消費することになってしまうが、 それに見合うメリットがないような…。Zで台数いっぱい増やせば容量の犠牲は小さくなるが パリティの計算が大変になるし、そもそも書き込みを行う際に読まなければいけない データの量がたくさんになり、そしてそれはすべて同じドライブの中にあるのだから大変だ。

_ んーまあせっかくでかいディスク買ったことだしRAIDZ1でやってみるかなあ? 我慢ならないくらい遅かったり無駄だと思ったらRAIDなしでやりなおせばいいだけだし。 なにしろ再セットアップそのものはさほどの手間ではない…そうZFSならね


= ぺんてる筆

_ さっそく買ってみた。これはすごいなー本物の小筆なんてもう何十年も 手にしていないから、記憶の中のその小筆の感覚と、この筆ペンの感覚はまったく 同じように感じられる。野暮ったい見た目に惑わされて近づかなかったことを 後悔する書き味だ。


_ dynabookのバックアップも終わったのでディスク交換して セットアップをはじめた。今回は思い切って新規インストールしてみることにした。 現状の環境はいつからのものなのか…今ひとつ思い出せないのだけど 2年半前にZFS化したときも、 1から入れたのではなくrsyncか何かでまるごと持ってきた気がする。 ひょっとしたら買ってすぐ入れたときから updateを繰り返していたのかもしれない。そうなるともう5年くらいか。 途中いろんなことがあった。 work飛ばしたり、 何もしてないのに壊れたり。 Compizの設定飛ばした…のはVAIOの頃か。

_ 今回はUbuntu 20.04 Root on ZFS ― OpenZFS documentationを参考にした。 ただ更新しているだけでなくフローをきちんと改善していて、しかも古いドキュメントを しっかり残してくれているので本当に助かる。 予定通りrpool用のパーティションを3等分にしてraidzにした。raidzとはいえ ディスクが複数あるわけではないのでmirror/raidz向けの説明は適用せずに進めた。 そこから先の作業はもう何度もやってきたのでとくに問題なく進んだ。

_ そしてバックアップをとっておいたものをzfs recvして… 時間がかかるので寝た。


2020/09/23 (Wed)

_ 今日は雨。どうも台風が近付いているらしい。近くに来るのは 今年初めてではなかろうか


= 今日のUbuntu

_ zfs recvが終わっていたので、では必要なファイルを持ってゆく… ことを やる前にどうやってマウントしたもんかで悩む。 zfs recvは反射的に -u オプションつきでやっているのでcanmountはoffになっており、 mountpointは以前のままだ。なのでmountpointを変更しようとしたところ umountが失敗してしまった。そりゃ / とかをumountしようとしたら駄目なのは 当然だけど、そもそもmountedになってないのになんでumountするんだ?

_ 起動した状態でやるのはむりだなーとあきらめて再度インストーラーを起動し、 -N -R つきで import してからmountpointをいじったりなんだりした。 キャッシュが生きていたせいか期待通りにマウントできないことが何度かあったものの、 何度かやりなおしているうちに期待通りにマウントできるようになった。 あとは普通のUbuntuのセットアップの流れなのであまり問題ないだろう。 なおFirefoxのprofileなどもとくに復元せずにまっさらになっているので、 いろいろ思い出しながらやりなおすか、バックアップから持ってきてしまうかを 悩んでいる。


2020/09/24 (Thu)

_ 台風は身近なところではほとんど影響がなく推移した。 かなり涼しい。エアコンつけなくても窓から外気を取り入れるだけで 室温が24度台でキープされるのは大変にありがたい。


= 今日のUbuntu

_ 先日設定したものを持ってきたのだけど 期待通りに設定できない。 Logitech_Marblemouse_USB - Community Help Wikiを見てみたところ どうやらDriverがevdevではなくlibinputに変わったらしい。 そして指定のやりかたも変わっているようだ。

_ あとw3mが起動しないという問題は、 Cannot launch inkscape and w3m with same error message "Wrong __data_start/_end pair" - Ask Ubuntuに 書いてあった通りulimit -s unlimited しているとだめらしい。 Boehm GCに関係する問題なのかしら?

_ などなどいろいろ細かいところで気になる点を少しずつ解消しつつ進めている。 20.04.1LTSになった結果やはりいろいろと変わっているようで、 そしていつものように困惑するような変更が多い。 「ファイル」は、新しいウインドウ、新しいタブ、そして新しいディレクトリを 作るアイコンが全部「+」をあしらったもので、それらが隣り合っているので 非常に分かりづらい。そして新しいディレクトリを作るアイコンの上にマウスカーソルを 持ってゆくと、新しい「フォルダー」というヒントが出てくる。………。

_ smplayerはショートカットキーの割り当てが昔とはだいぶ違っている。 そしてコンテキストメニューをキー操作でやろうとすると、 コンテキストメニュー側ではなくプレイヤー側のショートカットキーとして 認識されてしまうケースが多い。これはsmplayer側の問題なのか ツールキット側の問題なのかよく分かっていないが不便だ。

_ そしてバージョンアップするたびに見た目の変化が激しいのがRhythmboxだ。 今回は再生ボタンなどが上から下に移動している。上のものが下になるというのは 見た目の変更という意味ではインパクトが大きいけど、それによって何か使い勝手上の 改善が見られた気がまったくしないので理解に苦しむ。iTunes風のレイアウトに 寄せていた過去を否定したいとかだろうか…? まあ見た目の問題はともかくimportでフォルダー… と言うようにしたほうがいいのか、 の中を全部拾ってくれないという不可解な問題が。これは今までにない経験だ。

_ あとこれはバージョンアップしたからというわけではないのだけど、 PulseAudioの音をRasPiに流して演奏しようとすると、dynabook側の問題なのか RasPiの問題なのか、ネットワークの問題なのか、全部なのかは分からないが けっこう音が途切れることが多い。またYouTubeなんかを見ようとすると、 ちゃんと見られるときと、動画が止まって音だけが流れる状態になる、といった ことが起きていて、なかなか常用するのはむずかしいかもしれない。 まあ動画見るときはHDMIから音出せばよいのだが


= 今日のASP.NET Core

_ 書籍片手にrequestとresponseをどうにかするお作法を身につける。 このあたりはASP.NETの頃に比べるとだいぶすっきりしているので、 ちょっとしたWebサービス作るなら確かにもう軽量Webアプリフレームワークを 別途入れる必要はないかもしれないと思った。

_ せっかくなので以前作ったP/InvokeでDLL呼び出してどうにかする テストプログラムをWeb化してみた。元のコードがかなり古くてそもそも Webに載せる以前に動くようにするまでに余計な時間がかかったりしたが まあ動くようになったので、ではそのP/Invokeのときにやりとしている構造体を JSONにして返してみようと System.Text.Json に渡してみたら中身が空っぽだった。もちろんprivateではない。

_ C# を使用して JSON をシリアル化および逆シリアル化する方法 - .NET | Microsoft Docsを見てみたところ Serialization behaviorの節に 「By default, all public properties are serialized. 」と並んで 「Currently, fields are excluded.」という記述が…しょうがないので reflectionを使ってそれっぽいDictionaryにマッピングしてから シリアライズするようにした…

_ たくさんの入力項目があるデータ構造に対して、入力用のUIをある程度 自動的に生成したい。以前似たようなことを試したときは、 UIを作る元になる項目情報をサーバからJSONで配って、 それを元にjQueryを使って 一生懸命テキストボックスやらコンボボックスやらを生成するということを やっていた。が、いくらなんでも見通しが悪かったのでVueにしようとして 少し分かってきたところで放置状態になってしまった。 ちょうど2年前のか。 そしてちょうどその頃にSSDの換装をしていた。 そういう季節なのだろうか (?)

_ それはともかく今回はどうしたものか。同じようにクライアントサイドでUIを 作ってもよい気がするし、テンプレートエンジンなどを駆使してサーバ側で UIを作ってもよい気がする… ASP.NET Coreでテンプレートエンジン使うとしたら 何があるんだろう? 普通に作っていればRazorを使うことになるんだろうが、 ただのテンプレートエンジンとして使うには大袈裟すぎる。 などと考えながらいろいろ探してみたら T4の名前が出てきた。 あったなあそういえば… しかしこれはこれでテンプレートエンジンとしては 大袈裟感がある。RazorもT4も実行時に生成するというよりはビルドプロセスの段階で 実施する想定だろう。

_ GitHub - quozd/awesome-dotnet: A collection of awesome .NET libraries, tools, frameworks and softwareを見ると、 やはりMustacheが多い。 しかしまあまったく同じものを繰り返しやりたいならテンプレートエンジンでよいのだけど、 入力項目ごとに細かいカスタマイズがしたいという場合には考えものかもしれない。 そう考えるとクライアント側でUIを構築するというのも悪くない気がしてくる。 しかしjQueryで細かい制御やデータバイディングをやるのは、決して難しくはないものの かなり見通しの悪いプログラムになりがちだ。


2020/09/26 (Sat)

_ 週末は雨らしい。かなり涼しい。

_ 昨日の昼前くらいにかなり強い水音があり、これは大雨なのかな? と思いつつ 会議中だったので様子を見ることもできず、会議が終わったあとにベランダの様子を見てみたところ 水びたしだった。ゲリラ豪雨? しかしアメッシュの120分履歴を見ても そんな雨雲が来ている様子はない。洗濯物は干していなかったけど、干し網の中で コーヒー豆を乾かしており、それがトレーごと水びたしになっていた。 小雨程度なら防いでくれるすだれが役に立たないほどの大雨? そして夜になって 乾いたベランダを見たら白い粉末状のものがたくさん広がっていた。 外装工事で何かを洗浄したのかな? ンモーそうならそうと言ってくれれば…ンモー


= SANWA SUPPLY 400-MC001

_ 会社で買ったが使いみちがなくなったとかで預かった。コンデンサーマイクで 単一指向性/全指向性の切り替えができるらしい。 コンデンサーマイクと聞いたときは、うちのUA-3Dはファンタム電源供給できないし オーディオインターフェースごと貸してくれるのかしら? と密かに期待したのだが、 これはUSBのインターフェースつきのやつなのでPCに挿せばそのまま使えるものだった。 商品説明だとマイク部分とスタンド部分は伸縮ができるっぽい書きかたになっているのだけど、 手元のやつではそんなことができる感じには見えない。同機種のレビュー動画などを見る限りでは スタンド部分のねじを開け締めすることで固定できるというのが本来の形らしい。 どうやら部品がひとつ足りないようだ。


= 音量を測る話

_ 音量の計測をする必要性が出てきたので勉強をする。今は騒音計も安いしPCにつなげるものも あるので買ってしまえばそれまでなのだが、検査や制御に利用したいので、 できればPCだけで完結できるものにしたいところだ。 つまり騒音計の原理を知って、そこから学んだものを用いて何かする、というような感じ

_ 騒音計の仕組み と、 騒音計とは 第3版 (いずれもpdf) を読んだ。 初心者にも分かりやすい解説だ。聴感上の特性やマイク自体の特性などをどう処理しているんだ? というのが主な疑問だったのだが、A特性 / C特性 / Z特性 (FLAT) などを用途に合わせて 選ぶものだったということを知った。など、いろいろとても勉強になる。

_ 騒音計というのは英語だとSound level meterというらしい。 ということでキーワードも分かってきたのでGitHubをいろいろ眺めてみた。 やはりAndroidのアプリケーションのソースが多い。 あとはIONICベースのものなど。 Javascriptのオーディオフレームワークには Tone.jsというのもあるようだ。

_ 他にもArduinoなどを使っている例が見つかった。

_ ここまで書いておいてなんだが、騒音計になにがなんでも近付けたいわけではなく、 相対値でチェックできれば十分だ。ただその相対値の増減が騒音計における数値の増減と きちんと対応していなければ参考にならないので、やはり騒音計の原理はある程度 理解しておく必要がある。と思う


= 今日のSAFE

_ ここのところWeb関係のねたをやることが多いので、 以前スルーしたSAFEをやってみることにした。 SAFE-Dojoというのがあったのでそれを取り組んでみた。 Instructionにしたがって、サーバとクライアントと共有部分を少しずついじりながら 全体像を学んでゆくというものだった。とても分かりやすいし、 構成されているコードもとてもシンプルでボイラープレート的なものがあまりないので 見通しもかなりよいように感じる…のだけど、この枠組みから抜け出さずに世の中がすべて うまく回ってゆくのだろうか? ReactやVueを触れるようになっていないと結局 だめなタイミングがあるんじゃないだろうか、そうなると結局SAFEの、Aはともかく SとFとEの部分をとっかえひっかえできるような力を求められることになったりしないんだろうか…? みたいな警戒感は拭えない… なおSAFE-Dojoでは SaturnとFableとElmishのほかにFulmaというものを使っているようだ。 BulmaのF# bindingsらしい。 viewにdispatchというのが来て、updateでそれを処理して、 modelを更新してゆく…というのはElmishというやつの守備範囲なのかな? とても見通しがよくてよいと思う

_ あとはまあ、いろいろ中で頑張ってくれている代償なのだろうけど、 dotnet tools restore → dotnet fake buildが終わった段階でプロジェクトのディレクトリが145MBになっていた。 Nodeやらなにやらのモジュールをたくさん置いているからだが… 今時はこういうのを 気にしていても仕方がないのかもしれない。 そしてF#からJSにトランスパイルしているはずなのにそれが見当たらない。 ブラウザ側にはapp.js として眺めることができるんだけど… まあそういうモードにしているんだろう


= async/awaitなど

_ Begin/End〜〜 を長く使ってきてこれはこれでよい… というか他の環境に比べても だいぶよいもんだろうと思っていたので、async/awaitなどは自分で使おうという気持に あまりなっていなかったし、F#のWikibooksもasyncのところだけは流し読みをしていた…のだけど、 ASP.NET Coreを触っているともはや見ぬふりも出来ないかなあという気になってきたので お勉強しなおすことにした。

_ 確かに処理そのものは書きやすくなったのに対して、 それを利用する側に求める知識が多くなっていないか?という違和感が、 近寄り難く感じる原因だと思っている。ConfigureAwait(false)しないと 元スレッドを取り戻そうとしてしまう、なんてのはスレッドプールのよさを自分から 捨てに行っているような気がしてならない。UIスレッドに戻ってきたいなら それなりの手当をする、でよかったと思うんだけど

_ あとasync/awaitとは直接の関係はないが、スレッドは外からAbortできないという 頭で接しているので、CancelllationTokenで呼び出し側から キャンセルできる仕掛けがよくわかっていない。


2020/09/28 (Mon)

_ 今日は比較的日射しが強く、暑く感じる。といっても30度を超えているわけではないし、 部屋は空調なしで26度台なので暑苦しいわけではない


= 音響解析

_ いろいろ分析したり加工したり、加工した効果を測定してまた分析したり… ということを する予定なのでそれに適したフレームワークを探す。この手のマルチメディアとりあつかい、 ならびに信号の解析をするには何がいいんだろうな。MATLAB/OctaveやRがまず思い浮かぶけど 私自身さほど手に馴染んでいない。

_ やはりPythonはこのあたりいろいろ揃っているようで、 Scipyでスペクトログラム出したりできそうだ。 .NETだとGitHub - swharden/Spectrogram: .NET library for creating spectrogramsというのがあった。 PythonならJupyterで試行錯誤もしやすいのでまずこっちでやってみるかな…




Zinnia (zinnia@risky-safety.org)
Back