最高の一日/差別をした/逆だったかもしれねェ…

今日は最高の日だった。つまり、1年間で最高の気象条件だったという意味だ。自宅を1歩出た瞬間そう思った。涼しいが寒くなく、太陽はよく照っているが暑くもない。すぐさま川辺で昼寝をしたいと思った。明日にはもう地球と太陽の位置関係が変わって、この繊細なバランスは失われてしまうだろう。

残念なことに僕は会社員だ。会社員というのは特段の理由がなければ毎日会社に来ることを期待されており、その継続性に価値が生じている。ともかく、僕は川辺の微風を名残惜しく感じながら電車に乗って会社に行ったのだ。

昼休みに「気持ちのいい天気だから外に出よう」と思って外に食べに行ったのだが、もう遅かった。太陽が高く登り繊細な朝の空気は失われ、既に暑さを感じる状態になっていた。さらに、帰りは肌寒かった。一日のなかでちょうどいい・暑い・寒いの3パターンを感じられる日というのはそれはそれで貴重だろうが、だったらなおのこと、この精妙な天気の変化をオフィスではなく外でボーッとしながら連続的に感じていたかった。

季節の移ろいを肌で感じるとき僕はいつも泣きそうな気持ちになり、そして死にたくなる。今日ほどそれを感じさせる日は少なくともあと1年はやってこないし、1年後に僕が季節の変化を感じ取れる繊細な心を持ち続けている保証はない。

帰り道のコンビニで粗大ごみを捨てるための券を買った。粗大ごみを回収してもらうためにはこの券を貼っておく必要があるのだ。これを買うときに、僕は差別的な行為をした。

コンビニに入るとレジが2つとも空いていた。手前のレジには日本人の女性、奥のレジには中国人らしき女性が立っていた。一瞬の判断だったが、僕は間違いなく意図的に中国人の店員を避けて手前のレジの店員に声をかけた。

なぜそうしたのか。粗大ごみ券を買うためにはレジで「粗大ごみ券をくれ」と言わなければならない。スーパーでバイトをしていた経験を思い出すと、こういう特殊な対応は難しい。大抵は完全に習得する前にレジに立つことになる。そういう対応を求めるとなると、中国人の店員は習熟度や言語に不安があると感じたのだ。だから僕は手前のレジの日本人店員を狙って声をかけた。

2つ空いているレジのどちらを選ぶか、要は50%の話なのだからどちらを選んだところで客観的には大した意味はない。なんなら手前のレジの方が若干近かったので合理的とも言える。それでも、僕の頭の中に一瞬「中国人の店員は習熟度が低そうだし、言語能力も不安だ」という思考が生じたのは事実だ。

少なくとも僕は、自分は差別をしたと思っている。だが、よりよいサービスを受けられる可能性が高い(と自分の中で考えて、自分が思う)合理的な選択をしただけというのもまた事実だと思っている。それでも合理性の名のもとに僕のしたことを正当化出来ないという感覚もある。

この話は難しい。中国人店員が僕の思考に気づいていたら彼女は傷ついただろう。僕が同じことをされたら傷つく。たまたま僕は今自分の生活圏でおおよそマジョリティと言えるグループに属しているが、そうではない状況になるかもしれない。僕は古い人間なので状況に関係なく貫ける正義を探してしまう。

僕と彼女の立場は逆だったかもしれねェ…などと考えながら夕食に鮭の炊き込みご飯を作ったのだが、間違えて茶碗に味噌汁の素を入れてしまった。なのでいつもと逆に茶碗で味噌汁を、汁椀で炊き込みご飯を食べた。味はいつもと同じだった。

睡眠時間の捻出

タイミングの妙で退勤が遅くなる日が続いてしまい、それでも毎日やりたいことはやるとすると睡眠時間にシワ寄せがくる。会社員になってから睡眠時間が短くても(5時間程度)でも日中は支障なく活動できるのだが、やはりダメージはあって集中力が落ちていたり軽い空腹でめまいが起きたりする。

ここ数日は冷やし中華を作っていた。麺を茹でてツナ缶・カット野菜を雑に乗せるだけでいい感じになる。

ああ、この先の人生、どんどん健康タグの出番が増えていくのだろう。

イ能力

※この記事は『のどごし生』を飲んで書かれた。

今日のランチはバターチキンカレーを買った。カレーとライスが別容器のやつだ。ある程度の体積の液体を加熱するのは大変だろうと思い、いつもより少し長めに電子レンジで加熱した。これが原因かわからないが、カレーが酸っぱかった。しかし、これが異常事態か判断する決め手がなかった。バターチキンカレーを買うのは2度目だが、1度目の味を正確に記憶しているわけではなく「美味しかった」程度の曖昧な記憶しかなかったからだ。結局心を無にして食べた。食べている最中に電話応対をする必要もあり、不本意な昼食だった。

帰宅して焼きそばを作った。数日外食をしたので薄々勘付いてはいたのだが、肉から変な匂いがした。焼きそばの材料は3日分ずつ買う。肉は大抵3日がギリギリなので、買ったら毎日焼きそばを作って食べないと傷んだ肉を食べることになる。

でも大丈夫だ。肉は焼けば匂いが消えるし、焼きそばの濃い味付けならなおさらだ。平然と食べた。僕の胃は強い。

ActivityPubとgRPCで遊んでみたいなあ。DDDの勉強もしなきゃ。

焼きそばの研究を始めることにした

僕が作れる焼きそばは普通のソース焼きそばとオイスターソース焼きそばの2種類だった。しかい今日スーパーの焼きそばの棚で、一番安い麺から目を離してふと上を見ると、いろいろな種類の焼きそばが売っていた。急に少ない種類の焼きそばしか作れないのはもったいない気がしてきた。それに焼きそばの味を変えるのはさほど難しくない。麺と野菜と豚肉を炒める処理はどうせ変わらないからだ。

というわけでしばらくいろいろな焼きそばを買ってきて味をインプットすることにする。

まっとうな会社に勤めているので明日も休みだ。明日はアキバに繰り出してドライアイ対策の卓上加湿器を買おうと思う。きちんと効果があるのは大前提だが、オフィスで使う以上隣人に迷惑をかけないのも重要で、その辺りの加減は通販では難しいと思うので実物を見に行く。

アキバで買いたいものはいろいろある。サウンドカードを挿したいし、ディスプレイが欲しいし、Bluetoothイヤホンも欲しい。が、またお金を突っ込めるほど調査が進んでいない。

きのこの山/Scalaでアンパックもどき

きのこの山

きのこの山というお菓子を何かと比較する不遜な輩が多くいるようだ。

きのこの山はチョコレートとカリカリが分離している。万事において分離しているというのは大事なことだ。均質ではなく、高いエントロピーの中で異質なものが混じり合う中にこそグラデーションが生まれる。そしてグラデーションの中にこそ精妙な味わいが生まれてくる。

カレーをかき混ぜてはいけないし、丼料理をつゆだくにしてはいけないし、醤油にわさびを溶いてはいけない。それが俺の美意識。

Scalaでアンパックもどき

関数に複数の引数を渡すとき、コレクションをそのまま渡したいことがある。たとえばPythonであれば*を使ってアンパックできる。

Scalaでこれをやりたくで3分ググったところη-expansionを使った方法が見つかった。

(plus _)plusメソッドを関数に変換した後、さらにtupledメソッドによって1つのタプルを引数とする関数に変換している。

正確にはアンパックではないことに気づき、タイトルに「もどき」をつけた。

キャベツの千切り

酒を飲んでないからだろうが、あまり日記を書くモチベーションが上がらない。

複雑な事情によって千切りキャベツが1袋分あるのでそれをサンドイッチにして食べるためにパンと具を買ってきたのだが、パンが小さいせいで全然キャベツを詰められなくて半分も食べられなかった。辛い。

オフライン外出

※この記事は『金麦』を飲んで書かれた。

今日は用事で世田谷区に行った。夜にスマホを充電するのを忘れたので道中で電池がなくなった。目的地までのルートは覚えていたので問題なかった。面白いものを見たときにシェアしたいという気持ちをが強く生じるのだなあと思った。

帰りに焼きそばの材料を買ってきたはずが肉を忘れていたのでもう一度外出する羽目になった。麺・肉・野菜を3食分ずつ買えない問題は以前紹介したとおりで、3食分に相当する野菜を売ってくれという希望を出したら本部に意見を送ると言われた。望みは薄いだろう。

その後はDota2をして過ごしたが全然勝てなかった。一時的なスランプかもしれないし、プレイ頻度が落ちたせいで腕が落ちているのかもしれないし、あるいは最近のパッチによるメタの変動についていけていないのかもしれない。時間の無駄なのでこの際やめてしまおうかなどと考えるけれど、それを言い始めるとすぐに首を吊ることになる。まがい物の刺激で脳を慰める人生は楽しいか?

最近は日記の文体を自分で意識しすぎていた。今日は酔いの程度が良く、力を抜いた文章が書けたような気がする。シラフでは書けない。

豚肉が安かった

※この記事は『プライムリッチ』を飲んで書かれた。

今日は行きつけのスーパーで豚肉が100g78円だった。普段の128円に比べてとても安い。しかし一人暮らしでは大量購入しても腐らせるだけなので結局いつも通りの量を買って帰った。一人は非効率的だが自由というかけがえのないメリットがある。

焼きそばは麺・肉・カット野菜の3点セットで作る。麺が3食分セットで売っているのでカット野菜も3食分ずつ買いたいのだが、近所のスーパーには2食分(150g)か4食分(300g)しかない。他のスーパーでよく売っている210gで売ってほしいと要望を出した。

このスーパーはレジの流れが遅いのもつらい。各列10人ずつくらいならんでいることがザラだ。大きいスーパーなので一度に大量に買う人が多くてそうなってしまうのだろう。僕は少しでも会計の時間を短縮するために「ポイントカードは…」と聞かれると食い気味に「ないです」と答えるのだが、ちょっと感じが悪そうで気がとがめる。「ないです」が日本語的にあまりしっくりこないのも気持ちが悪い。

第2の料理/ReactのsetStateがワカラナイ

※この記事は『Asahi 極上<キレ味>』を飲んで書かれた。

↑キレ味ってなんだ…?

昨日なんとなく焼きそばに飽きたので今日は鮭の炊き込みご飯を作った。これも僕のレパートリーの1つだが、ご飯を炊くのは時間がかかるので敬遠していた。

作り方はかんたんで、ご飯を炊くときに醤油・鮭・えのき・鮭を一緒に入れるだけだ。こだわるなら昆布も。炊き上がるころには部屋が醤油のいい香りに包まれている。

今日もReactのドキュメントを読んでいた。だいたい理解しながら読み進んでいるが、やはりReactがパフォーマンスを出すために中でゴニョゴニョやっていることを理解するのが難しい。たとえばここ。再描画の回数を減らすためにsetStateは即時に実行されないことがあるという。しかし例示されているコードでどのような不具合が起きる可能性があるのか、failの一言だけではよくわからない。

Because this.props and this.state may be updated asynchronously, you should not rely on their values for calculating the next state.

For example, this code may fail to update the counter:

// Wrong
this.setState({
  counter: this.state.counter + this.props.increment,
});

これの解決策としてsetStateに関数を渡すことで確実にsetStateが行われるタイミングでのpropsの値を取得する方法が紹介されているが、これによって何を解決しているのだろうか。

※この記事はいろんなビールを飲んで書かれた。

今日は友人宅で鍋をした。鍋は優れた料理だ。既製品のスープさえ買ってくればあとは任意の食材を切って放り込むだけで美味しく食べることができる。これは男の料理ポイントが高い。

が、今日ははしゃいで酒を飲みすぎた。絶対量としては大した量ではないが僕は許容量が少ないので辛い。