2007-05-23 Wed
2007-05-22 Tue
2007-05-21 Mon
2007-05-20 Sun
聖幸さんの仕事術セミナー反省会 - 渋谷の東方見聞録">聖幸さんの仕事術セミナー反省会 - 渋谷の東方見聞録
会場から一番近い渋谷の東方見聞録で反省会です。
今回はいろいろ反省はあったけれど良かったなー、
また何ヶ月か後に開こう、みたいな感じでマッタリ反省会。
反省会では徳力さんのトーク力が炸裂。
私の無茶振りにも答えてくれて最高でした。
おつかれさまでした。勉強になりました。
2007-05-20 Sun
渋谷のジョナサンで打ち合わせ - なすとちりめんじゃこのパスタ
午後から渋谷のジョナサンで聖幸さんの仕事術セミナーの打ち合わせ。
ここのジョナサンの店員さんが究極に無愛想で、
本当にクレームものだなーと思ったりした。
思わずニヤニヤ笑ってしまうほど無愛想でしたね。
パスタはうまかったです。ごちそうさまでした。
2007-05-20 Sun
2007-05-19 Sat
2007-05-18 Fri
見えない位の微妙なグラデーション
bW3のデザインをしたN村くんが、
「見えない位の微妙なグラデーションがWeb2.0なんですよグワァ」と
言っていました。
なるほどなー、と思ったので衝動的に書いてみました。
2007-05-17 Thu
20代後半の日本人から見て乱れてる日本語
nowaのブログから転載。
研究で何かをするプログラムをつくってるんですが、
最近は理解に苦しむ日本語が多いですねー。
日本語を処理するときには、諦めが重要で、
絵文字や意味不明なフレーズはノイズとして捨てればよいのです。
最近ノイズとして多い気がするのは、ひらがなの小さいやつを多様する人。
たとえば
「ぁたしゎー元気だよ!」
みたいな。
現状は、ほとんど捨てているけど、活用を考えると
ぁたしゎー→あたしはー→私は
って何回も変換しなきゃいけないですね。めんどくさー。
こういう日本語は解析しづらくて仕方がないけれど、
今後の日本語を考えると変換モデルを作ってあげなきゃいけないのかも。
意外とルールがきっちりあったりして・・・。
2007-05-16 Wed
研究室の同期
研究室の同期の社会人ドクターの方がお亡くなりになった。
彼は朝の電車に跳ねられてしまったそうだ。
本当に今でも嘘なんじゃないかと思う。
私の目から見て超優秀な研究者の人に見えたし、
なにしろ私が電車で隣に座って挨拶したのに、
考え事をしていて私に気が付かないような人だったのだ。
今後、さらに成功するはずだったのに。やりきれない。
話を聞いた後2時間くらい呆然として、研究できなかった。
が、自分はまだまだやり残しだらけ。人生中途半端。
まだ誰にも話していない夢がたくさんある。
彼のような集中力も身につけたい。
今日からはさらに全力で生きなきゃな、と思った。
あー、エントリ書いてたら半泣きになってきた。
2007-05-16 Wed
麻疹(はしか)が大流行してバイトが流れた
麻疹(はしか)が、私よりもずっと前の世代の
学生さんの間で流行しているそうだ。
私の代は、麻疹などの予防接種はほぼ強制だったので、
あらかた受けた記憶があるけれど、
最近の若者は選択性になったのを良いことに、
予防接種をきちんと受けていない場合があるのだそうだ。
いま麻疹はその世代で大流行しているとのこと。
なんだかな。ちなみにバイトが2週間休みになるので、
来月食べられるお金が残るかどうか心配です。
2007-05-15 Tue
何やろうかなー
nowaのブログから転載。
nowaが良い感じなので、なんかやりたいけど
何をしようかなーと悩み中。
何かを計るものか、何かを相談するものを作りたいので、
それ関係のことを書こうかな。
それにしても、何を計って、何を相談しようかな。
そこから考えようっと。
2007-05-15 Tue
デモファーストの効用
デモを最初に作ることの大切さは、連休中に気が付きました。
連休から、ほんのしばらくの間に思いつくままに、
5個も6個もアプリを作ってみて感じることは、
目の前にアプリがあると思いつきを実現する閾値が下がる、
ということです。
あ、「あれを作りたいなー」、と思ったものは作って目の前にあるので、
その次に「これが足りないなー」と思ったものは大体少し実装するだけです。
この、ちょっと実装するだけで達成感を得られる状態は気持ちがいいです。
しばらくして思いつきでできることが無くなったときでも、
思いつくままにコードを書く喜びのために、
頑張って深い研究をしようという気持ちに体がついてきます。
気が向かない楽しみが見えない作業は、眠くなるけど
楽しい事が見えているから、あまり眠くなりません。
またデモがあると、なにかと他のひとから貴重なアドバイスがもらえます。
私はアプリを開発するときは最初に相談する人を決めて作り始めます。
Webアプリを必ず2人以上で作るような状況を作るには、
さっさとモックアップを作って、それを発展させるのが近道です。
何も外から見えなければ仕事じゃない限りアドバイスは貰えません。
デモがあればURLを送るだけで、何か反応が返ってきます。
反応があるって幸せなことですよね。
反応に喜びを覚える私は、反応を糧に開発を進めます。
思いつきで話したチャットの内容もサックリ実装する気持ちが生まれます。
ということで、無理やりまとめると、デモファーストで動くと
「自分で自分に火を付けられる」「他人に見てもらえる」という
2つの利点があります。仕事でも趣味でも、これらの考え方は
ものごとの効率を飛躍的に上げてくれるよな、と思います。思いました。
2007-05-14 Mon
研究アプリを実装
今日は論文を読みながら研究用のアプリを実装しました。
最初に必要な動きはするようになりましたね。
実装して気が付いたことが、ちょっとあります。
実装するためには、積極的に自分の行動を決定する必要があります。
必要と気がついたコードは、嫌だな、面倒だな、無理だなと思ったとしても、
結局は、後で実装することになるので、
「やる」と決めて実装する必要があります。
そのときに必要なことは、沢山ある必要なタスクから
一番早く終わる作業はどれかを考えて、
それを「やる」と決めることなのです。
決めたら即終わらせなきゃ駄目です。
1回の集中で終わらなかった作業は、実装する時期ではなかったか、
タスクが大きすぎると考えて、取り掛かる作業を見直します。
あとは、それを繰り返します。
それにしても、なんて小さいことに今頃気が付いてるんだろうな。
2007-05-13 Sun
ひたすら荷物を詰める
今日はひたすら荷物の整頓をしていました。
ダンボールが足りなかったので、
必要な量のダンボールを確保するのに時間がかかりました。
整頓してダンボール集めてとやっていたら、もう21時。やれやれ。
2007-05-12 Sat
2007-05-11 Fri
2007-05-10 Thu
ChariChariのバグで苦しめられた
昨日の夜中の9時ごろから、ChariChariが壊れていたみたい。
Erlangでひとしきり遊んだあとで、朝までかかって直した。
どうやらローカル環境で実験するときに作ったプログラムが、
バギーでそいつがローカル環境を壊していた。
それに気がつかなくてrsyncしたのが大失敗の原因。
ログが消えなくて良かった。
cronでログのバックアップを取るように変えた。
少し落ち着いてきたので、今度はキーとブログの対応を使って、
何かやってみようかなと思います。
2007-05-09 Wed
何事も始めるときは早く少しでも
Erlangを始めてみて改めて思うのは、
何事もHello World的なところに思った瞬間にたどりつくのは重要。
サンプルコピーしようが、人の計算機使おうが、
レンタルでも、拾いものでも、通りすがりでも何でも良い。
ちょっとやって、ちょっと成果を得る。しかも超早く。
その後、基礎からコツコツとやる。
その際も近い結果を何やってもいいからちょっと早く出して基礎から詰める。
んー、何年生きて当たり前のことに気が付いてるんだろう。
10年前に気がついていなきゃいけないことだ。
あんまり浮気してばかりではよくなさそうですが、
今頭に浮かんでいるやってみたいことは全部やった方が良いかもなー。
2007-05-09 Wed
Debian EtchでErlang (アーラン) をはじめてみた
Erlang (アーラン)が流行っているみたいなので、
はじめてみることにしました。
作業履歴のまとめは以下のリンクに掲載しました。
[O] これから15分でErlangを始めるための資料
さて、まずはErlangの意味を調べてみようと思います。
Erlangとは - totowa トトワ
並列処理に適したプログラミング言語で、1987年に登場し、1998年に
はオープンソース化されているので新しく登場した言語というわけではな
いが、時流に乗る形で、現在にわかに注目を集め始めている。
1987 年頃、スウェーデンの電話会社である Ericsson で開発された
関数型言語です。
並列処理が得意なので,それに関しては他の言語より圧倒的に速いのは
確認したけれど, わたしがよく使う通常の処理に関してもどの程度違うの
か測定してみた。
以下に、ぐだぐだと記録することにします。
はじめに、コンパイラをなんとかしないといけないので、
ともかくerlang.orgにいくことにした。
Erlang
erlang.orgで、最初に教科書っぽいpdfを見つけた。やったね。
Concurrent Programming in Erlang, Part I (pdf 884 KB)
The first part of the Erlang Reference book (by permission of Prentice Hall).
いろいろ調べると、Debianはapt-getでerlangをインストールできるみたい。
インストール完了。
Erlang Land
Rubyist Magazine - Rubyist のための他言語探訪 【第 10 回】 Erlang
を眺めながら、とりあえずsample.erlを書いてみることにする。
Emacsを起動したらErlang modeになった。嬉しい。
Hello world - Wikipedia "Erlangでの例
-export([hello_world/0]).
hello_world() -> io:fwrite("Hello, World!\n").
上記のようなsample.erlを書いたあと、erlを立ち上げてコンパイル。
%erl Eshell V5.5.2 (abort with ^G) 1> c(sample). {ok,sample} 2> sample:hello_world(). Hello, World! ok 3>
おお、できたできた。なんか半分満足。
次はフィボナッチ変数でもやってみようかな。
Rubyist Magazine - Rubyist のための他言語探訪 【第 10 回】 Erlang
を読んで、ついでにいろいろなことを理解することにした。
- Erlang の変数は一度だけ代入可能。複数回ダメ。ループは再帰か高階関数
- 型の解決は動的。
- Erlang は関数型言語。状態がない (副作用がない)とか。
- module名は小文字始まり。よってファイル名は小文字。
- あ、型がないからオーバーロードできない。
- exportは関数名/引数の数を、関数の数だけ配列に突っ込む。
- module,export,recordは先頭に-が付く。
- elseがない。そのため、if文は式の連続、else代わりのtrue、
引数などの条件をしぼるwhenを使う。
- if文は実行された式があったら終了
fact.erl
-export([fac/1]).
fac(0) -> 1;
fac(N) when N > 0 -> N * fac(N-1).
実行してみた。
[/home/satou/.../Erlang/bin#]
Erlang (BEAM) emulator version 5.5.2 [source] [async-threads:0]
[kernel-poll:false]
Eshell V5.5.2 (abort with ^G)
1> c(fact).
{ok,fact}
2> fact:fac(5).
120
3> fact:fac(4).
24
4> fact:fac(3).
6
5> fact:fac(2).
2
6> fact:fac(1).
1
- trueとfalseがある。勝手に型を推定してくれるっぽ。
- ifは
式1;
式2;
式3
end.
- caseは
1 -> "hoge";
2 -> "fuga";
3 -> "foobar";
_ -> "piyo"
end.
- Erlangのスレッドは共有される状態がないので、プロセスといえる。
- よってErlangではスレッドをプロセスと呼ぶ。
- Erlangのプロセスは超軽量。
- Erlangのプロセスがプロセス間で共有するものを持たないということは、
Erlangのプロセスは単一OSプロセスにしばられず、存在できる。
- Erlangのプロセスはプロセス間通信をメッセージで行う
- メッセージの送出は「!」、メッセージの受信は「receive」。
- mathモジュールってのがある
- 変数 = 値.、と書くと代入できる
[/home/satou/.../Erlang/bin#]
Erlang (BEAM) emulator version 5.5.2 [source] [async-threads:0]
[kernel-poll:false]
Eshell V5.5.2 (abort with ^G)
1> X=10.
10
2> X=10.
10
3> X=20.
=ERROR REPORT
Error in process <0.30.0> with exit value:
{{badmatch,20},[{erl_eval,expr,3}]}
exited: {{badmatch,20},[{erl_eval,expr,3}]} **
4> X>10.
false
5> X==10.
true
ふむ、なるほど。
今日は眠くなったのでまた明日やろうかな。