rst.elモードを導入した

docutilsの中見てたら、emacs用のelがあったので入れてみた。

ヘッダの色が分かりづらかったのでM-x customize-faceで変更した。

rst.el

参考

KVM徹底入門が面白い

さくらのVPSで採用されているというKVMに興味を持ったので書籍を探してみたら、これがヒットしたので早速購入して読んでみた。

ProductName KVM徹底入門 Linuxカーネル仮想化基盤構築ガイド
平 初
翔泳社 / 3444円 ( 2010-07-08 )


ちなみにKVMとは

第1回 Linux標準の仮想化技術「KVM」の仕組み

KVMは、Linux Kernel自体をハイパーバイザとする仕組みで、正式名称を「Kernel-based Virtual Machine」といいます。KVMは現時点では、Intel VT-xやAMD-VといったCPUの仮想化支援機能を必要とし、完全仮想化によりOSの仮想化環境を提供します。

本書の内容は、仮想化全般の基礎知識から、インストール、導入まで。あとはコマンドのちょっとしたリファレンスが付いてくる感じ。Amazonのレビューにある通りひと通り試したことある人には物足りない内容かも知れないが、予備知識無しでKVMが知りたいのならば手軽に読めてよいと思う。

僕の場合にはこういう内容が知りたかったのだけど、ライブマイグレーションの話題しか触れてなかったのでそこはちょっと残念だったかな。

自分の職場はサーバー管理のスキルのない人間が管理者をヤラざるを得ず、ハードウェアを移行するたびに、(昔作ったサービスが移行できずに)サーバー環境が劣化していくという結構悲惨な状況だったりするわけだ。そもそもサーバー管理自体が本来の仕事と関係なくて片手間なのでしょうがなかったりするので、仮想化しとけばさくっと移行できて、ハードウェア移行の際のコスト減らせるかなぁという期待感からKVMに興味を持ったのだ。

特に7章でPythonとlibvirtを使ったプログラミングの例が出ているようにPythonを利用して色々できそうなので、サーバー管理の省力化に貢献しそうな気はするんだよなぁ。

  • 仮想マシンの導入には複数の方法がある
  • ホストから見た場合、VCPUはQEMUが立ち上げるスレッドに対応する。
  • 実CPUの数を超えてVCPUを割り当てることも可能だが、あまり意味はない
  • HugePageの利用シーンは?
  • virtio-balloonでメモリの確保と開放
  • live migration
  • ネットワークの設定の仕方は主に2つある
  • libvirtdでのプログラミング

「太陽光発電は本当にトクなのか?」を読んだ

サイエンス入ってんのかなと思ったら、ほとんどなかった。単にお得な住宅の話だったのであんま感想はない。

文字の多いパンフレットか?と問われればまぁイエスだろうな。

ProductName 太陽光発電は本当にトクなのか? (マイコミ新書)
山下 和之
毎日コミュニケーションズ / 819円 ( 2010-04-23 )


著者の他の本も住宅関係だしな。

「太陽光発電付きの一戸建てのお得な買い方」ってほうがタイトルにふさわしいかな。

pythonのsplit

splitの第二引数を与えると分割数を指定できる

>>> "test.tar.gz".rsplit('.')
['test', 'tar', 'gz']
>>> "test.tar.gz".rsplit('.',1)
['test.tar', 'gz']

perlだとこんな感じか(re.plで確認)

$ split /\./, "test.tar.gz"
$VAR1 = 'test';
$VAR2 = 'tar';
$VAR3 = 'gz';
$ split /\./, "test.tar.gz", 2
$VAR1 = 'test';
$VAR2 = 'tar.gz';

perlでrsplit相当のことやるにはどうすんだろか?

第2回JavaScript読書会は4/23

延期になってた第二回は静岡で4/23開催


今回は三島駅からすぐのゆうゆうホール。

今回は関数の章なので次の5,6章とあわせてこの本のピークに突入

ProductName JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
Douglas Crockford
オライリージャパン / 1890円 ( 2008-12-22 )


テクノ折り紙

テクノ折り紙

ダイソーで買ったCR2032を赤色LEDで挟んで、セロファンの折り紙で作った風船をディフューザーにした簡易非常灯。

1301823332 1301823335

ProductName テクノ手芸
テクノ手芸部
ワークスコーポレーション / 3570円 ( 2010-11-29 )


包子作りは楽しいですよ

慣れれば生地はサクサク作れるし、ほとんどの工程をボールの中だけでやってしまうことが可能なので洗い物があまり出ない(これ重要)

具を詰める作業は子供と一緒に。難点は数が作れないあたりか(200g打って8個分の生地)

蕎麦打ち用のこね鉢使えば一度に600g位打てるかな。そうすると24個作れるのか

1301792174 1301792177

蒸しあがり。「豚バラとねぎ」「鶏肉、椎茸、筍」というオーソドックスな組み合わせ。

1301792179 1301792181

今の蒸し器だと一度に5個までしか蒸せないので、2,3段重ねられる蒸し器が欲しいところ。

Amazon アフィリエイトのレポートをメールで自動で受けとる (Python)

Amazon アフィリエイトのレポートをメールで自動で受けとる 2011年版を見て、毎回アクセスして確認すんのは面倒なので僕もやっとこうと思った。

普段こういう作業ってperlでやってしまうことが多いのでPythonのmechanize使うのは初めてだ。あと、pyquery使うのも初めてだったりするが、jQuery知ってればサクっと使えてかなり便利。

#!/usr/bin/env python
# -*- encoding:utf-8 -*-

# kzfm <kerolinq@gmail.com>

from mechanize import Browser
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate
from pyquery import PyQuery as pq

email = 'XXXXXXXX@gmail.com'
password = 'XXXXXXXXXXXX'
amazon_url = 'https://affiliate.amazon.co.jp/'

def get_amazon_data():
    br = Browser()
    br.set_handle_robots(False)
    br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; \
     rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

    br.open(amazon_url)

    br.select_form(name="sign_in")
    br["email"] = email
    br["password"] = password

    response = br.submit()

    d = pq(response.get_data())
    return [data.text for data in d('div').filter('.data')]

def send_mail(data):

    from_addr = email
    to_addr   = email
    subject   = u'Amazonアフィリエイト'
    body      = u"""
発送済み商品合計: %s
売上合計: %s
注文済み商品: %s
クリック数: %s
あなたのコンバージョン: %s
""" % tuple(data)

    msg = MIMEText(body.encode("utf-8"),'plain','utf-8')
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Date'] = formatdate()

    s = smtplib.SMTP('smtp.gmail.com', 587)
    s.ehlo()
    s.starttls()
    s.ehlo()
    s.login(email, password)
    s.sendmail(from_addr, to_addr, msg.as_string())
    s.close()

if __name__ == '__main__':
    amazon_data = get_amazon_data();
    send_mail(amazon_data)

11.04.03

4/1からちょっとデザインが変わったようで、紹介料率の項目がなくなっていたので修正した。

SphinxをWikiのかわりに利用する

wikiやめたのでSphinxにメモるようにしてます。

で、ちょっと悩んでいるのがmake html後の手順だ。

現在/var/www/html以下はgitで管理していて、/var/www/html/[sphinx_html]みたいにドキュメントを置こうかなと考えているんだが、それってクライアント側でmake htmlして_build/htmlをcp -Rして/var/www/htmlを管理している方のGitに管理させるのがいいのかそれとも分けて管理してサーバー側で改めてmake htmlするようにしたほうがいいのかと。

あとはmake htmlしたあとの_buildディレクトリってもうちょっと自動的に公開されるようにできんかなと。

自動化といえば作業しているrstを監視しといてrstが更新されたら裏で自動的にmake htmlかかるようにできんかなとかも思った。

追記 11.04.02

Makefile読んだらmake htmlは

html:
        $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
        @echo
        @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

ということなのでSPHINXBUILDつまりsphinx-buildコマンドを直接呼び出して明示的にBUILDDIRを指定してやればいいってことだった。

チェンツォンカオ(千層糕)を作ってみた

粉物は楽しいですね。

薄力粉とお湯なので油断すると手にくっ付く。油を入れる分パン作りよりはましだけど

1301726889 1301726893

一次発酵終了後。正方形に延ばしてから、畳みながらドライフルーツを挟んでいく。この重ねあわせがチェンツォンらしい。

1301726895 1301726897

子供用なのでドライフルーツはわんさか。あとプルーンを刻んだのも投入した。

1301726899 1301726901

蒸しあがり。本当は菱形に切るのがオシャレらしいんだが切り方わからん。

1301726903 1301726908

そしておやつタイム。息子の顔が北の国からのおとんみたいになっとんな。

1301726910 1301726913

初めてにしてはよく出来た

ProductName ウー・ウェンの北京小麦粉料理
ウー ウェン
高橋書店 / 1680円 ( 2001-11 )