Cartonで詰んだっぽい?

  • Cartonの仕様上、site_perlになにか入ってるとcpanfile.snapshotが壊れる可能性がある。
  • Carton自体を入れるのにいくつかのモジュールがsite_perlに入る。
  • それらのモジュールのいずれかがcpanfile.snapshotでrequirementsに入っていると、carton checkがfail.

で、今回問題になったのがCPAN::Meta::Requirementsなんだけど、これcpanmやcarton経由で入るっぽいのでなんか詰んだっぽい。どうすりゃいいんだ。

carton check使わない? それしかない気はするが……。

追記: いろいろ試してたらなんかまともに動いたりしてさらに謎。なんなんだ。

ansible_ssh_userはansible_connection=localのときは意味がない

まあ、よく考えるとわかることだけど、ansible_ssh_user以外にユーザを指定する方法がなかったのでつい引っかかってしまった。

普通ならばansible_connection=localで実行する場合は、ターミナルでコマンドを叩くので、叩いたユーザの権限で実行されるのは自然なので引っかかることはないだろう。

今回なぜ引っかかってしまったのか。

  1. Windows上のVagrantでAnsibleでprovision.
  2. 通常はVagrantのprovisionはansible provisionerがあるのでそれを使えばいいが、Windows上では動かない(らしい)ので、AnsibleをゲストOSに押し込んでVagrant環境構築する - Qiitaを参考に、shell provisionerで実行していた。
  3. shell provisionerはデフォルトではroot権限でシェルスクリプトを実行する。
  4. VagrantもAnsibleもログ出力が微妙で、誰で実行しているのかなどは出力してくれない。
  5. Ansibleは、inventoryの設定に問題があってもエラーにしない。

あたりが原因か。

今後同じようなはまり方をしないためにどうすればいいか。

  • よく使われているソフトウェアといえど、特に一般的でない使い方をする場合は、一般的でない問題に引っかかる可能性が高いことを覚悟する。
  • もっとログやエラーを出させる。とはいえ今回の場合はログもエラーも役には立たなかったが。
  • もっと速い開発環境を! 再実行に時間がかかるのも、問題発見に時間がかかった原因。

難しいね。

追記。inventoryに限らないっぽい。

ちょっと気になったので、playbookやtaskごとでもuserやremote_userを書いて試してみたが、どうもまったく効かないようだ。

ansible_connection=local自体基本的に使わないようにした方がいいかも。

Firefoxで、POODLE対策としてsecurity.ssl3.*をいじってるとちゃんとTLSに対応したサイトにもつながらなかったりする件

security.ssl3.*という名前だけど、じっさいにはTLSの設定にも影響しているっぽい。

security.tls.version.min1にすれなどすればPOODLEはとりあえず大丈夫と思われるのでそっちで対応する。というかFirefox 34あたりでそれがデフォルトになってるはず。

詳細はこの辺かな。 The POODLE Attack and the End of SSL 3.0 | Mozilla Security Blog

sedで置換ではなく検索でのデリミタを '/' (スラッシュ) 以外に変更する

置換の場合は、Perlでも受け継がれている、sの次の文字がデリミタ、になるので、

sed -ne 's/pattern/replace/' file
sed -ne 's#pattern#replace#' file

が等価になってまあ問題ないのだが、検索のパターンの場合がよくわからなかった。まさか

sed -ne '/pattern/p' file
sed -ne '#pattern#p' file

とするわけにも行かないし。

ググってみたのだがなぜかcutの話が出たり、置換の方についてしか書かれてなかったりばっかりだったので、man sedするも、ご存知の通りGNU sedのmanはかなり省略されているので参考にならない。

ってのも後から確認すると、「sed デリミタ」でググったトップ10に普通にちゃんと載ってるし、man sedの方にも載ってたんだけど……。

まあとにかくinfo sedに詳細があるってことでそっち見てみた。infoはEmacsだからかなり使えなくて困ったけどまあ該当の記述を発見。

sed -ne '\#pattern#p' file

な感じで\を前置すれば行けるということだった。

何度も書くけどググってもman sedでもちゃんと読めばまあ載ってるんだけどね。ブログに書くくらいしとけば二度と忘れずに済みそうなんで書いとく。

あと、infoがマジで使いづらくてつらいんで、その辺なんとかしたい。Emacs覚えた方がいいのかね。

あ、BSD sedでも行けるの確認済み。

ThunderbirdでIMAPが重いとかつながらない場合の対処法

mail.server.server*.max_cached_connectionsを1にする。GUIからも、「サーバへの最大同時接続数」という項目で設定可能。

少なくともGmailにおいては、これを1以外にする理由はなさそう。

メール数が少ない状況とかだと問題が起きないことが多いので気付きにくいが、メール数が増えてくるともう酷いことになる。

Vimでcabbrev使って正規表現にエイリアスつけると便利。

abbrevとか日本人には関係ないよね、とか思ってたらぜんぜんそんなことなかった。

ちょっと面倒なのがabbrevの展開で、/iskeywordに入っちゃってるような環境(helpとか)で、s/aliasとかが展開できない。aliasじゃなくてs/aliasという省略語扱いになっちゃう。

abbrevとして使う分には問題ないんだろうけど、エイリアスとして使うのにはちょっと不便。不便なだけじゃなく、知らないとなにが起こってるかかなりわかりづらい。

アイスクリームがおいしい季節になりました。

おいしいアイスクリームないですかねー。アイスミルクやラクトアイス、ましてや氷菓ではないのがいいです。

まあ、最終的にはおいしければなんでもいいけど。

以下各種アイスの感想。

MOW
イチオシ。バニラ、チーズは強烈。ただ、その他のフレーバーはいまいちなもの多し。
牧場しぼり
MOWとは逆に、オーソドックスなものより変わり種の方がおいしい。ちょっと変わったフレーバーでも安定しておいしく仕上げてくる。
「アイスクリーム」じゃない。すごく普通のバニラ味を、食感でおいしくする技術はすごいと思う。味に深みはなく飽きやすい。が、非常に暑く、アイスクリームを食べる気にならないときにも比較的食べやすい。濃厚系の味は外れないが、爽やか系の味、ヨーグルトやフルーツ系フレーバーは、爽やかさが食感と二重になってしまい、そんなにおいしくない。
ハーゲンダッツ
まず高い。おいしいのはおいしい。あまり食べてないからわからん。
サーティワン
さすがになかなかおいしいが、紅茶みたいな爽やか系フレーバーさえ無駄に濃厚に仕上げるので、かなり好みが分かれそう。