
terminator4
ちょっと前になりますが、行ってきました。T4
terminator4
ちょっと前になりますが、行ってきました。T4
今回も技術話。python です。
Amazon Simple Storage Service (Amazon S3) を使って mysqldump ファイルを Amazon S3 にコピーしようかな、と思い、ZFS のスナップショットを Amazon S3 に保存する方法 (Python で途中まで) – 傀儡師の館.Python – 楽天ブログ(Blog) のスクリプトを参考に python でやってみようと思ったところ、mimetypes の動きに癖があることが分かったので、そのメモです(一文が長いなぁ)。
mysqldump-YYYYMMDD.sql.gz という SQL ファイルを gzip したファイルがあったとします。これを S3 にコピーします。S3 には content-type を指定しないといかんようで、参考にしたスクリプトでは mimetypes モジュールを使って特定しています。しかし、この mysqldump-YYYYMMDD.sql.gz だと None が帰ってきて mimetype が分かりません。
当初確認していたのは Debian ですが、この記事書くときに起動していたのは Gentoo だったので Gentoo の Python 環境で試してみます(起動する手間を惜しみました)。
$ file mysqldump-YYYYMMDD.sql.gz
mysqldump-YYYYMMDD.sql.gz: gzip compressed data, was “mysqldump-YYYYMMDD.sql”, from Unix, last modified: Sun Jun 27 21:05:59 2009
file コマンドで見ると gzip ファイルと判別します。これを python で確認してみます。
>>> import mimetypes
>>> mimetypes.guess_type(‘mysqldump-YYYYMMDD.sql.gz’)
(None, ‘gzip’)
mimetype は ‘None’ で不明。拡張子は gz なので gzip と判定しました。None だと S3 にアップできないので困りますね。
mimetypes モジュールはシステムのどこかから mimetype を判別しており、そこに書かれていない mimetype は None を返すのではないか、と思い mimetypes.py を覗いてみます。すると knownfiles というリストがありました。
knownfiles = [
“/etc/mime.types”,
“/etc/apache/conf/mime.types”, # Gentoo Apache 1
“/etc/apache2/conf/mime.types”, # Gentoo Apache 2
“/etc/httpd/mime.types”, # Mac OS X
“/etc/httpd/conf/mime.types”, # Apache
“/etc/apache/mime.types”, # Apache 1
“/etc/apache2/mime.types”, # Apache 2
“/usr/local/etc/httpd/conf/mime.types”,
“/usr/local/lib/netscape/mime.types”,
“/usr/local/etc/httpd/conf/mime.types”, # Apache 1.2
“/usr/local/etc/mime.types”, # Apache 1.3
]
ここに書かれた mime.types から探しているようですね。当方の Gentoo にあった mime.types は /etc/mime.types のみ。sql が書かれていないか grep してみます。
$ grep sql /etc/mime.types
$
書かれていませんでした。
次に gz で grep。
$ grep gz /etc/mime.types
# Note: Compression schemes like “gzip”, “bzip”, and “compress” are not
application/x-gtar gtar tgz taz
application/x-wingz wz
image/svg+xml svg svgz
tgz はあるけど gz はありません。mysqldump-YYYYMMDD.sql.gz は単一のテキストファイルなので、tar で固める必要がありません。tgz なら None で返ってこないで幸せになれたのに。
嘆いても進まないので、解決します。/etc/mime.types または ~/.mime.types に
text/x-sql sql
を追加すればよかったのですが、対応したときは別解にしました。時間も迫っていたので先に閃いたのが、ファイル名に ‘.txt’ を加えるというものでした。テキストファイルだからいいよね、という妥協です。すなわち “mysqldump-YYYYMMDD.sql.txt.gz” としたわけです。’.gz’ が拡張子じゃないか、という意見もあるかと思いますが、mimetypes.guess_type() は gz は一応展開している模様です。”mysqldump-YYYYMMDD.sql.txt” で評価しているということですね。
実際に python でいじってみましょう。
>>> import mimetypes
>>> mimetypes.guess_type(‘mysqldump-YYYYMMDD.sql.txt.gz’)
(‘text/plain’, ‘gzip’)
>>>
‘text/plain’ が帰ってきました。
ということでちょっと癖のある python モジュール mimetypes でした。
東京と山梨を毎週行き来する生活が続いています。
生活のリズム、五感で感じるものの多くが東京と山梨では大きく違います。
どちらかがで当たり前の事がどちらかでは当たり前でなかったり、又は片方には存在すらしなかったりすることも・・・
eco減税やecoキュートなどecoという単語が身の回りにものすごい勢いで増えている。
いいのはわかっているけども意識が低いみたいに言われると買う気がうせてしまう。
問題が違う様な気が・・・
有機農業を一生懸命やっている農家の知り合いの話を聞くと確かにいいのはわかるし反論もない。
だが今の農業の否定的な話ばかりを聞くとどうも違和感がある。
あるテレビ番組にお医者さんが出てきて「りんごジュースは体の免疫力を高めるので健康に良い」と言ったと聞きました。それではりんごを生で食べれば良いのではないか、と聞かれると「りんごを食べるよりも、ジュースが良い」と言われたそうです。
どういうことか、考えてみて思い当たったのはこういうことです。りんごを生で食べるとき、ほとんどの人はキレイに皮をむいて、食べやすい大きさに切って食べます。一方、ジュースにするときは、幾つかに切り分けますが、皮付きのまますりおろしたり、ジューサーにかけるのではないでしょうか。つまり、皮ごとかじれば、りんごを生で食べても免疫力が上がる、というわけでしょう。
いつか、パーティーの席上、日独協会の招待で来日したという、ドイツ人の若いお嬢さんと話したことがあります。話が見た目も口ざわりも悪いジャーマンブレッドに及び、お嬢さん曰く「日本の方はパンでもお米でも、栄養のあるところを捨てて、おいしさ本位でものを食べている」と。数日間滞日しただけで、日本人の食生活の問題点を鋭く突いた観察をしているな、と思ったものでした。
昔は、農家のふだんの食事は、畑で取れた野菜をおかずに麦飯や3分搗きの米飯を食べることができれば上々で、魚や肉を食べるなどは年に何回かのハレの日以外にはなかったことでした。それでも日本人が強健な身体を保ってきたのは、きっと栄養のある部分を捨てない主食の摂り方をしていたのでしょう。健康にたいする意識が強まり、サプリメントの業界も一大産業に成長しつつあります。それも良いでしょうが、栄養のあるところを捨てない食事の研究がもっと進んでもしかるべきではないでしょうか。
弊社が運営するくららネットの舞台裏では、こんな感じで毎週くららラボを行っています。
1日に3~5品程度を、1時間くらいで作って食べて、わいわいとやっています。
らぼのときに基準にしているのが、このレシピなりがメールマガジンで3万人以上の人に送る価値があるものかどうか。
毎回ログをとっているので、どういうものが人気なのかということが手に取るようにわかるのでした。
このお話は、もっと真面目にお話するとして・・・
今日は、三時のお茶タイムに、遊び的なラボを。
ペプシしそ 限定発売で今日が解禁日だったようです。
本日のくららのtwitter タイムラインは、まさに、この「ペプシしそ祭り!」
午前中は、この単語とURLが飛び交い、午後13時ごろから飲んだ感想が。
のきなみその味に撃沈したというものでしたが、その話題がまた話題となり、思わず首をつっこむと、
「3人くらいで回し飲みするといいよ。コップ半分くらいならおいしいwwあと、ひとくち目飲んだ後は、かならずニヤニヤしちゃうよww」という飲み方指南までうけてしまったので、さっそく挑戦したのでした。
事務所にいたメンバー分のコップにブツを注ぎ、さっそくぐびっと!
なかなか壮絶なお味とお色でございました^^;たしかにニヤニヤしちゃいますw
ペプシの広告の歴史 にも名を残しているCMを手がけたボスの前に広告論は語るのも忍びないのですが、
会社下のサンクスに4フェイスもこの商品が陣取っているのをみて、すごい戦略のもとに作られているのだろうなと。
「話題を呼ぶために」わざとこういう味、こういう色にして、本数を限定して販売しているのでしょう。
ボスに当時のプロモーションの裏舞台を聞かせてもらいたくなりました。ぜひよろしくお願いします。ぺこり。>ボス
仕事は常に終わらない、という状況になって久しいが忙しいときに娘の世話をしていると仕事の事が気になって、このままじゃ仕事まずいなぁとずっと思っていた。とは言っても娘の世話をしない訳にはいかないので、忙しいなか対応しているとだんだん割り切れるようにはなってきた。
そうやって自分の時間を割きつ、娘の世話をしながら彼女の未来を考えて一緒に行動していると、彼女の人生の一部が自分の人生の一部ではないかという錯覚が生じてくる。自分の重要な時間を彼女に使っているという未練が強すぎるかもしれないが、でもそう思ってしまう。娘が歩む人生も自分の人生の一部なのではないかと。
そう思ってしまうと彼女といる時間をもっと大事にしようかなと思うようになった。なるだけ一生懸命遊ぶようになった。
自分の人生が子供の人生の一部、とまで押し付ける必要はないとは思うが、子供の人生は自分の人生の一部、というのはそれはそれで正しいような気もしている。
僕が亡くなったあとも僕と過ごした記憶やそのとき感じた感性は彼女にずっと残っていると思う。そう思うとなんだか自分にはとても時間が少ないような気がしている。
そんな事を父の日の今日も考えたのだが、実は自分の亡き父親もそうやって考えていたのかもしれない、と思うと若い頃気分的に反発していた自分が寂しい気がする。が子供はそんな物かもしれない。僕の娘もきっとそうなるだろう。それでいいと思う。
いずれにせよ、人間は環境との共有も必要だが、世代間の何かしらの共有が必要だとは思っているが、この気持ちや行動がそれなのかはまだわかっていない。
by hdknr.com
技術話です。
AmazonEC2 で稼動中の AMI(AmazonMachineInstance) をイメージ化して保存する(合ってる?)のが ec2-bundle-vol というコマンドなのですがエラーが出ました。
# ec2-bundle-vol -d /mnt/YYYYMMDD -k ~/.ec2/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem -c ~/.ec2/cert-YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY.pem -u NNNNNNNNNNNN
(snip)
ERROR: execution failed: “rsync -rlpgoD -t -r -S -l –exclude /sys –exclude /proc –exclude /dev/pts –exclude /proc/sys/fs/binfmt_misc –exclude /dev –exclude /media –exclude /mnt –exclude /proc –exclude /sys –exclude /mnt/YYYYMMDD/image –exclude /mnt/img-mnt -X /* /mnt/img-mnt 2>&1 > /dev/null”
ec2-bundle-vol の内部で rsync 使っていて、その rsync でエラーになっている模様。なぜだろう、と思っていたら /home を EBS 使ってマウントしているからでした。fstab に
/dev/sdb1 /home ext3 noatime
と明示的に指定していれば ec2-bundle-vol コマンドは /dev/sda1 しかみないはずなので /home はスルーしていたはずです。しかし fstab に上記のように書いていなかったため、/home もイメージ化対象にしようとしたため、/mnt の容量超過でエラーを出していた模様。
# umount /home
したあとに ec2-bundle-vol コマンドを実行してうまくいきました。/home の容量が少ない場合は成功するはずですが、この時の /home は結構容量があったので容量超過になったのですね。
fstab に書いていないのは、起動時に /dev/sdb1 がマウントされているとは限らないからです。要は ec2-bundle-vol する前は /home を umount しておけ、ということですね。
夕方、紙の山と化した机を片付けていたnorikoさんにプリントをさらっと渡されました。
電通総研発行の女子高生の携帯電話の使い方について10年前の第一世代と今の第二世代との比較レポートでした。
下記urlの他己ウケの時代をプリントした物です。
http://www.dentsu.co.jp/di/consumer/index.html
パラパラと読んでみると自分の娘達の携帯へ付き合い方の変化そのものでした。
この10年でネットワーク上に次々と新しいサービスが出ては消えて行く中で今はtwitterのようなリアル感があり多様な発言のおもしろさが全盛である。
自分自身もネットに関わっていくうちに確実に変化してきているし、twitterの広がり方を見ていると多くの人が共感してネットコミュニケーションの関わり方が変化しているのだ。
タイトルのKYは {からみやすい}
容赦なくやってくる強いプッシュ型でなく、自分で探しにいくプル型でもないスタイル。
より多くのリアルタイムな情報を送るためにはKYを取り入れた情報発信がヒントになる。
変化を見ている側でなく変化する流れに乗らなくてはと思います。
さてどうする。
という本が合ったと思うが、読んでいなかったりする。:-)
まちがってはてなダイアリーに投稿してしまったが、それはそれでいいや、ということでこっちにもコピーすることにしました。
先週Google Waveという新しいサービスが発表になったがこれはリアルタイムの状態共有インターフェースと言っていいだろう。そして発言をタイムラインで共有するTwitterもますます広がりを見せている。
STMPでのメールを中心にインターネットは当初ドキュメント交換が主なユースケースだった。その後、HTTPによる”Web”が生まれてインターネットは巨大なドキュメントレポジトリになった。そして分散データ共有処理基盤の進化を背景にXMPPによるリアルタイム状態交換の場所としてインターネットは進化していくのか。
交換する物がドキュメントの時代はその書き手にはある一定の能力が求めれた。ドキュメントは単体としてある程度以上の意味がないと価値がないからである。しかしリアルタイムの時代には発信される情報自体にドキュメントの様な意味が必ずしも求められない。意味はシンクロニシティやタイムラインなどを総合して誰かインテリジェントな人や機械が決めれば良い。リアルに情報が発信されていればそれでいいのだ。
そういった意味では更なる情報爆発が加速される。Googleなどの検索サービスで自分の今に最適な情報を見つけるという動作も新たな情報爆発の時代にはそぐわなくなってくるような気がする。つまりインターネットには新たなメジャープレーヤーがデビューするという事になるかもしれない。
Google Waveの様なサービスが広がるといよいよ巨大壁掛けモニターが必要になってくるような気がする。世界の今この瞬間をどれだけ素早く把握できるかで勝負が決まるビジネスが出てくるような気がする。
そんな事を思った週末でした。
by hdknr.com
幼い頃から本が捨てられません。雑誌も捨てるのに躊躇します。そのため室内は本だらけ。実家から引っ越す際にあれこれ整理したのですが、本だけはあまり減りませんでした。未読の本の多さが目に付きます。
引っ越してからも本は増える一方。雑誌はあまり買わなくなったので増える量は少ないのですが、技術書、小説、マンガは増え続けます。学生の頃に買えなかったり、なくなく手放した本を買い戻したり大人買いしたりするので置き場に困ります。とうに本棚の許容量は越えているので床に積んでいます。
昔は書籍購入時はノートに何を買ったかメモっていたのですが、最近はメモしなくなったので同じ本を買うこともしばしば。大体文庫なので被害額は少ないのですが、昨今の文庫価格の上昇を考えると、穏便に済ますわけにはいきません。同じゲームまで重複したときは我ながらどうしたものか、と暫し考えたものです。
読了済みで自分の中で評価が低いものについては売ってしまってもいいかな、とも思うのですが未読の本が圧倒的に多いのでそういうわけにもいかず。どうせならまとめて売りさばいてしまいたいので1冊だけ売るということはできず(1冊だけ売りに行くという労力も問題)。
学生のころよりかは本への執着はないのですが、相変わらず本を捨てることができないことに変わりなく、本を捨てる勇気が欲しいものです。
室内写真撮ろうと思いましたがあまりの惨状に断念。公開すべきものではないです。今の部屋に越してきた時はまだ綺麗だったんですけどねぇ。定期的に整理してましたし。一度腑抜けると強力なきっかけがないとしっかりできません。