牛煮込みのタコス

タコスやろうぜ

2、3年前からとあるオフ会バーベキューに参加してます。この会ではバーベキューと言っても様々な料理があり、どれもスーパーうまい。さらにビール片手にイケてる音楽を聴けるという楽しいイベントです。ある回でタコスを食べているところに「トルティーヤ家で焼いて食べてるんですよ」と言ったら「タコスやろうぜ」となり、それから炭の火が起きる前の前菜としてタコスや(たまにビリヤニ)を作って持ち込んでいます。

ひき肉にタコスシーズニングのオースドックス(?)なタコスはもちろん美味しいのですが、前にも書いたようにタコスは自由でたくさんのバリエーションが存在します。せっかく作るなら面白くてうまいやつにしよう、ということで毎回新しいものにチャレンジしています。今回は牛肉の煮込みにしてみました。

牛煮込みタコス

このタコスがけっこう美味しく好評だったのでレシピをメモしておこうと思います。ベースはbirria tacosです。この料理は牛肉をホロホロになるまで煮込み、煮汁の油をトルティーヤにつけてチーズと共に鉄板で温め、具と一緒に食べる料理です。今回は簡単に提供できるよう鉄板を使わず、温めた牛煮込み、細切りチーズ、その他の具をトルティーヤで包む方式にしました。なので名称としては「牛煮込みタコス」というのが正しいと思います。

牛の煮込み

タコスは手順は多い割に作るのが簡単な料理だと私は思います。メインの具の牛煮込みは鍋に材料を放り込んで火にかけて煮えたらほぐすだけ。まとめて作って冷凍しておけばタコライスやサラダの具材にも利用できます。

肉は牛バラと牛肩ロースです。ざっくり切ってフライパンで焼き目をつけます。豚でも大丈夫だと思いますが、強い旨味が欲しいので脂身がある牛バラを混ぜたいところですね。牛タンを加えるというレシピもあったのですが、高いのでやめました。ホルモンも相性がよいと思われます。筋もふくめて様々な肉の部位が渾然一体となった方が奥行きがでるというか。

牛バラを焼く

焼き目をつけたらトマト缶、玉ねぎみじん切り、赤ワイン、チョコ少々、ニンニク、塩、ローリエ、パプリカパウダー、クミンパウダー、オレガノパウダー、そしてワヒーヨ(Guajillo)を水で戻したものと一緒に圧力鍋で30分加圧します。

煮込みスタート

ワヒーヨはメキシコの唐辛子で、乾燥させた状態で売っています。とても辛そうに見えますが、実は全然辛くありません。そのまま食べるとチョコレートに似たような独特の深みのある香りと甘みがあります。これを水で戻してブレンダーで粉砕して加えます。なかったら普通の唐辛子でも大丈夫だと思います。

乾燥ワヒーヨ とても大きい

30分加圧した様子

加圧が終わったらローリエを除いてほぐします。30分ぐらい加圧調理すれば肉はホロホロになっているので簡単にほぐれます。この状態で別の料理に転生させることもできそうです。味をなじませるために煮汁に戻して軽く煮詰めて一晩置きました。タコスとして食べるときにはフライパン+カセットコンロで温めて具にします。

ほぐした肉

トルティーヤ・その他

具はできたのであとはその他を用意しましょう。この辺は割と好みで色々アレンジできそうです。

トルティーヤはイエローマサ粉を使いました。もう手慣れたものです。小麦粉のフラワートルティーヤも合いそうです。

一家に一台 トルティーヤプレス

サルサは刻んだトマト、ライム果汁、玉ねぎ、塩、タバスコ少々、バルサミコ酢を混ぜたものです。細切りチーズはチェダー入りがよい。玉ねぎはみじん切りにして水にさらしておく。サルサにタバスコを香り付けに少量いれたものの、辛味はまったくないので辛党の人はタバスコも加えてもらいました。パクチーは苦手な人もいるので選択制にしました。茎はみじん切り、葉はざく切りに。盛るときに「パクチー入れますか?」と聞いていたら某ラーメン屋みたいな気持ちになりました。最後にスライスしたライムを添えて完成。絞って口の中に放り込みます。うまい!

る さん(@cismo.bsky.social)提供

次はどうしようかな

次回はどんなタコスを試そうかな。タコス以外でもいいかも。

私のタコス

私のタコスの楽しみ方を書きたいと思います。

タコスの例

タコスは辞書的に言えばメキシコ料理です。テキサス州のメキシコ的料理であるテクス・メクスを含め、アメリカ大陸南部に独特の生態系を持ちます。地方ごとに皮=トルティーヤに限らず、具やソース=サルサまで多種多様なバリエーションが存在します。なんだかお好み焼きみたいな感じがします。

タコスは自由だ

私が思うタコスの良さは自由であることです。「これがタコスだ!」のようなルールは特にありません。そう考えないタコス原理主義者にも会いましたが…。インターネットで調べるとたくさんのレシピがヒットします。皮から具材まで多種多様。どれもが美味しい。そして自分が良いと思う組み合わせを探索できること。そんな懐の深さがタコスにはあります。

タコスは自由だ

ここでは「私のタコス」の楽しみ方について書いてみましょう。私なりの最小構成はトルティーヤ・具材・サルサ・その他(ライム・パクチー・玉ねぎ・ハラペーニョ)です。最初はアボカドのワカモレやチーズも加えていたのですが、重複する味を除き省略するに従い不要になりました。実際にメキシコのレシピだと無いパターンをけっこう目にします。それぞれをみていきましょう:

トルティー

皮です。小麦粉ベース、トウモロコシ粉ベースの大きく分けて2種類あります。テクス・メクスや日本のスーパーマーケットで売っている皮は小麦粉ベースですね。これは便利なのですが私はトウモロコシ粉を使っています。トウモロコシ粉といっても製菓に使うコーンフラワーではなく、皮をアルカリで処理するニシュタマリゼーション(Nixtamalization)という過程を経た「マサ粉」を使います。ネットで買えますが、南米食品を扱っているスーパーや雑貨店でたまに目にします。マサ粉にはトウモロコシの種類でさらに違いがあります。私が目にした範囲では白・黄・青の3種類があり、それぞれホワイト/イエロ/ブルー{マサ}と呼ばれています。主な違いは香りです。白→青になるにしたがって独特の香りが出る印象があります。挽き方でも食感にバリエーションがあります。細かい方が扱いやすいです。

ホワイトマサ粉のトルティーヤを焼く

ブルーマサ粉のトルティーヤを作るようす

マサ粉のトルティーヤの作り方はシンプルです。混ぜて伸ばして焼くだけ。小麦粉と違ってグルテンがないため練る・発酵などの手間はありません。粉と水と塩をまぜて軽くこねる。そして球状にわけて丸めたのちに伸ばす。トルティーヤプレスで伸ばすと楽です。2000円ぐらいで買えます。まな板2枚で体重をかけてもできます。生地に粘り気がないため麺を伸ばす木の棒だと割れやすい。伸ばすというよりも押しつぶすという感覚です。

トルティーヤプレス2000円

伸ばしたらフライパンで焼きます。よく膨らむ画像をインターネットでみるのですが、温度と生地の水分量のせいかあまり膨らみません。膨らむこと自体に意味はあるのかは謎です。片面1分もかからないぐらいで焼けるのでキッチンペーパーで包んで重ねていきます。皮に湿度を適度にいれないと割れてしまうため、専用の密閉容器なども売られています。まぁすぐ食べるなら気を使わなくても大丈夫だと思います。

イエローマサ粉のトルティーヤが焼けた

具材

具材は大雑把に言えばなんでも良いと思います。トルティーヤがトウモロコシ粉の場合は小麦粉にくらべて皮自体の香りが強いので肉の旨味やスパイスを効かせるとバランスが取れる気がします。よく目にするタコスシーズニングにはクミン・塩・ニンニク・唐辛子が使われています。これに豚か牛のひき肉を混ぜて煮なさいと説明書にはありますよね。これも美味しいですが、他にも合う具材はあります。私が好きなのは牛ハラミ肉にクミン・塩・ニンニク・唐辛子・ライム果汁に15分ぐらいつけて焼いたものです。

スパイスでマリネした牛ハラミ

そして一番好きなのはプルドポークです。これはカルニータスというメキシコのタコスを参考にしたものです。カルニータスは豚塊肉を低温かつ大量のラードで長時間揚げる料理であり、なかなか家で再現は大変です。そのため豚肉にクミン・塩・ニンニク・唐辛子を刷り込んで味をつけて焼き付け、そして圧力鍋で煮てホロホロにしました。

プルドポーク

プルドポークをつかったタコス

タコスの具は牛や豚だけではありません。メカジキもおいしい。「フィッシュタコス」で検索するとわかりますが、実は魚のタコスはメキシコではポピュラーな存在のようです。肉と同様に調味料をすりこんだ後に揚げ焼きにしました。ここでは試しませんでしたがサワークリームなどが合うと思います。

フィッシュタコス

サルサ

スペイン語でいうところのソースですね。私が考えるサルサの役割は酸味と甘味、そしてトマト的なうまみを与えることだと思っています。一番簡単なのはミニトマトと玉ねぎをみじん切りにして塩とバルサミコ酢で調味したものです。バルサミコ酢を使うレシピはあまりないのですが、酸・塩・甘味が整っているため味を決めるには便利です。深みを出したければトマト玉ねぎと青唐辛子(シシトウ)を油をひかずにフライパンで焦げるまで焼いて粉砕して作るとおいしい。メキシコのレシピだと食用ほうずき(トマティーヨ)やパクチーを使う場合もあるみたいです。

簡易サルサ

その他(ライム・パクチー・玉ねぎ・ハラペーニョ

皮と具さえできてしまえばあとは簡単です。ライムはスライスして食べるときに絞る。スライスした状態で冷凍しておくと便利です。パクチーと玉ねぎはみじん切り。ハラペーニョはなければタバスコのハラペーニョ味を使うのがおすすめです。バルサミコ酢と同様に酢と塩が入ったバランスのある味なので全体をまとめる効果もあります。

ライムとパクチー

おわりに

私なりのタコスの楽しみ方を書いてみました。パーティー料理のイメージがありますが、実はタコスは日々の食事としても活躍します。ライムとハラペーニョは冷凍しておけばよく、マサ粉は日持ちがします。調味料はまぁあるとして、あと必要なのはパクチー・玉ねぎ・肉か魚ぐらいなものです。トルティーヤは慣れれば1〜2人前20分ぐらいで作れます。ご飯を炊くよりも早い。マサ粉さえ手に入れば粉もんの範疇でこなせる家庭料理になり得ます。なにより具材を挟み、ライムを絞ってかぶりつく体験が楽しい。

ここで書いたレシピはあくまで一例です。まだまだ試していないレシピは山ほどあります。タコスは懐が深く、それゆえに探索しがいのある料理です。研究は続きます。

観測されない世界は存在しない

彼は子供の頃から仏間が苦手だった。その仏間ではよく親族が集まり宴会が開かれていた。大好きな母は構ってくれない。そこに入るとタバコの煙が鼻と目を突き、少し遅れて酒の充満した匂いが迫ってきた。いつも優しい叔父さんは酔っ払いの有象無象の一部へと成り下がり、意味不明な言葉が流れ込んできた。唐突に肩を掴まれ、よくわからない言葉を投げかけられる。何を答えたかもわからないまま放り出され、手には少しばかりのお小遣いが残った。意味不明な空間。彼にとって仏間はお小遣いがもらえるチャンスの場というよりも、むしろ意味不明な人間たちがひしめく、恐るべき場所だった。

そんな彼も大人になった。仏間へは滅多に足を踏み入れない。「恐れているか」と聞かれればNoだが、そもそも立ち入る用事がないのだ、と彼は答えた。今日もまた彼は仏間に面した部屋でスマホに流れるツイートを読んでいた。実家に住むまま大学院まで進んだが、最初の就職先で躓いてしまった。入社したものの馴染めないまま無気力なまま過ごす日々。ある日辞表を出してしまっていた。それから彼は家に住むままバイトをしつつ過ごしていた。

彼の世界観は凝り固まりつつあった。ツイッターをはじめ、インターネットはまだ見ぬ世界の知らぬ人が送る「より良い」生活を教えてくれる。宇宙旅行、外国でのしがらみのない暮らし、北海道の雄大な自然、沖縄の海、都会のうまい店、海を望む温泉。写真、動画、文章を通して世界はその広さを教えてくれる。だが、彼は世界に広さを必要としていなかった。潜在的な希望を、よりよい生き方の可能性を認めたまま生きるには、彼にとって現実は現実過ぎたのだ。観測されない世界は俺にとって存在しない、と彼は考えていた。見えなく届きもしない世界のことを考えて何になるというのだろう?それらは世界の裏側、いや存在しないバグであり、俺が気にするべきものではない。

今年の夏は例年になく暑い。汗でスマホを持つ指が滑りそうだ。アブラセミの音が耳障りに響く。ふと顔をスマホの画面から背け、立ち上がり伸びをした。仏間の方へと足を伸ばす。

ーー観測されない世界は俺にとって存在しないーーそう考える彼も目の前の退屈には考えを改めざるを得なかった。退屈した日常には刺激が必要だ。祭り、飲み会、冠婚葬祭。そういった非日常な体験は日常に活を入れ、現実を改めて現実と認める機会を与えてくれるのだ。いつもとは違うことをする。公園の石をひっくり返すと見たこともないような有象無象が蠢く薄暗い世界が現れる。現実の不意を突いたような光景。ゲームのバグを見つけたようなものだ。ゲームの世界は人が作ったものであり、故に綻びつまりバグが存在する。想定されていない建物の裏へ潜り込めたり、崩れたグラフィックスのモンスターが存在する。現実も似たようなものかもしれない。現実世界にバグがなぜないのか?ある宗教家なら「世界の創造主は万能なので現実にはバグがない」と答えただろう。だが彼は創造主を信じてはいなかった。現実世界にも誰も観測していない裏面=バグがある…

彼は虫の鳴き声を背景にぼんやりと考えつつ、なんとなく仏間の襖を開けた。あの頃とは違い、古びた服の中のような匂いがぼんやりと鼻を突いた。ふと仏間にあるタンスの引き出しが目についた。ただ目に入ったというだけだ。彼は不意にすべてを壊し暴れまわりたい衝動に駆られた。目の前の仏壇に並ぶものを払い除け、家具という家具を壊し、畳の上でのたうちまわり世界を破壊する…しかし衝動は衝動のままだった。瞳孔は開き、肩は少し盛り上がったが、何もしなかった。彼は息を吸い、タンスを眺めた。

目の前にあるタンスの引き出しを開けたら何が起きるだろう?彼は先ほどの衝動を意識的に抑えつつ息を吐いた。先ほどの暴れまわりたい衝動とはべつの衝動がここまで唐突に現れたことに彼自身も意外だった。

そういえばこの引き出しを開けたことはなかった。中学以降、ほとんど入ったこともないような仏間だ。タンスに触ったことも恐らくないだろう。なんということはない。開かずの金庫を開ける番組でも大したものが出てこないことがセオリーだ。ましてや自分が暮らす実家で突飛なものなどあるはずもない。しかし、現実世界のバグがそこにあったとしたら?彼はまた息を吸い込んだ。背景ではセミの声が響き、手にするスマホの表面に汗が一筋伝わった。開けた先に何も存在していないとしたら?亜空間に吸い込まれ、万物が、この世界が壊れてしまうのではないか?

ーー馬鹿げているーー暑さにかまけた妄想だと彼自身が考え直す直前、その引き出しの取っ手が触りもしないのに「カタン」と動いた。音はしなかった。ほんの少しの動きだ。本当に動いたかどうかも分からない程のほんの少しの動きだ。風で動くようなものではない。見間違いのはずだ。彼は目を見開き、その取っ手を凝視した。手にするスマホの感覚はない。すべての感覚はその取っ手へと注がれていた。

毎日過ごす家のある部屋のタンスの、起きたかも怪しい微小な動き。ただの見間違いのはずだ。見逃せばそれで済む。しかし彼は気になってしまった。なんのことはない。見えない世界だが、あまりにも身近すぎる。今し方考えていた世界のバグなど無関係に決まっている。何を下らないことに気を使っているのだ。仏間を出て新しいツイートが届いてないか確認しよう…

しかし意思に反して彼は取っ手を掴んでいた。ほんの無意識の戯れだった。

空気の流れが変わった。それまで煩かったセミの声が止んだ。空気の流れが変わったのを感じた。恐ろしいほどに静寂な瞬間が訪れた。クーラー音さえもしない。もう少しで引き出しの隙間があく。手を伝う空気の流れを感じた。吸い込まれるような前兆を感じた。こうなったら開けるしかない。ゆっくり開けるか、一度に開けるか。取っ手を掴む手指の間には油汗が流れており滑りそうな予感が滲む。ここで手を離してはいけない。

ゲームの世界は人が作ったものであり綻び、つまりバグが存在する。観測されない世界は存在しない。ではこの引き出しは?これは意志の問題なのだ…

彼は息を吸って、数秒してから吐き、そして指に力を入れ取っ手を引いた。

NumPy Arrayのプロセス間コピーについて

大量のデータを使った機械学習ではどれだけ早く学習の計算を終えられるかが重要になります。特にPythonの実装では学習サンプルの事前データ処理にかかる時間がボトルネックになる場合が多く、そのためPyTorchTensorflowなどのフレームワークはプロセス並列化によるデータ事前処理のクラスを用意しています。

PythonにはGlobal Interpreter Lock、つまりオブジェクト操作がスレッド間で排他的に行われるという制約があります。そのため1つのPythonプロセスで並行してデータ事前処理を行うことには限界があります。プロセスを複数立ち上げて並列化することで事前処理全体の速度向上を図ることができるというわけです。

いくら高速化するといってもプロセス並列化にもボトルネックとなりうる処理が存在します。それはプロセス間のデータ移行です。いくらサンプルデータ読み込みと事前処理を高速化してもデータ移行で損をするのはもったいない。

Pythonのプロセス並列化の標準ライブラリmultiprocessingにはいくつかのデータ移行方法が実装されています。このエントリの目的はこの移行方法の中でもPipeとSharedMemoryの速度差を調べることです。Pipeはプロセス間で書き込み読み込みの操作を排他的に行うことができるデザインになっておりプロセス間の同期に便利なオブジェクトです。オブジェクトはPipeを通るときにシリアライズが行われます。SharedMemoryは名前の通りプロセス間で共有できるメモリ領域です。この領域にプロセスたちが個々に書き込んだり読んだりすることでデータ共有が行えます。概してPipeの方がSharedMemoryに比べて制約が多い分、使い勝手が良いわけですが実際に速度差はどのくらいになるのでしょうか?

以下のようなコードを書いてみました。:

import multiprocessing as mp
import time
from multiprocessing.sharedctypes import RawArray

import numpy as np


def connection(shape, dtype, N):
    def f(conn):
        while True:
            conn.send(np.ones(shape, dtype))

    parent_conn, child_conn = mp.Pipe()
    process = mp.Process(target=f, args=(child_conn, ), daemon=True)
    process.start()

    start = time.time()
    for _ in range(N):
        array = parent_conn.recv()
    return (time.time() - start) / N


def shared_memory(shape, dtype, N):
    def f(conn, data):
        while True:
            conn.recv()
            data[:] = np.ones(shape, dtype).ravel()
            conn.send(None)

    ctype = np.ctypeslib.as_ctypes_type(dtype)
    len = int(np.array(shape, copy=False, dtype=dtype).prod())
    data = np.ctypeslib.as_array(RawArray(ctype, len))

    parent_conn, child_conn = mp.Pipe()
    process = mp.Process(target=f, args=(child_conn, data), daemon=True)
    process.start()

    start = time.time()
    parent_conn.send(None)
    for _ in range(N):
        parent_conn.recv()
        array = np.copy(data)
        parent_conn.send(None)
    return (time.time() - start) / N


if __name__ == '__main__':
    dtype = np.float32
    N = 100
    num_tests = 10
    dims = np.power(2, np.arange(1, 10 + 1))

    def run(f):
        durations = np.zeros((len(dims), num_tests))
        for i, dim in enumerate(dims):
            shape = (dim, dim)
            for j in range(num_tests):
                durations[i, j] = f(shape, dtype, N)
        return durations.mean(axis=1), durations.std(axis=1)

    c_mean, c_std = run(connection)
    s_mean, s_std = run(shared_memory)

    import matplotlib.pyplot as plt
    import seaborn as sns
    sns.set_style('darkgrid')
    fig = plt.figure(figsize=(5, 5))
    ax = fig.add_subplot(111)
    ax.errorbar(dims, c_mean, yerr=c_std, label='Connection', fmt='o')
    ax.errorbar(dims, s_mean, yerr=s_std, label='Shared Memory', fmt='o')
    ax.set_xlabel('Dim Size')
    ax.set_ylabel('Duration [s]')
    plt.legend(loc='upper left')
    plt.show()

connection()はPipeを通して直接NumPy Arrayを送る方法です。SharedMemoryに関してはこの記事を参考にしました。こちらはPipeを使ってはいますが、これはあくまで共有メモリの競合を防ぐためのフラグを送り合うためです。2つのプロセスはPipeのsend/recvのタイミングを通してお互いに異なるタイミングで共有メモリにアクセスします。NumPy Arrayと共有メモリの変換はnumpy.ctypeslibを使っており、親側では共有メモリからのコピーも行うことでPipeと同じ状況でarrayを使えるようにしています。

Mac Book Proで実行したらこうなりました: f:id:tanuchan_2020:20220210223155p:plain 図のX軸はコピーされるArrayのサイズ(X, X)におけるXの値です。Y軸はN=100回プロセス間コピーをしたときの平均時間を10回ずつ集めたときの平均と分散です。どちらもデータ移行ににかかる時間のみをtimeで計測しています。

Arrayのサイズが小さい内には両者の違いがほとんどありませんが、大きくなるにつれてShared Memoryが早くなっていることがわかります。

プロセス並列でNumPy Arrayを移行する際にはShared Memoryを使った方が速度的には良いという結果が出ました。ただし全てにおいてShared Memoryを使うべき、というわけではありません。そもそも両者の差がどこまで全体の速度向上に影響を与えるのかは状況次第です。1024x1024の行列を送るのにも0.01秒程度しか変わらないわけです。またShared Memoryは実験コードにあるように、共有の開始前にデータ型と形がわかっている必要があり実装がめんどくさいという欠点もあります。特に学習計算の処理に比べてデータサイズが大きい場合にShared Memoryの検討を導入してみてもいいかもしれませんね。

料理した物11

この記事の続編です。日々の料理記録。4月に引っ越してコンロの数が3倍になり幅が広がりました。

tanuchan-2020.hatenablog.com

Twitterの記録によればこれが前の家での最後の自炊ですね。日本酒と一緒に楽しんだと思います。

4月に引っ越しました。キッチンがだいぶ広くなりここから調理方法に幅が出てきます。グラタンを作ったり…

中華を作ったりしています。

カレー

本から学び、スパイスからカレーを作ることができるようになりました。唐辛子多めなので結構辛い。 米やナン以外ににもレタスに包んで食べるという比較的ヘルシーな方法があり、たまにやっています。 私が学んだ本は材料を全部混ぜて煮るだけ系のレシピばかりです。 スパイスを揃えるのは手間ですが、スパイスは往々にして単品あたりの量が多いので一度買うとそれで十分持ちます。

ルーローハン

八角や五香粉を使った本格使用です。ただ味の深みが足りなかった。 昔、台湾人の友人に作ってもらった物を食べたのですがコレとは別次元のうまさでした。何が違うのだろうか。

豚肉マスタード挟み焼き

母親がたまに作っていたレシピです。ご飯にも合うし、酒のつまみにもなる。ただカロリー高めですね。

グリルの登場

前の住居は貧相なIHコンロしかありませんでした。しかし新居はガスコンロ3つです。 ガスの強みを使わない手はないでしょう。というわけで肉を焼くためのグリルを購入。

ファミレスのステーキみたいな焼き目をつけることができます。あと油っぽくならない。

ゴーヤーチャンプルー

夏の間はゴーヤーチャンプルーを何度か食べました。ゴーヤーのおいしさは酒を飲むようになってから分かりましたね。 豆腐を重しにかけて水を切って焼き、ゴーヤー、スパムを焼いたものと合わせて焼きます。卵と塩コショウなどで調味。フライパン一個で済むので楽です。

中華餡掛け的なもの

これも親がたまに作っていたレシピです。野菜各種と豚挽肉をショウガニンニクで炒めて中華スープ、とろみをつける。ご飯にかけたり中華麺にかけたりして楽しみます。

トンポーロー

圧力鍋を導入することで調理の幅が広がりました。 トンポーローは中華風豚の角煮、といったところでしょうか。 とてもおいしく仕上がりました。

フランス料理

フランス料理の本を買ったので3品ほど作りました。 ガランティーヌは鶏もも肉を豚や牛の挽肉の具で巻いて煮た料理のようです。具にはピスタチオやスパイスが入っています。 ピスタチオの殻剥きがめんどくさかった。

クスクスは細切れパスタてきな存在です。乾燥した状態でカルディなどで買えます。お湯をかけてちょっと待つだけ。 野菜やスパイスと混ぜてパスタサラダ風にして食べています。

アシパルマンティエはチャンレジしてよかった料理の1つです。材料は特別なものがほとんどありませんが、出来上がって食べた時のハーモニーはワイン泥棒です。牛か豚の挽肉(あるいは合い挽き)、玉ねぎ、マッシュルームを炒めてブイヨンと塩胡椒で調味。耐熱皿に引いてポレトピュレを被せてチーズをかけて焼く。ポテトピュレは茹でたジャガイモを潰してバター、牛乳、塩胡椒です。材料はチーズ入りコロッケみたいですね。しかし食べてみると全く違う食べ物です。フランス料理すげぇな。

鴨肉ロースト

鴨肉がミートガイ(ネットショップ)で半額だったので3つ書いました。マグレカナール、という種類(?)でフォアグラをとった鴨で香りがよいとの話です。 冷凍の状態で届くので適宜解凍して調理します。皮目に賽の目状の切り込みを入れて低温調理。皮目を焼いて完成。ソースはバルサミコソースです。バルサミコ酢に塩とハチミツを加えて煮た物です。 他にもオレンジをつかったオレンジソースも試しました。どちらも最高です。

スピーカーを設置した

前回はラズパイからスピーカーにいたる経路の構築をした。

tanuchan-2020.hatenablog.com

このままスピーカーを机の上に並べてもしょうがない。リビングに設置することにした。いい感じに。

我が家のリビングは狭い。テレビ類、テーブル、ソファを置いたらそれで終わりだ。スピーカーを置く場所がない。 スピーカー小さいじゃん、というのもあるがソファと向かい合わせに置くには位置関係にテレビ類のあたりに置く必要がある。だがテレビ類には余白がない。 壁につけたいが、賃貸なので穴を開けたくない。どうしたものか。

今回は床から天井までの強い突っ張り棒を柱にしてスピーカーをネジ止めすることにした。これなら地震にも耐えられるだろう。 ホームセンターで2x4材を切ってもらった。2x4材とは木材の規格で文字通り2x4インチの面をもった角材だ。これを突っ張り棒の柱にしてくれるグッズがDIAWALL。 木材の両端にくっつけて突っ張り棒の要領で柱を立てることができる。天井が高い場合は1本の柱を2本に分けて継ぐためのパーツもある。過去に壁面に有孔ボードを設置するのに使った。

2x4の柱をリビングに立ててそこにスピーカーを固定するわけだ。スピーカーには幸いネジ穴が切ってあった。箱には「マイクスタンド用ねじ穴あり」ぐらいのことしか書いておらず、ネジの大きさが分からなかったが製品webページを見たら「UNC 3/8”-16」とあった。なのでこいつに会うイモネジとアジャスターベースを買った。インチネジかよ…

www.monotaro.com

www.monotaro.com

あとは固定すればよい。柱を立てて、こいつに直角な腕をつける。この腕にアジャスターベースをくっつけてネジを介してスピーカーを設置すれば完成だ。腕には適当な木材を用意した。腕が落ちないように補強の支えも買った。取り付けるときには柱の中心とスピーカーの重心との位置関係に一応気をつけた。無理なDIAWALL棚の崩壊はたまに聞く。柱自体はネジで固定されているわけではないので注意は必要だ。

というわけで設置完了。高さを適当にしたせいでなんとも言えない感じだが、後々調整していくことにしよう。修正がきくのもDIYの楽しみだ。