田楽

茄子および厚揚げを半割にします。グリルは3分程度予熱しておき、茄子・厚揚げともに皮の面を上に向けて6~8分程度焼きます。その後、裏返して味噌(柚子を足しました)を塗り付けます。味噌が焦げるまで3分程度グリルして出来上がりです。

f:id:S_E_Hyphen:20200711154538j:plain

茄子をメインにしたつもりでしたが、厚揚げの方が思いのほか美味でした。簡単なので

度々作ってみようと思います。

termux:最新の音声ファイルのコピー

毎週サーバーに新たな音声ファイル(*.mp3)を作成して保存しているのですが、その中から最新のファイルだけをandroid端末にコピーして出先で聴取するようにしています。

 

#!/bin/bash
remote_host="nnn.mmm.xxx.yyy"
remote_dir="/home/user/work/MyMusic"
local_dir="/data/data/com.termux/files/home/storage/shared/Music/"

file=\
`ssh ${remote_host} -l user -i ~/.ssh/id_rsa.server \
 "ls -t ${remote_dir} | head -1" `

rm ${local_dir}/*.mp3
scp -i ~/.ssh/id_rsa.server \
user@${remote_host}:${remote_dir}/${file} ${local_dir}

上記のシェルスクリプトの remote とはサーバーのこと、local とは モバイル端末のことを指します。適当なホストIPアドレスと、ディレクトリを指定しておきます。 モバイル端末のホームの下の .shortcuts に上記スクリプトを保存しておけば、 termux:widget のアイコンをタップするだけで、最新ファイルがモバイル端末の Music フォルダにコピーされるようになります。

シェル変数 ${file} は最新音声のファイル名を取得しているのですが、 ls コマンドの -t オプションは作成時刻順にソートすることを意味します。なので head -1 で1行目だけを抜き出せば最新ファイルとなっています。

その下の rm コマンドはモバイル端末のMusicフォルダを常に最新のファイル一つに保っておきたいために使用しています。なので、他にも必要なmp3ファイルが存在する場合は工夫が必要です(全部消去してしまいます)。

termux の ssh (およびscp)コマンドを活用した内容となっています。

茄子の料理

茄子が安くて美味しい季節になりました。

 


茄子とミンチの中華風炒め

ごま油を熱したフライパンに、合挽ミンチ肉100グラムを広げます。軽く焦げ目を付けたいので薄く広げたら余り触りません。細かく切った茄子を、ミンチ肉を蓋するように投入します。ミンチに程好く火が入ったら、味噌だれ(味噌大さじ2と豆板醤小さじ1)を回し入れます。茄子に火が入りにくいようなら少し水を加えますが、余り入れるとフニャフニャになってしまいます。彩りに刻みネギをトッピングしました。

f:id:S_E_Hyphen:20200626095121j:plain

 


焼き茄子

茄子のへたを取ります。薄く皮に包丁で切目を入れます。爆発防止と 後から皮を剥きやすくするためです。

3分程度予熱したグリルに入れ、11分ほど焼きます。8分で一度裏表をひっくり返しました。

焼きあがったら冷水に落とし、皮を剥きます。おろし生姜と鰹節をかけて、醤油で戴きました。時間が許せば冷蔵庫で冷やしてから食べたい一品です。

f:id:S_E_Hyphen:20200626095628j:plain

 


 この他にも、アラビアータソースでベーコン・マカロニと一緒に炒めるなどイタリアンな使い方も可能です。まさに和洋中オールラウンドな食材だと思います。

termux:widget の購入

手乗りUNIXの異名を持つ termux は以前 から大変便利に利用していました。スマホで重たいジョブを実行するのは多少火力不足の感は否めません。しかしSSHを使用してサーバーにコマンドを飛ばしたり、SFTPを経由したデータの遣り取りを行うには大変重宝しています。

しかし、スマホの小さなキーボードでコマンドを打ち込むのは大変肩が凝るようになってきたため、この度思い切って termux:widget を購入してみました。初めて google play で有料アプリを購入したのですが、携帯電話料金支払いの際に合わせて徴収してもらえるらしく大変手軽であることが分かりました。また複数のandoroid端末を同じアカウントで使用しているなら、一回支払いをするだけで全ての端末で termux:widget を使用できるらしく得をした気分です。

インストールしてウィジェットランチャーを立ち上げると下の画像のように2種類のウィジェットが追加されています。これをホーム画面の任意の場所に貼り付けるだけなので操作は簡単です。

f:id:S_E_Hyphen:20200614105107j:plain

具体的にはホームディレクトリの下に .shortcuts というディレクトリを作成します。このディレクトリ下に所望のコマンドを放り込んだのち、例えばアイコン形式のウィジェットをドラッグして貼り付けたなら、 .shortcut 中のどのコマンドに対応させるか選択できる画面に遷移します。

下図は作成したコマンドのアイコンの例です。タップするだけで所望のSSHコマンドを飛ばせるようになりました。後はアイコン画像を変更できるようになれば完璧でしょうね。

f:id:S_E_Hyphen:20200614110327j:plain

なお、$HOME/.shortcuts/tasks というディレクトリ内に置いたコマンドはバックグラウンドで実行できるようになるらしいのですが、今のところ用途が思い当たりません。

鶏だし春雨スープ

鶏胸肉1枚(300グラム程度)を圧力鍋で200CCの水とともに蒸します。胸肉は柚子みそ焼きにしても、そのままスライスしてわさび醤油で食べても美味しいです。

翌日までに鍋に残った蒸し汁をキンキンに冷やしておきます。このスープに100CCの酢を加えます。塩で味を整えて、乾燥重量30グラムの春雨と薬味で食べます。春雨の茹で時間は5分程度でした。

f:id:S_E_Hyphen:20200611160647j:plain

写真はトマト1個、きゅうり半分、わかめ少々、ミョウガ1ヶ、あぶったベーコン1枚、ゆで卵半個を薬味としました。夏の暑さの中でも食べやすい、さっぱりとした味わいとなっています。

 

MYSQLでプレイリストを自作する

曲名をデータベース登録しておくことで、最後に聞いた曲の次の曲から再生を開始するプレイリストを作成してみました。ただし事情が有って最新曲は再生の対象とはしません。「超・最新曲」がプレイリストに追加されると、最新曲も再生されるようになります。

    
mysql> select * from playlist;
+----+-----------------+------+---------------------+
| id | file            | seq  | last_play           |
+----+-----------------+------+---------------------+
|  1 | 第01曲目.mp3    |    1 | 2020-06-06 11:26:30 |
|  2 | 第02曲目.mp3    |    2 | NULL                |
|  3 | 第03曲目.mp3    |    3 | NULL                |
|  4 | 第04曲目.mp3    |    4 | NULL                |
+----+-----------------+------+---------------------+
4 rows in set (0.00 sec)

この状態で実行すると

f:id:S_E_Hyphen:20200606113017p:plain

4曲目を抜かして1曲目から3曲目をローテーションします。

mysql> insert into playlist(file,seq) values("第05曲目.mp3",6),("間奏.mp3",5),("最新曲.mp3",10);
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select * from playlist;                                                  +----+-----------------+------+---------------------+
| id | file            | seq  | last_play           |
+----+-----------------+------+---------------------+
|  1 | 第01曲目.mp3    |    1 | 2020-06-06 11:28:46 |
|  2 | 第02曲目.mp3    |    2 | 2020-06-06 11:28:39 |
|  3 | 第03曲目.mp3    |    3 | 2020-06-06 11:28:42 |
|  4 | 第04曲目.mp3    |    4 | NULL                |
| 11 | 第05曲目.mp3    |    6 | NULL                |
| 12 | 間奏.mp3        |    5 | NULL                |
| 13 | 最新曲.mp3      |   10 | NULL                |
+----+-----------------+------+---------------------+
7 rows in set (0.00 sec)

レコードを追加してテーブルを上記の状態に更新しました。

f:id:S_E_Hyphen:20200606114005p:plain

これまで対象とされてなかった4曲目が再生されるようになり、さらに4曲目と5曲目の間に間奏が演奏されるようになりました。後から付け加えた最新曲は再生の対象とはなりません。  

#!/bin/bash
play_dir="."
host=127.0.0.1
DB=life_log
table="playlist"

# テーブル playlist の存在を確認
exist=`\
mysql -N -h ${host} ${DB} << _SQL_
 show tables like "${table}";
_SQL_
`
# 存在しない場合作成する
if [ -z ${exist} ]
then
 temp=`mktemp ../XXXX.tmp`
 ls -1 ${play_dir} |\
  awk '{print $1,NR}' > ${temp}
mysql -h ${host} ${DB} << _SQL_
create table if not exists ${table} (
 id int primary key auto_increment,
 file text,
 seq int unique,
 last_play datetime
)
ENGINE=InnoDB DEFAULT CHARSET=utf8;
/* ファイル名のload */
set character_set_database=utf8;
load data local infile "${temp}"
 into table ${table}
 fields terminated by " "
 lines terminated by "\n"
 (file,seq);
_SQL_
rm ${temp}
fi

# 最新曲のseqを取得する
max_seq=\
`mysql -h ${host} -N ${DB} << _SQL_
 select max(seq) from ${table};
_SQL_
`

# 最後に再生した曲の${seq}を取得する
last_seq=\
`mysql -h ${host} -N ${DB} << _SQL_
 select seq from ${table}
  where last_play=
  (select max(last_play) from ${table});
_SQL_
`

# 次に再生する曲の${seq}を決定する
next_seq=\
`mysql -h ${host} -N ${DB} << _SQL_
  select min(seq) from ${table} where seq>${last_seq};
_SQL_
`
if [ ${next_seq} -eq ${max_seq} ]
then
next_seq=\
`mysql -h ${host} -N ${DB} << _SQL_
  select min(seq) from ${table};
_SQL_
`
fi

#次に再生する曲のファイル名を取得する
mp3file=\
`mysql -h ${host} -N ${DB} << _SQL_
 select file from ${table} where seq=${next_seq};
_SQL_
`
echo "next song is " ${mp3file}

# ここで mplayer などを用いて ${mp3file} を再生する。
sleep 2

# 最後に再生した曲をデータベース登録する
mysql -h ${host} -N ${DB} << _SQL_
 update ${table} set last_play=now() where seq="${next_seq}";
_SQL_