つれづれ日記 2021年1月

予定

毎日


2021年1月31日 (日曜日)

09:27:37 # Life 読書メモがとまっていたので再開しようかな。図書館閉鎖してから習慣が断ち切れていたのでここ10ヶ月くらい止まっていた。2020年6月ころから図書館再開しているので半年分くらい。週に5冊くらい借りてきている気がするんだけど、ここに書いてみたら66冊か。 読書メモというか感想。

2021年1月30日 (土曜日)

17:51:10 # Life emacsclientをtramp先から手元のemacsを操作するのに使う。 なんかSSHでemacsclient server socket のUNIX DOMAIN SOCKETを作成して、リモート側でひらければ行けそうな気がしたんだけどどうもできなかったようだ。

$ ssh -R /tmp/emacs1000-server:/tmp/emacs1000/server remotehost
remotehost$ emacsclient -T /scp:remotehost: --server-file=/tmp/emacs1000-server /etc/hostname
emacsclient: error accessing server file "/tmp/emacs1000-server"
	

2021年1月28日 (木曜日)

09:30:24 # Life emacsで自動化するということはその行為をするオーバヘッドを減らしてくれるので重要。その行為がなにかと考えてelispに落とし込むステップが大切。たとえば(find-file "path-to-file")だけでもよい、自動化は完全じゃなくてよい。

2021年1月27日 (水曜日)

09:14:45 # Life CCS811と毎日格闘していたんだけどなんか一段落した気がする。調べた内容をまとめるかな。結局データシートにすべて書いてはあった気がする。

10:21:54 # Life ピアノの波形について勉強したかったので今朝はスペクトログラムを作った。 ここにおいておく。 時系列の変化、縦波と横波の差とかが検出できるだろうか?

2021年1月17日 (日曜日)

10:00:48 # Life 昨日はDebian勉強会でした。 発表内容はnodeの話なんだけど多分来ている人たちのほうが詳しいので僕が話していいんだろうかという気もした。 今回からemacsでpdfでプレゼンテーションするようにしてみました。 今週からふと思い立って全面的にログインシェルをemacsclientに切り替えてみてます。いろいろ壊れてひとつづつ潰していってます。 意外とシェルつかっているのと.bashrc/.profileに依存している。

10:53:35 # Life 10年前の状況とかおもいだしてみるとcoffeescriptというのが流行っていた気がする。 ES6に欲しい機能が一通り入ってしまったので必要なくなってしまったのかな? typescriptに置き換えられてしまったのだろうか?そこらへんがまだちょっとよくわかってない。

2021年1月16日 (土曜日)

09:22:04 # Life Debian Developerになってから。今日で20年たったみたい。

2021年1月14日 (木曜日)

09:01:13 # Life SecureShellとscreenrcとemacsとosc52。 2016年に設定したものをわすれていたので再設定。 SecureShellは多分TERM=xterm-color256を指定してくれている。 screenを経由するとscreen.xterm-color256になる。 ここまでは多分よいんだけど「screen.」がついていると動かないアプリケーションがあるので 手元でのハックとしてscreen-color256に変えていた。 そうするとxterm部分が欠落してしまって動かないものがあったので再度調整。 emacsがscreen.xterm-color256で動くようにしてTERMをいじらないように。 screen経由するときにOSC52のためのエスケープシーケンスを変えないといけないのが一番の問題な気もする。

2021年1月11日 (月曜日)

13:59:26 # Life I2Cを使おうとおもって。Raspberrypiのgpioの線についての情報。 とりあえず公式のREADMEがよさそう。 I2Cは初期状態では有効になっていないのでraspi-configで有効にした。 あと、i2c-toolsをインストールして i2cdetect -y 1 で何がつながっているかを確認。

2021年1月6日 (水曜日)

08:35:06 # Life screenで接続維持。 suspend/resumeのたびにssh切断されるの不便だなぁと思ってたん だけど、ssh接続してscreen起動するというのをスクリプト化して しまえばそこまで気にならない気がしてきた。

while sleep 1; do
    ssh -t remote screen -R -D;
done
	

2021年1月5日 (火曜日)

09:40:29 # Life EmacsとElispで書いたこの日記システムが一番長持ちしている。 ローカルではウェブサーバとしてうごいていてElservをつかっていたのだがなんか全然メンテされてない気がするのでサーバ部分はNodejsで書き直してある。そのため複数言語。 あとNodejsに引っ越したのが5年以上前なのでES2015準拠ではないので書き直したいが気合が。 そしてふと思い立ってES2015ベースで書き直してみた。300行くらいのコードをコールバック地獄からawaitベースに書き換え、一時間くらいかかった。 then() のエラーハンドリングをtry-catchに書き換えながらこれは あまり読みやすくなってないかもと一瞬おもったけど繰り返しのループが絶望 的に読みにくくなっていた部分を改善できて満足。

10:48:40 # Life ふるさと納税の予算の最適戦略を考える。 これは趣味です。 年末に駆け込みをするのはバタバタしていて締切におわれているとへんなところに寄付してしまいがち。 ということで昨年は年間予算を策定しておいてそれを経過日数で均等割をしてみることにした。Goのコードはこんな感じ。 1月1日からの日数を取得して一日あたりの予算をかけるだけ。 ただよく考えると確定した所得から計算するのが本当は正しい気が するのでそうすると確定した額によって所得税率は変わるため年の 前半より後半のほうが時間単位あたりの予算は大きくなる(たとえ ば最初の48万円は所得控除)。あと年の途中で年末の為替と株価 を予想するのはそれなりに困難。 しかし年末の為替と株価を正確に予想できたらまた別なことをしたほうが良いんじゃないか。 多少外れてもまぁ良いんじゃないか、ということで。

package main

import (
	"fmt"
	"time"
)

func main() {
	now := time.Now()

	// Obtain current fiscal year's first day.
	start := time.Date(now.Year(), time.January, 1, 0, 0, 0, 0, time.UTC)
	const (
		budget = 10
	)
	fmt.Printf("Budget is %v and I should have spent %.2f today.\n",
		budget, time.Since(start).Hours()/24/365*budget)
}

	

2021年1月4日 (月曜日)

10:04:59 # Life ピアノ習い始めて4年目になった。 2017年1月に思い立って再開した。小学校5年生のときに一年 くらい習ったんだけどそのときは自分にとって楽しいとおもえる曲 まで到達できずにやめてしまった。 思う曲がひけるのが楽しいが、すぐにまたひけなくなるのが難しい。

2021年1月3日 (日曜日)

10:43:15 # Life RTCDataChannelを使ってみた。なんか動くけどこれでよいのか。ドキュメントを読んでもよくわからないのは多分RTCDataChannelに使われているイベントが他の用途にも使われているからなのかな。

11:16:49 # Life Nature Remoでハマったことをまとめると。 幼稚園児がPanasonicの照明のチャンネルを切り替えてしまっていた、のと 多分エアコンのリモコンデータがNature Remo側で正しく修正されたことで間違って認識されていたモデルでは動かなくなっていた、のコンボでデバイスが壊れているのを疑ってしまった。 電源交換とかしてみちゃった。

2021年1月2日 (土曜日)

10:09:50 # Life この頃には流石にオフィスにもどっていて、店に行くのも安全になるだろうと半年前に延期していたタスクリストを再度延期。とりあえずはあと9ヶ月くらいかな。

11:24:24 # Life ES class fields. classでフィールドはthisまだ使うんかいなと調べたら フィールドについてはまだ提案段階。ただStage3なので結構いいところまで行っているみたい。 こういうかゆいところに手が届く感じの仕様が追加されているのであれば ESは最新が使いたいというのがしばらく続きそうだなぁ。

2021年1月1日 (金曜日)

09:30:32 # Life あけおめ。引きこもった一年が過ぎ、引き続き引きこもります。

11:28:11 # Life 昨年なんかうごいたとおもっていたRTCPeerConnectionのデモがうごかなくなっていた。うーむ。

17:38:14 # Life RTCPeerConnectionでハマったこと。 offer SDP を受け取る前なのか直後なのかでICEを受け取ってもRTCPeerConnectionにaddICECandidateができないということを把握。待つ必要があるのか。 なんかボタンを押すタイミングによっては動かないことがあったりwebsocketだと動くけどsocket.ioに載せ替えたら動かなくなったりだいぶ悩んだ結果、Exceptionが出ているのを見落としていたのがわかった。 しかしSDPとかICEとか大量にメッセージが出るからExceptionが多少出てても気づかない・・・。


Junichi Uekawa