つれづれ日記 2020年7月

予定

毎日


2020年7月31日 (金曜日)

19:51:14 # Life fuseのread_buf. てっきりないと思っていたらFUSEでファイルディスクリプタを渡す タイプのAPIが10年前(2011年)からあった。read_bufと write_buf。fdとオフセットを渡すとコピーをしてくれる。なんで そう思ってたんだろう。

20:02:26 # Life Flets内部と外の通信。 Flets内部と思われるネットワークに接続してみたら10msくらいでpingが通った。Flets外部を通る近くと思われるところは20msくらいかかるのでこれはでかい。 プロバイダ経由することで10msくらいオーバヘッドを追加している感じなのかな。

2020年7月26日 (日曜日)

08:16:46 # Life トイレットペーパーロール問題。トイレットペーパーロールを交換はするが発注はしてくれない非協力的な同居人がいたとする。 トイレットペーパーロール収納場所は交換するときにしか能動的には確認しないとする。 在庫は8ロール単位で購入できるとする。 95%の確率で在庫を切らせないようにするとすると、トイレットペーパーロール交換時に何個残っていたら発注すればよいか。 まず50%の確率にするには最後の一個で発注すればよい、が最後の一個を交換された時点でロールを切れたので確認してから発注するはめになるかもしれない。 この条件だと意外と必要な残ロール数は多くて、5個くらいでもう発注するべきだ。

2020年7月25日 (土曜日)

18:14:13 # Life sshfs slave modeをしばらく使っている。 trampを最初は使っていたけどtrampは使わないでビルドと実行のときだけリモートにするというのがよさそう。 最初はmnt/とかいうディレクトリにしていたのだが、リモートとローカルでパスを一致させるとあまり考えなくて良い。 現在のディレクトリでリモートでビルドするだけのスクリプトを作ったり実行するだけのスクリプトを作れば良いんだと思う。 sshfs の欠点としてはどうもファイルの編集保存直後にはキャッシュ の整合性が取れないことがあるらしく、そのときは変なコンパイル エラーメッセージが出る。なんかファイルサイズのメタデータとファ イルのサイズが一致していない? cache=falseオプションというのが昔はあったようだが最近はないっぽいのでどうやったら解決するのか不明。多分2秒くらい待つとよい。

2020年7月23日 (木曜日)

08:37:50 # Life sshfs slave mode。 一時的にリモートのインスタンス上で作業するのにソースツリーをコピーしたいりとかは面倒なのでマウントしてしまいたいという用途に。emacs trampと組み合わせて作業するとリモートなのかどうかが曖昧に。 sshfsのインタフェースとしては-o slaveという地味なオプションが一個あるだけでまぁよくわからないのでdpipe(vde2にある)を使うのが定石か。 こんな感じになる:dpipe /usr/lib/openssh/sftp-server = ssh ホスト名 sshfs :共有したいディレクトリ ~/mnt/src -o slave sftp-serverに見せるディレクトリを制限したい気がするんだけどまぁいいか。

このコマンドライン例の欠点としては一回sshで接続出きるようにしておかないと問題があって入力を待っていても全くわからない。 今ハマったのはThe authenticity of host ... can't be establishedというところでハングしていたのが何も表示されず。

15:52:25 # Life sshfs maxconns. マニュアルを読んでたら今年の1月くらいに並列度合いを指定できるオプションが追加されていた。 -o max_conns=Nらしい。なんとなく感じてはいたけど今までは並列じゃなかったのか。 しかしこれslave modeにはうまく動かないような気がする。

2020年7月22日 (水曜日)

09:59:48 # Life Google Container Registoryってどうなってるんだ。とは思っていたんだけど。 ドキュメントを見つけた。 gcr.ioにアップロードしたものは一体どういうことになっているんだろうとは思っていたんだけどGoogle Storageのartifacts.PROJECT.appspot.comに保存されているのか。 過去一年以上のファイルが溜まっていたので掃除。

10:15:20 # Life Google Storageのゴミ掃除。 gsutil -m rm -r とか。ドキュメントを参照。 素朴に gsutil ls | xargs gsutil rmだと超絶に遅かった。-mをつけると並列処理をしてくれるらしい。

2020年7月21日 (火曜日)

15:59:27 # Life どうしてパパはずっとイギリスのラジオを聴くの?ときかれて。 そうね、BBC、好きなんだよ。

16:26:04 # Life Dockerhub のドキュメントを読んでみた。Rustのチュートリアルでもやろうかなと思ったら十分新しいバージョンが入っていない。Rustupを使ってもいいんだけどDebianがいいかなと思い立った。 まずDockerで環境を作ってみるかとおもいたちDockerhubのドキュメントを読むことに。今まで適当にDockerfile書いていた気がするのだけどTestingの指定方法がわからなかったので。 まず、今のTestingのコードネームはBullseyeらしい。そしてドキュメントを読む。 ふむ。コロンで指定すれば良いぽい。FROM debian:bullseye。なおこの行にはコメントとかはかけないっぽい。 Dockerfileのドキュメントも眺める。 しかし実行する環境はcloud build.

17:15:58 # Life 必要ないファイルがどんどん溜まっていくなぁと思っていたので重い腰をあげてgoogle storageのlifecycleを設定。 Cloud buildをつかっているとソースコードを一時的にtgz形式でアップロードするのだがそのファイルはビルドが完了してもそのままにおいてある。 数年分溜まったら消すということをしていたのだが自動で消してくれる設定というのがあったので適用。 gsutil lifecycleコマンド。 setで指定できる。ただコマンドラインパラメータでは完結しなくてjsonファイルを受け付けるというスタイルなのでjsonファイルを作成してそれを指定。Delete以外のアクションはあるのか、ここを見るだけではよくわからないけどこのJSONファイルである意味あるんかなとおもってLifecycleのドキュメントを読んでみたらどうもストレージクラスの指定とかもできるらしい。

2020年7月12日 (日曜日)

09:36:33 # Life 昔インストールしたgoogle-cloud-sdkが四年前の状態かなんかで放置されていて動いていなかったのでインストール方法を調査。 パッケージが提供されていた。 がこれRaspberrypiとかでも動くんだろうか。

15:06:38 # Life crontabの出力。なんか/var/mailに大量にメールが溜まっていて去年からエラーが出ていたということが判明した。だめだこりゃ。mailコマンドの使い方忘れてしまったしこれじゃない感が。何を使ってローカルのメールを読んでいたんだろうか。

2020年7月11日 (土曜日)

09:42:08 # Life Crostiniの漢字が変なので何を入れたかなと思って調べた。 前回はfonts-vlgothicを入れてお茶を濁した。 手元のemacsの設定がfonts-vlgothicに依存してしまっているためこれで良かったんだけど最近はもっと違うフォントがあった気がするのだが。

2020年7月1日 (水曜日)

17:58:38 # Life 気づいたら7月。この引きこもり生活もいつまで続くのだろうか。


Junichi Uekawa