Goで簡素な Lisp処理系を書いた
最近 Goに触れていなかったので復習も兼ねて. 内容としては下記の本に載っている Common Lisp風の簡易 Lisp. 本では Common Lispで書いているので read周りとか楽にできる部分があるのだけれど, Lisp系言語以外だとそんなわけにはいかないのでそこは地道に書いた. あとオブジェクト指向というかクラス継承を使って書かれていた部分を Goっぽく(?)落とし込んで書いた. その他の方針などはだいたい本のまま. 以前もっと簡単なものを Cで書いたことはあったけど, それよりは幾分進んだ内容で適度にいい刺激にはなったかと思いました.
- 作者:栗原 正仁
- メディア: 単行本
最近読んだ漫画
アニメがすごく面白かったので購入. アニメいいけど, 漫画も良かった. アニメでは省かれているけど, 原作では準備の前の説明とか調理前の説明などが充実しており全く知らない自分にとってもわかりやすかった. 締めるシーンも原作以上にあり, 生き物を食べるということがどういうことかというのもちゃんと描画しているのがよいです. 釣りには一ミリも興味がないけど, とても楽しめた. 作者の方が熊本豪雨で被災して一時休載というのが残念. 再開の見通しはたっているそうなので, 話がまた貯まったら 2期に期待したい
amazonの recommendに出てきてそういえばアニメ見ていたなということで購入. なかなか楽しめた. 今アニメが放送されたら主人公の名前と父親の声優から, 絶対にゴーストオブツシマネタで盛り上がったんだろうなと思った. こちらも 2期があれば是非みたい.
bashでコマンド出力の各行を配列に設定する
bash4 以降は mapfile + プロセス置換を使う方法が標準的(?), スマートっぽい
# git remoteを配列 remotes に設定する mapfile -t remotes < <(git remote) echo "${remotes[@]}"
Git commit author, emailの書き換え
意図せず普段使い name, email以外が設定された環境でコミットしてしまった場合の対応
#!/usr/bin/env bash set -e NEW_NAME="NEW_NAME" NEW_EMAIL="new@gmail.com" git filter-branch -f --env-filter " GIT_AUTHOR_NAME='$NEW_NAME' GIT_AUTHOR_EMAIL='$NEW_EMAIL' GIT_COMMITTER_NAME='$NEW_NAME' GIT_COMMITTER_EMAIL='$NEW_EMAIL' " HEAD
% git push -f
epub reader for Ubuntu
リモートワークを始めて買ったもの
フットレスト
昔サンワの重々しい感じのものを使っていたが, ごついし, 固いし, 小指をぶつけたら痛いしということで処分して以降使っていなかったのだが, 家での作業が増えて検討してところよさげなものがあったので買ってみた. 感想としてはとてもよい. やわらかめで大きさも小さく, 足をぶつけても全く痛くない. 見た目も悪くない. ちょっと高めだけど, 十分その価値はあると感じる.
バリカン
美容室に行くことがリスク及び自分が害を及ぼす可能性が出てしまったので, セルフカット目的で購入. 正直安いのでよかったのだが, 手ごろな価格のものがほとんど品切れだったのと評判があんまりよくないのが多かったのでいっそのこと評価が良さげなプロ仕様のものを買った. 安いやつの 3-4倍の価格ではあるが, 1年セルフカットしたら余裕で元は取れる. 他のバリカンを知らないので適切な感想かは不明だが, 切れ味等に問題は全くなく, 難なく坊主(五分刈り)にできた. 坊主にしたのも 30数年ぶりだし, セルフカットもしたことなかったので一刈目を入れるのにすごく躊躇したが, 思い切ってバサッと入れて後戻りができない状態にしていこうはすんなり受け入れられた.
生まれて初めてのセルフカットになったわけですが, 坊主といえどきれいにやることはかなり難しく, これでいいだろうと思ってシャンプーしたら長い部分が残っていることに気づくということを 3回ほど繰り返してなんとか見た目は違和感ない程度にできた. ただそれでも後からじっくり触ってみると長さが微妙にバラバラであることに気づき, 難しさを感じた. 元の日常になったら面倒臭くて多分自分ではやらないだろうなぁと思うが, 1年はとりあえずセルフカットで済ます予定.
その他
ずっと家にいると物がたくさんあることが気になったのと, 会社マシンを家に運ぶことになったので, これを機会に諸々(古いモニタ, 使わなくなった PC etc)処分したり, スピーカを片づけたり, 配線周りをきれいにしたりした. 現状は以下のような感じ.
Show smile in prompt if Git commit hash is lucky
git のコミットハッシュにゾロ目が出ると幸せになきもちになる。 git 茶柱と呼びたい
— shinichiro hamaji (@shinh) April 27, 2020
Configuration
setopt re_match_pcre ## show git branch at right prompt autoload -Uz vcs_info zstyle ':vcs_info:*' formats '(%b)' zstyle ':vcs_info:*' actionformats '[%s]-(%b|%a)' precmd () { psvar=() LANG=en_US.UTF-8 vcs_info if [[ -n $vcs_info_msg_0_ ]]; then local rev=$(git rev-parse HEAD 2>/dev/null) if [[ $rev =~ '([0-9])\1{3}' ]]; then psvar[1]='😊 ' fi psvar[2]="$vcs_info_msg_0_" fi } _DIRPART=%B%{$fg[cyan]%}'[%(5~,%-2~/.../%2~,%~)]'%{$reset_color%}%b RPROMPT=%B"%1(v|%F{magenta}%1v%f%F{green}%2v%f|)"%b${_DIRPART}
Image
Commit ID is generated by commit_artist