31032009 life
欲しいんだけど、買ってもどうせやらないんだろうな。
最近ゲームから遠ざかっているので、子供がやりそうとかそういうおまけネタがないと買わないんだよなぁ。3歳児には立体ピクロスは難しすぎるかなぁ。
2x2のルービックキューブも買ったものの、遊ばれるようになるのを待っている状態。
まぁ2x2は自分でやって面白いからいいんだけど。
31032009 life
欲しいんだけど、買ってもどうせやらないんだろうな。
最近ゲームから遠ざかっているので、子供がやりそうとかそういうおまけネタがないと買わないんだよなぁ。3歳児には立体ピクロスは難しすぎるかなぁ。
2x2のルービックキューブも買ったものの、遊ばれるようになるのを待っている状態。
まぁ2x2は自分でやって面白いからいいんだけど。
31032009 Python
31032009 Arduino
30032009 life
30032009 work
製薬会社だと、会社に縛られる要因ってのは
最初の設備に関してはコンピューター系にとってはもう関係ない。むしろ自宅のマシンで小さいサンプルのコードを動かして、会社のクラスタではrunするだけみたいな。職場というのは、スケールとデータの違いのみ。
二番目も、ディスカスなんて週一でいいし、社内でするより社外でのつながりを重視したほうが得るものが多い。社外で得た情報やアイデアの中から会社にとって良さげなものを選別してコミットしとけば良いような。結局、会社は共有レポジトリみたいなもんで、pushとpullしに出かけていくところ。そしてpullの頻度が出社の頻度なのが理想。得るものがなければpushだけして帰ればいいんじゃないの?それが裁量労働+成果主義のあるべき姿だと思うけど。
(研究者として)会社に縛られる最大の要因が、論文アクセスだ。他人の知識を書物として吸収できるのは重要だが、会社の資産故に外部との議論に使えない。しかし、オープンアクセスになったら気兼ねなく意見をブログに載せられるし、横のつながりも増えるだろう。現実に、open accessの論文をもとにディスカッションするのが一番盛り上がるし。
とか考えると、会社のこじんまりとしたキャリアパスとかアレだよね。SOHOとかベスト
Common Lispのdocstringについて調べてたのだけど、pythonって関数にしかdocstringを入れられないんだっけ?と思ったのでやってみた。
まず関数。__doc__でdocstring。
>>> def sumab (a,b):
... "test sum"
... return a + b
...
>>> print sumab.__doc__
test sum
まぁ、ここまではok
続いて変数
>>> a = 10
>>> dir(a)
['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__',
'__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__',
...
'conjugate', 'denominator', 'imag', 'numerator', 'real']
おー__doc__あるじゃん。
>>> print (a.__doc__)
int(x[, base]) -> integer
Convert a string or number to an integer, if possible. A floating point
argument will be truncated towards zero (this does not include a string
representation of a floating point number!) When converting a string, use
the optional base. It is an error to supply a base when converting a
non-string. If base is zero, the proper base is guessed based on the
string content. If the argument is outside the integer range a
long object will be returned instead.
ふむ、これは任意のstringに置き換えられるのかな?
>>> a.__doc__ = "test int"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'int' object attribute '__doc__' is read-only
リードオンリーだった。str,float,listも一緒だった。
プリミティブな型にもdocstringはあるけど、それは書き換えられないってことかな。
29032009 perl
Config::Pitでデータを追加する時に外部エディタが立ち上がって便利なので、ソースを読んでみた。
File::Tempでテンポラリファイルを用意しておいて、system関数で、環境変数Editorに指定されているプログラムで、テンポラリファイルを開く。そのときのタイムスタンプと修正時刻を比較して、更新があったときファイルの内容を読み出す(Config::PitだとYAML::Syckで出し入れ)。
簡単のためにFile::Slurpで。
use File::Temp;
use File::Slurp;
use Path::Class;
my $text;
my $f = File::Temp->new();
close $f;
my $t = file($f->filename)->stat->mtime;
system $ENV{EDITOR}, $f->filename;
if ($t == file($f->filename)->stat->mtime) {
print STDERR "No changes.";
} else {
$text = read_file($f->filename); #外部エディタで入力したデータを読み込む
}
print $text;
File::Tempだと、テンポラリファイルの面倒をきちんと見てくれるので安心なので、よく使うんだけど、editorを組み合わせることが出来るんだったら、gamessとかのインプット用のテンプレートを用意しておいて、実行時にeditorでチョロチョロっと追加してそのままrunできるようなものがつくれてよいかもしれない。
29032009 Arduino
物欲の春なので(?)、本能のおもむくままにクリック。
書籍とか買いすぎて、今月の小遣いのほとんどがなくなってしまったが、来月の東京出張の時にCdSセンサを秋月で調達する予定。
当方、電子工作歴0年くらいですが、Gainer,Arduinoには興味があるので、図書館でPICの本を借りてきて読んでみたりとかしてます。
で、検索エンジンなどもかましつついろいろ見てたら、いますぐPICをやめてAVRに移行すべき10の理由というエントリを見つけた。
たしか、ArduinoってAVRマイコンが乗ってたよなぁ。だからArduinoでいろいろやってみてさらに掘っていきたくなったらAVRマイコンそのものをいじれば良いのかなぁと。
とか思ったら、ArduinoとかGainerってLLみたいなものなのかと思った。LLを通って低レベルに向かうみたいな感じで進めばよいのかなと。そして、Arduino用のCPANなみたいなものができても良かろうと。仮にそういうものがあったらコードだけじゃなくて部品の販売サイトへのリンクとかがセットになったものなんだろうなぁと。物理的なものへの参照も含めてコミュニティベースで成長していくモデルってのは面白いかも。
パソコンを隠せ、アナログ発想でいこう!―複雑さに別れを告げ、“情報アプライアンス”へ