スマホのアドレス帳編集

最近交際範囲に変化が有ったことから、携帯電話のアドレス帳を抜本的に編集してみようと思いました。ドコモショップで教えてもらったデータコピーは本体のアドレス帳データをMicroSDカードに転送できるとのことでした。

そこで実際に試してみると、SD_PIM とcom.nttdocomo.android.sdcardbackup というフォルダの下に、どちらもPIM00001.VCFというファイルが作成されていました。拡張子vcfのファイルはvCardといって、結構あちこちのアドレス帳で使用されているファイル形式なのだそうです。後者のファイルを実際に開いてみると、下図のようなテキストファイルが現れました。ちなみにSD_PIM の下のPIM00001.VSFはSiftJIS形式でした。これについては試していません。

  f:id:S_E_Hyphen:20190726152137j:plain

BEGIN:VCARDという行で始まり、END:VCARDという行で終わる一連のデータが一人分のアドレスです。これが延々登録人数分続いているわけです。

テキスト形式ですからエディターで編集できますし、sedawkを使いこなせば特定のフィールドを自動的に加工することも可能です。なお実際には試していませんが、perlにはvCardに特化したライブラリが用意されているそうです。私はperlを使ったことがないので、下記のようなシェルスクリプトを作成してみました。

#!/bin/bash
# 変数nameにはアドレス帳の見出し欄の名前が入る
# 配列変数bodyにはnameに対応するvCardの各行が格納される
infile="PIM00001.VCF"
declare -a begin_a=(`\
 grep -n "BEGIN:VCARD" ${infile} |\
 awk -F":" '{print $1}' \
`)
declare -a end_a=(`\
 grep -n "END:VCARD" ${infile} |\
 awk -F":" '{print $1}' \
`)

for (( seq=1; seq<=${#end_a[@]}; seq++ ))
do
 seq1=`expr $seq - 1`
 BEGIN=${begin_a[${seq1}]}
 END=${end_a[${seq1}]}

 name=`cat $infile |\
  sed -n ${BEGIN},${END}'p' |\
  grep "^N;" |\
  awk -F"[;:]" '{print $3}'`

 declare -a body=(\
 `cat $infile |\
  sed -n ${BEGIN},${END}'p'` \
 )

 echo $seq ${name}

 for (( i=0; i<${#body[@]}; i++ ))
 do
  echo $seq ${body[$i]}
 done

done

上記のシェルスクリプトでは、vCardを登録人数分に切り分けて名前(変数$name)を表示します。最初に配列変数 ${begin_a} と ${end_a} を定義した時点で、そのファイルのBEGIN:VCARDとEND:VCARDが何行目なのか全て把握しているため、変数$seqに任意の数字を指定するだけで、N枚目のアドレスを抽出できるようになっています。

ところで、実際にアドレス編集を行うにあたっては「グループ」の扱いが厄介そうです。X-GNO、X-GN、X-DCM-GN-ORIGINLの各フィールドが、それぞれ整合していないとエラーになってしまいます。しかもX-GNOは携帯電話でグループの並び替えをする都度値が変化してしまいます。

また、固定電話はTEL;VOICE:というフィールドなのですが、FAXの場合はTEL;WORK;FAX:というフィールドと X-DCM-TEL-ORIGINAL;WORK;FAX: フィールドが一致していないと認識してもらえないという冗長な構造になっているようです。

いずれにしても、大切なアドレス帳を壊してしまいかねませんので、編集の過程を頻繁に別メディアへ保存しておくなどして作業は慎重に行うようにしましょう。

編集後、再度データコピーアプリの復元機能を使用すると、編集結果が携帯電話本体のアドレス帳に反映されます。このとき、SD_PIMの下の同じ名前のファイルが残存しているとバージョン管理が面倒くさいことになりそうですので、別メディアにバックアップしたうえで削除しておいた方が良さそうです。

GMT ver5がダウンロードできない

GMT5.4.1をインストール  の手順で新しいPCにGMTをインストールしようとしたのですが、ハワイ大学 のサイトにアクセス出来ないためダウンロードできなくなっていました。ちなみに、GMT4のサイト には入れるのですけどね…。

しかたがないので探し回った挙句、下記のミラーサイトを発見しました。

http://gmt.mirror.ac.za/

f:id:S_E_Hyphen:20190723141907p:plain

ミラーサイトのツリー構造

ここから、gmt-5.4.1-src.tar.gzとgshhg-gmt-2.3.7.tar.gz、dcw-gmt-1.1.4.tar.gzをダウンロードしました。ちなみに gmt-5.4.1-src.tar.gz は legacy/ フォルダーの下に有ります。

余談ですが、2019年7月からgmt6がリリースされているようですね。

 

あと、ライブラリ(パッケージ)はしっかりインストールしておかないといけません。私の場合は、apt を使って libxaw7-dev libxt-dev libnetcdf-dev libblas-dev liblapack-dev fftw3 libcurl4-openssl-dev cmake を準備しておきました。

 

tar を使って、ダウンロードした圧縮ファイルを展開します。

tar xvfz ~/MyDoc/GMT_install/gmt-5.4.1-src.tar.gz
sudo mkdir -p /usr/local/gmt5/share/gmt
cd /usr/local/gmt5/share/gmt
sudo tar xvfz ~/MyDoc/GMT_install/gshhg-gmt-2.3.7.tar.gz
sudo ln -s gshhg-gmt-2.3.7 gshhg
sudo tar xvfz ~/MyDoc/GMT_install/dcw-gmt-1.1.4.tar.gz
sudo ln -s dcw-gmt-1.1.4 dcw

次にcmake の準備をします。

cd ~/gmt-5.4.1
cp cmake/ConfigUserTemplate.cmake cmake/ConfigUser.cmake

(cmake/ConfigUser.cmakeの編集)

set (CMAKE_INSTALL_PREFIX "/usr/local/gmt5")
set (GSHHG_ROOT "/usr/local/gmt5/share/gmt/gshhg")
set (DCW_ROOT "/usr/local/gmt5/share/gmt/dcw")

 

さらに ~/gmt-5.4.1の下で mkdir build ; cd build して、

cmake ..

make

sudo make install 

 とすればOKなのですが、どういう訳か gmt_api.c の861行目でFALSEという変数を知らないというエラーが発生してしまいました。FALSEなんて、かなり基本的なヘッダーファイルの中で #define されているはずなのですけどね...。とりあえずFALSEを0に置き換えて凌ぎました。

 

/* curl_easy_setopt(Curl, CURLOPT_SSL_VERIFYPEER, FALSE); Tell libcurl to not verify the peer */
curl_easy_setopt(Curl, CURLOPT_SSL_VERIFYPEER, 0);

VirtualBox の共有フォルダ

これまでVirtualBoxの上でubuntu14.04を使ってきたのですが、LTSが切れたこともあり思い切って18.04に変えてみることにしました。

しかし共有フォルダの設定が、どうにも上手くゆきません。

指定したマウントポイントにも共有されませんし、/mediaの下に現れる兆しも見えません。

翌日、何の天啓が有ったのか分かりませんが guest additionsの再インストールを試してみたところ、下の画像のようなメッセージを見つけました。

f:id:S_E_Hyphen:20190708094649j:plain

なんとguest additionsのインストールに失敗していたのでした!

元々あっさりしたメッセージしか出ないのと、クリップボード共有は成功していたので気が付かなかったのです。

sudo apt install -y gcc make perl linux-headers-generic

を叩いて必要なパッケージを集めたうえで、再度guest additions をインストールし、ubuntuをリブートしました。

今度は何の苦も無く指定した通りのマウントポイントに共有されたのでした。めでたし、めでたし。

 

ホストOS Windows10

ゲストOS ubuntu18.04.2LTS

virtualbox 6.0.8

 

 

 

冷麺風春雨スープ

材料は、鶏むね肉 1枚、春雨 30グラムがメインです。

1)鶏肉の下ごしらえ

鶏むね肉は皮を取り除き、串で複数穴をあけました。水200ccに塩小さじ1、砂糖小さじ1を加え漬け汁にします。この漬け汁に鶏を漬けて冷蔵庫で約3時間寝かせておきました。

f:id:S_E_Hyphen:20190704145140j:plain

2)鶏肉を煮る

漬け汁を水400ccでのばし、煮立たせます。この時、臭み消しにショウガを1欠片加えておきました。青ネギやにんにくを加えても良いそうです。「あく」は漬け汁に移っているらしく、この段階で沸騰すれば鍋の中身は灰汁だらけになります。ですから、丹念に灰汁採りします。その後、鶏肉を投入します。3分経ったら火を止めて蓋をし、余熱で加熱します。

3)スープを作る

ゆで汁:調理酢=2:1の割合で混ぜてスープとします。調理酢とはこんぶ出汁やかつお出汁、みりんなどを調合した市販の「だし入り万能酢」といったものです。スープは冷蔵庫でキンキンに冷やしておきます。

4)春雨を茹でて盛り付ける

春雨は規程通りに茹で、水で締めます。薄切りにした鶏肉や、きゅうり、かに蒲鉾、薬味ネギなどを盛り付けました。さっぱりした酸味の涼風麺となりました。春雨ではなく中華麺を使用すれば、冷やし中華風になることでしょう。

f:id:S_E_Hyphen:20190704144601j:plain

 

なお、反省点ですが1)の工程は手間の割にはマイナスに感じました。若干鶏むね肉が柔らかく(パサパサでなく)なった気はします。しかし、味は甘ったるくなってしまいました。当然時間も掛かりますしね!

多分、次はいきなり2)から始めることでしょう。

2019年の梅干し

今年は久しぶりに、大きな(小梅ではない普通の)梅を使用しました。需要が少なそうなので1kg購入しました。大きな梅は以前失敗しています。実の皮が厚いので、なかなか梅酢が上がってこないのです。つまようじで幾つか傷を付けておきました。

昨年までは、最も安いナトリウム食塩を使用していましたが、少し高価な塩を使用してみました。分量は体積比15%です。

本日、しそを加えました。その際に重しに使用していたポリ袋からの水漏れが発覚しました。一つ味見をしたところ、梅そのものはよく漬かっているようですが、少し出来上がりが不安です。食塩を大匙3程度足しておきました。

f:id:S_E_Hyphen:20190701103557j:plain

 

鶏炊き込みご飯

米 1合

鶏 50グラム

ニンジン 10グラム

ごぼう  10グラム

しいたけ 1枚

水 180CC

返し醤油 レードル1杯

 

圧力鍋で、ピンが上がってから5分間加圧し、30分程度蒸らした。

少し水っぽく、「おこげ」が全く出来ていなかったので気持ち水分を減らしても良いかもしれない。

 

以上、覚え書き。

写真くらい撮っておけばよかった。

切干大根の煮物

切干大根を炊いてみました。

 

切干大根  乾燥重量10グラム

ニンジン  25グラム(1/4本)

うすあげ  半枚

返し醤油  レードル半杯

食塩

 

1)切干大根を水洗いし、固く絞ったうえでかぶるくらいの水に浸して戻します。概ね20分くらい掛かります。なお切干大根の戻し汁は煮る際に使用しますので捨ててはいけません。

2)その間にニンジン・うすあげを千切りにしておきます。シイタケを入れるなら、同様にします。

3)軽く水を切ったら、切干大根・ニンジン・うすあげをフライパンに移し、戻し汁と水をヒタヒタに注ぎます。返し醤油を加えて火に掛けます。お揚げさんの油抜きひじきの煮物 よりは若干返し醤油は少なめにしました。その分、後で食塩を加えて味を調えます。煮汁が無くなるまで火に掛けます。15分程度要しました。

 

f:id:S_E_Hyphen:20190525141457j:plain