きのこの山/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の値を取得する方法が紹介されているが、これによって何を解決しているのだろうか。

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

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

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

スパゲッティ回帰

※今日はほんのちょっとイタリアの果実酒を飲んだが、量が少ないのでノーカン

スパゲッティが送りつけられてきたので、最近はスパゲッティを食べている。考えてみればスパゲッティは乾麺なので、人に送りつけるには適している。

実は、昔はスパゲッティをよく食べていた。安いし楽だったからだ。しかし焼きそばは調理時間・コスト・栄養の全てでスパゲッティを上回っていたのでやがて焼きそばに移行した。しかし焼きそばの習熟度が上がるにつれて自分への要求が高まり、調理工程が複雑化した。現在では初期に比べて調理時間は3倍程度になっている。

なので現時点ではスパゲッティは調理時間の面でアドバンテージがある。茹でている間は放っといていいというのも大きい。また、コストはかかるもののいろいろな味のソースを買ってくることで変化をつけられるのも利点だ。

研究はヤバい。学会に出ることになったが、要旨の提出期限が近い。しかし本番までは時間がまだ残っている。何かしら喋るネタは生まれるだろう。ここを耐えれば、夏明けの進捗発表で話す練習にもなるんだから。

次回、「ちゃお死す」。デュエルスタンバイ!

演繹的大勝利

※この記事は『ほろよい メロンサワー』を飲みながら書かれた。

というわけで鶏胸肉焼きそばのアレンジを試みた。問題点は焼きそばのソースの味と鶏胸肉が本来持つ酸味の相性が悪いことだった。ここで私は2つの食材に共通して組み合わされる調味料を加えて橋を渡すことを考えた。それはマヨネーズである。

マヨネーズを焼きそばにかけるのはごく一般的だ。マヨネーズを細く格子状にかけているのをよく見る。また、鶏胸肉の調理法としてマヨネーズ焼きはこれも一般的だ。というわけで鶏胸肉を焼く前にマヨネーズを塗った。

はたして、大成功であった。マヨネーズが焼きそばと相性が良いのは既知のことであったが、さらに酸味と塩味が融合したマヨネーズが鶏胸肉の酸味を覆い隠しつつ焼きそばの味になじませている。完全勝利である。

私は実験科学を専攻する身として、演繹的なものの考え方には懐疑的である。頭の中で考えたことがその通りに成功すると信じることは少ない。しかし今回ばかりは私のロジックは完全に正しかったようだ。私の舌がそれを証明した。

えーっと

今日は何があったかな…

そうだ。承認してないので表示されてませんが、結構スパムコメントが来ているので”http”は禁止ワードにしました。URLを投稿したいときはなんか工夫してください。

一昨日買い物をしたときに豚肉が売り切れていたので代わりに鶏胸肉を買った。それで焼きそばを作ってみたが、やはり不味かった。鶏胸肉には若干の酸味があり、焼きそばとの相性が悪い。あるいは焼きそばの味付けの方を鶏胸肉の方にアジャストすれば良いのかもしれない。若干の研究を要する事案だが、鶏胸肉のグラム価格は豚肉の半額以下なので良い調理法が確立できればリターンは大きい。

大学に行き、ゼミの教科書を読んだ。明日は自分の発表順が回ってくるかどうか微妙なところだ。今回の発表スライドはMarpでmarkdownを使って書いている。その理由は数式が多いからだ。Marpは標準でKaTeXに対応している。またmarkdownは純粋なテキストファイルなのでgit管理できるのも良い(githubの草を水増ししている)

僕はスライド作りが苦手だ。アニメーションは全然うまく使えないし、そもそも何をスライドに載せておくべきかよくわからない。人の心がわからないので自分が読んで既に理解したものを他人に説明するとき、他人はどんなスライドがあれば理解しやすいかぜんぜんわからない。俺は雰囲気でスライド作りをやっている。markdownは見出しやリスト化などできることが限られているので、逆に構造化されたスライドが作りやすい(気がする)。

自由からの逃走。