PlaggerでBase class package "DateTime" is empty

さくらのVPSにperlbrew+cpanm+plaggerって入れてて

Base class package "DateTime" is empty.
    (Perhaps you need to 'use' the module which defines that package first.)
 at /home/kzfm/plagger/lib/Plagger/Date.pm line 3

というエラーが出ていてなんだかなぁと思ったらシェバンだった

#!/usr/bin/env perl

で解決

R Cookbook

欲しい!最近はR使ってないけど。

ProductName R Cookbook
Paul Teetor
Oreilly & Associates Inc / 3413円 ( 2011-03-28 )


来週になったら所属が変わって「パソコンの電源を入れたり消したりするだけの簡単なオシゴトをするおじさん達」と一緒になるのだけど、まぁ、当然今やっている仕事はそのまま持っていくという話なので、給料据え置きでインフラまわりの仕事を上乗せされるだけなんだろうなぁ。チームごと移しているからそういう意図はビシビシと感じられるが、ここは空気を読まずに「給料上がんないってことはもちろんゼロサムですよね」という精神で明るくやっていこうと思う。

ちなみに今の上司は、(外資出身に総入れ替えしたという事情もあって)みなさん優秀で、僕も色々新しい事を学べて大変よかった。

Pythonでロードされているモジュールはsys.modulesをみればいい

sys.modulesにリスト化されてる

>>> from sys import modules
>>> modules1 = set(modules.keys())
>>> import sqlite3
>>> modules2 = set(modules.keys())
>>> modules2.difference(modules1)
set(['sqlite3.datetime', 'datetime', 'sqlite3._sqlite3', '_sqlite3', 'time', \
'sqlite3', 'sqlite3.dbapi2', 'sqlite3.time'])

ふむ

import *とimport __all__でモジュールの読み込みを続けてやる理由がわからん

標準モジュールの_dummy_threading.pyを読んでいて

51     from _dummy_threading import *
52     from _dummy_threading import __all__

これってなんなの?なんの意味があんの?ドキュメント読んでみたけどわからんかった。

「ひとりで抱え込まない仕事術」を読んだ

外資の研究チームと共同研究するとチームに対する感謝のコトバはしょっちゅう出てくるし、外資出身の上司も似たような感じ。一方、うちの生え抜きは叱咤激励の叱咤率が妙に高い。年功序列的な上下関係が背景にあんのかな?なんて思うようになった。

ま、そのあたりはおいておいて、最近はプロジェクト単位で仕事をすることが多いし、プロジェクトの組み換えも頻繁に起こるので、プロジェクトをうまく回す技術ってのも結構重要だなぁと思う。プロジェクトやプロジェクトのメンバーをプロアクティブにするにはどうすればいいのか?ということに対して色々と参考になることが書いてあった。

ProductName ひとりで抱え込まない仕事術―「お願い上手」の5ステップでラクになる
リチャード・アクセロッド
ダイヤモンド社 / 1365円 ( 2007-02-09 )


  • ROI(リターンオブインボルブメント)つまり、ヒトを巻き込む手間に対しどれくらいのメリットが得られるかをよく考える
  • なぜ助けが必要なのか?を考えることで「どんな助け」が必要なのかが明確になる。ノウハウが欲しいのか、手足がほしいのか、関心とコミットメントが欲しいのか、学ぶチャンスが欲しいのか?
  • 人々に意見を求める場合にも工夫が必要で漠然とした依頼では何も意見は集まらない
  • チームのメンバーが抜ける際に一緒に振り返りをやっとくといい
  • 感謝の意を示す
  • 仕事を終える際には次に役立つ教訓を残そう
  • 敢えてプロセスが失敗する方法を出すことで、逆に成功する方法を見出す

お絵かき付きしりとり

娘作

1300685952

パンダが怖い。

「デジタル一眼レフ こんな写真が撮りたかった!」を読んだ

実例が参考になった。絞り優先でばっか取ってたけどシャッター優先で撮るのも楽しいということがわかった。flickrもproにしたことだし、もうちょっと写真も上手くなりたい。

ProductName デジタル一眼レフ こんな写真が撮りたかった!
山岡 麻子
日本実業出版社 / 1575円 ( 2006-09-22 )


  • パンフォーカスの場合は奥1/3位のところにフォーカスを合わせる
  • 水の流を表現する場合はぶれないものと組み合わせる
  • PLフィルター
  • 赤を鮮やかに写すならマイナス補正
  • 夕日を撮るならホワイトバランスを日陰モードに
  • 夜景はプラス補正
  • レフ板
  • 料理は逆光で主役ひとつにピントを合わせる

三脚どこいったかな?

シュラフ買った

いつ買ったんだかわからないでかいシュラフしか持っていないので、ザックに詰め込めるようなサイズの物を買っておくことにした。(フェスも行くし)

店員さんに色々質問して、結局ドイターのルナにした

  • 子供用のシュラフは、子どもが大きくなると使い物にならないが、大きいのを買ったからといって子どもが寝られないわけではないので、子供にも大人用のシュラフを買っといたほうがお得。
  • 災害時用だったら化繊のシュラフでいいんじゃないかと。ダウンは濡れると危険

あーちなみに、メタモの抽選当選してた。楽しみ。も良ければ行きたいが、近場のどっかのキャンプ場でキャンプもしたいなぁ。

Bad Taste Vol.4

remixものが幾つか入っていてちょっとネタ切れか?と思ったのだけどTorもcletinもremixはよかったのでよし。

ProductName Bad Taste Vol.4: Blokhe4d Presents
Blokhe4d
Bad Taste / 2853円 ( 2011-03-21 )


個人的に気に入ったのは

  • Lifelike / Cause4Concern
  • Hate / Telekinesis

disのソースコード読んだ

disassembleっていう関数が面白かった

例えば

>>> add = lambda x,y:x+y

っていう関数を定義してdisってみると

>>> import dis
>>> dis.dis(add)
  1           0 LOAD_FAST                0 (x)
              3 LOAD_FAST                1 (y)
              6 BINARY_ADD          
              7 RETURN_VALUE

となっている。

バイトコード命令はfunc_code.co_codeで見ることが出来る

>>> add.func_code.co_code
'|\x00\x00|\x01\x00\x17S'

これは整数値を文字にしたものをつなげた文字列として表現されているので、逆の操作をしてopcodeモジュールのopnameで対応を取ることができる

>>> from opcode import opname
>>> code = add.func_code.co_code
>>> for c in code:
...   print opname[ord(c)]
... 
LOAD_FAST
STOP_CODE
STOP_CODE
LOAD_FAST
POP_TOP
STOP_CODE
BINARY_ADD
RETURN_VALUE