mumumu の日記

Development, Translation, daily life, thoughts, and so on.

2019-11-04 20:01:11 +0900

自炊はじめました

最近、妻が作るものとは別に、自分で好きなものを料理するようになった。

きっかけ

そもそものきっかけは、マネーフォワード で家計を見ていて、外食している部分について、もう少し食費を改善できないかなと思ったのと、Twitter で簡単なレシピがリツイートされてきたこと、そして「自炊力」 を読んだことである。

特に最後の「自炊力」については、料理に対する心理的なハードルを下げるような物言いが随所になされている。「自炊ができないことは悪いことではない」「自炊ってこんなもんでいいんだよ」的な物言いは、自分的には割と救われたと思う。

参考にしているもの

「自炊力」には、料理のとっかかりとなる手掛かりがいろいろ書いてあるが、自分的には以下の2点ができれば今は十分だと思っている。

a) 主食主菜副菜を考慮できること
 献立を見て、あ、これ足りないね、と思えるだけで良い
b) 複数のレシピが作れること
 何がきっかけでも良いが、自分が作れるものを増やすこと

「自炊力」では、レシピ本よりもテレビの料理番組を覚えるきっかけとして勧めているが、実際料理熱が高まっているのなら、なんでもいいと思う。自分は Kindle でいくつかレシピ本を漁った結果、以下をメインで見るようになった。

これでいいんだ!自炊ごはん
ゆる自炊BOOK

どちらも初心者向けにビジュアルが工夫されていることと、レシピそのものも簡単な手順でできるものが多いので、今も割とよく見ている。

個人的なレパートリーメモ

以下は、いろんなところから拾ってきたりして、自分流にアレンジした個人的なレパートリーである。
いいじゃん CookDo や XX の素そのまんまでも。それでいいと思う。

叙々苑サラダのレシピ
  これさえあれば野菜を無限に食べられる。タンパク質的な意味で豆腐を加えても良い
  ・ ごま油(大さじ1)
  ・ サラダ油(大さじ1)
  ・ しょうゆ(大さじ1)
  ・ 味の素(小さじ1)
  ・ 煎りごま(好きなだけ)
・ ペペロンチーノ
  S&B の まぜるだけのスパゲッティソースペペロンチーノ を使う
  ・ パスタにベーコン炒めとサニーレタスを足すだけで、十二分においしい
  ・ 子供もお気に入り
豚バラじゃが煮
  上記リンク先がベース。分量は個人的に以下の通りアレンジしている。
  「これでいいんだ!自炊ごはん」P34
  ・ 豚バラ薄切り100g
  ・ じゃがいも小2個200g
  ・ サラダ油小さじ1
  ・ 煮汁
    - 水(200ml)
    - しょうゆ(大さじ2)
    - みりん(大さじ2)
    - 砂糖(大さじ2)
豚もやしキムチ炒め
  上記のリンクを完全に再現すればよい
  「これでいいんだ!自炊ごはん」P28.
   ・ ポイントは、豚肉に塩コショウを強めにかけること
豚肉の生姜焼き
  エバラの「生姜焼きのタレ」を使ってすぐ出来る系
・ 豚バラともやしのフライパン蒸し
  「これでいいんだ!自炊ごはん」P28.
  蒸したものにかけるタレがポイント
・ レタス卵チャーハン
  「焼豚チャーハンの素」 を使う
   ・これをベースに、焼豚を細切りにしたソーセージに置き換え、レタスを加える
・ チーズトースト
  食パンにチーズを載せ、ベーコンを刻んだものを載せる。その上にマヨネーズを振って焼く
・ チンジャオロース
  CookDo の 青椒肉絲用 をそのまま使うやつ
・ 卵スープ
  鶏ガラスープの素 をおおさじ1入れ、ちぎったレタスと溶き卵とともに煮る
  最後にこしょうをひと振り

これから作りたいと思っているもの

ポテトサラダ とか 豚汁とか。いろいろ目に付いたレシピを試していきたい

モチベーション

子供においしいと言ってもらえるのもひとつあるが、やはり自分で「うまい」と思えるものを作れた時は最高の達成感を得られる。特に上記の「豚バラじゃが煮」を再現できた時は本当に嬉しかった。

以下がその写真である。

2018-12-04 07:38:18 +0900

FireTV Stick とUSBケーブル

https://www.amazon.co.jp/gp/product/B012WL4QMW/

最近 FireTV Stick を買った。動機は Amazon Prime Video を市販のテレビにキャストしたかったのだ(*1)。

これは電源をUSBケーブルから取る仕様なのだが、付属のケーブルは 長さが1.5m と短く、自分の環境では短過ぎた。だが、長いものを買おうにも、市販のケーブルで相性がいいものがなかなかなくて困った。

いろいろ試した結果、以下の Anker のものに行き着いた。3m でよければ、これで十分だ。Anker は USBケーブル周りでかなり評判が良いようなので買ってみたが、評判通りだったと言えよう(*´~`)

(*1) PC から Google Chrome 経由で Amazon Prime Video をキャストさせたり、スマホ画面をキャストさせたりすれば見れるのは承知しているが、リモコンがあった方が家族には優しい

2018-09-25 20:36:39 +0900

[PATCH] Courier の TLS 証明書と秘密鍵ファイルを分離する

このエントリは、以下の Pull Request がマージされるまでの記録である。
https://github.com/svarshavchik/courier-libs/pull/13

3行まとめ

1) Courier Mail Server (以下 Courier) という古いメールサーバに patch を書いてマージしてもらった
2) いろいろ苦労しながら、やり遂げた記録
3) 青臭いソフトウェアエンジニアも、成長するものだと思う

なぜこの patch を書いたか

始まりは、Let's Encrypt を手元のサーバに導入しようとして、 Courier IMAP にも適用しようとしたことだった。だが、一筋縄では行かなかった。どうしても TLS の通信に失敗するのだ。いろいろググった結果、Courier では、「TLS の秘密鍵と証明書は同一のファイルに入っていなければいけない」ことがわかった

多くのサーバソフトウェアでは、TLS の秘密鍵と証明書のファイルパスは別々に設定できる。メールサーバで言えば Postfix でもそうだ。このことから、自分にとっては Courier のこの動きは直感に反する仕様であった。しかもこれに関するドキュメントが 一切書かれていない ことにカッとなった。

だから、issueを立てて、秘密鍵と証明書を分離することを提案した ところ、メンテナ的にはデフォルトの動きに fallback 出来るなら問題ないよ、とのことだったので、patch を書いた。このエントリは、それがマージされたことの記録である。

当初はヤクの毛刈りに奔走

patch を書くのは一筋縄では行かなかった。当初はヤクの毛刈りに奔走させられた。当初は git のソースをまともにビルドすらできなかったので、ビルドをキックするスクリプトを修正することから始まり、メンテナと自分の開発するディストリビューションが異なる (*1) ことが原因の libtool まわりの修正から、ドキュメントの修正まで、送った patch は 6つに及んだ。

メンテナにしてみれば、自分以外の環境で patch を書く人がいるとは思ってもいなかったのだろう。

a) Courier 本体側で 送った patchたち
b) Courier Library 側で送った patch たち

(*1) メンテナは Fedora で、自分は Ubuntu だった。

OpenSSL + GnuTLS の両方に対応

一通りコードを書く環境が整い、途中まで patch を書いてみると、Courier は TLS 通信に OpenSSL だけでなく、 GnuTLS も並行してサポートしていることに気がついた。また、SNI(Server Name Indication) や IPアドレスベースのバーチャルホストもサポートしていたので、それらもこれら両方のライブラリでサポートするように書かなければならなかった。

さらに、これら2つのライブラリのコードは、実装されている機能がそれぞれに微妙に異なっていたので、どこまで実装するかを判断するために全コードを見る必要があり、対応は難航した。方針は以下に纏めた通りだが、正直 GnuTLS 側のコードは、よく [読めた|書けた] ものだと今振り返ってみて思う。

c) couriertls の TLS_PRIVATE_KEY 対応方針

モチベーション

何故ここまで続いたのかは、正直わからない。本職で C++ を書くようになり、この手のソフトウェアの深追いには慣れていたことが割と大きかったように思う。あとは、少しずつでも、ゴールに近づいている感覚が確実にあったからだろうか。また、義務感なしに、気が向いた時に作業できたのも大きい。

メンテナについて

Courier のメンテナは、 Sam Varshavchik というロシア人だ。コードが良ければ黙ってマージしてくれるし、提案にもちゃんと真摯に返事を返してくれる人だった。コード自体は正直綺麗だとは思わないが、OSS ではコードを全面的に書き直すのでもない限り、相手の流儀に徹底的に合わせるのが基本なので、メンテナの流儀を踏襲する方向で動いた。

その他

Courier 自体は 1990年代末からある古いソフトウェアである。自分は 自宅サーバを立て始めたのが2004年で、その時は他の人が書いた手順を見よう見まねで自分の環境にいろいろ適用しては試行錯誤を繰り返していた。 スラッシュドットの日記 にも、当時の青臭い記録が残っている。そんな糞エンジニアな自分が、こうして、patch を書くことなど思いもよらなかった。

当時から、少しは成長したんだなあ、と思う。

2018-03-04 18:45:12 +0900

ThinkPad Keyboard を買った

https://www3.lenovo.com/jp/ja/deals/sbiz/sbiz-accessory/KEYBOARD-Japanese/p/0B47181

最近、上のような形で3画面の環境にした。うん、良い。

だが、ノートPC (ASUS Zenbook Pro UX550VD) のキーボードがあまりにもアレだった(*注1)。リターンキーの右側に PgUp や PgDown 等のキーが存在してて、邪魔。使いにくいことこの上ない。

自分のような糞エンジニアでも生産性に影響するレベルだったため、ThinkPad Keyboard (Bluetooth版) を買った。

こういう動機で買ったものの、上のような環境だと首を横に向ければ壁によっかかる形で作業できるので、非常に良い。これまではノートパソコンを寝ながら使いたいという動機から ゴロ寝デスクの類を使ってきた が、ちょっと体勢を変えたいとか思った時も、デスクと違い、体の移動とかを考えなくても良い。

もともと ThinkPad ユーザー (*注2) だったため、このキータッチには慣れているし、何より軽いので非常に楽に使える。あと、ノートPC と違い、筐体が熱くならないのも何気にポイント高い。唯一の欠点といえば、一番左下が Fn キーで、ソフトウェア的に他の Keymap の割当が不可能なことだが、慣れの問題と言い切れるので、自分は気にならない(*注3)。

自分が本当に欲しかった環境って、「寝ながら使いたい」じゃなくて、「軽くて体がいろいろ動かしやすい」ことだったってことに今更気付いたのだった。。

なので、ゴロ寝デスクはもう使わない... 多分。

(*注1) じゃあなんで買ったし、というツッコミは尤もなんですが、急いでたので魔が差したというか...
(*注2) 社会人なりたての時に、ThinkPad T40 とか使ってたし、ThinkPad が好きな社長の会社で働いていた時は、業務用のPCも ThinkPad だった。
(*注3) 多分これが原因で Bluetooth 版を選んでない人相当いるんじゃないかと推測