Macでgnuplot

お手軽なのは公開されているバイナリパッケージを使うことらしい。MacPortでもインストールできるらしいが御手軽な方で。

Intel Mac 10.6 Snow Leopard 専用 64 ビットバイナリ
http://www.muskmelon.jp/macosx/

ありがたく利用させていただくことにして早速5〜6年ぶりくらいに使ってみる。
日経平均の時系列データなんぞを持ってくる。テキストファイルの中身は、

10097.82 10119.47 10012.53 10013.30 - -
10085.35 10099.46 10014.50 10092.19 - -
10024.26 10049.87 9963.99 9963.99 - -

の様なフォーマット。左から初音初値、高値、安値、終値となっている。
時系列は、1行目が昨日で2行目が一昨日…という順で記録されている。
で、これの終値を折れ線グラフで書いてみる。すっかり忘れたのでgoogle先生に尋ねながらなんとか形にできた。
なお、時系列データはtest.txtという名前でホーム直下に置いていいる。

gnuplot> set title "Nikkei"
gnuplot> set ylabel "Yen"
gnuplot> set xlabel "x days ago"
gnuplot> plot "test.txt" using 4 title "closing price" with lines

上ですぐにグラフがX経由で表示される。
f:id:hideack:20100216004823p:image

いやぁ、すっかり忘れていますね。

今夜の情熱大陸は「テムザック」

今夜23時からTBS系列で放送される情熱大陸で「テムザック」が取り上げられるようだ。
テムザックは北九州のロボットベンチャー。福岡でロボカップがあったときや、展示会とかで展示されてるロボットを見たなぁ。
ロボット好きなので見るつもり。

あとはレイバーが街中に出るのを待つのみ。

津田大介X坂本龍一対談 on USTREAM

J-WaveでやってるFM番組の"radio sakamoto"の収録が昨日Ustreamで生中継されていたので見たのだけど、かなりインパクトが強かった。

  • FMでの放送は3月上旬なのでネットで見る(聴く)方が早い*1
  • 当たり前だけどUstreamの画面上で教授がtwitterのつぶやきを打ち込むとtwitterのtimelineに即座に反映される
  • 最近出したCDや本の紹介をUstreamのカメラに映して紹介

案外、 Ustreamとかtwitterはラジオの方が馴染みやすいのかもしれない。

生放送の内容は記録されているので再放送で見ることができる。

*1:FM局のスタジオを中継することはままあるけど、FM側も生放送がほとんどでは

徒歩

歩いて勤務先から自宅まで帰ってみた。新聞配達のバイクを横目にながら、予想通りの時間で到着した。
これまた予想通りなのだが、足が砕けそうだ。明後日おそらく筋肉痛。

街が静かだし人もすれ違わないので無の境地。
最初は考え事していたのだけど、1時間も過ぎると何も考えなく鳴ってひたすら歩いていた。
時にはこういう時間も必要なのかも。

Rubyで複素数

リファレンスはruby-lang.orgのComplexクラスを参照。
リファレンスを見ればことは足りるのだけど、一応メモとして残しておく。

利用にはcomplexライブラリをrequireする

>> require 'complex'
=> true

複素数を定義する場合はコンストラクタで引数に実部、虚部を与える。

>> a = Complex.new(1,1) # 1+j
=> Complex(1, 1)
>> b = Complex.new(1,-1) # 1-j
=> Complex(1, -1)

また各メソッドで作られた複素数の実部、虚部、共役複素数が得られる。

>> b.real
=> 1
>> b.image
=> -1
>> b.conjugate
=> Complex(1, 1)

加減乗除はそのままでOK

>> a-b
=> Complex(0, 2) # 2j
>> a * b
=> Complex(2, 0) # 2

絶対値はabsメソッドで得られる

>> a.abs
=> 1.4142135623731  # ルート2の値

角度はargメソッドで得られる。得られる偏角(アーギュメント)の値はラジアン

>> a.arg
=> 0.785398163397448
>> 360 * a.arg / (2.0 * Math::PI) #ラジアン→度
=> 45.0

こんなところだろうか。
どうも信号処理系の仕事をするとどうしても複素数が必要になってしまうのでメモとして残しておく。
数宇Bバンザイ。*1
当初はExcelの上で無理やり計算していたのだけど、結局Rubyのシェル(irb)上で計算していく方がわかりやすかったりするので…。

*1:私はまだ数学Bに複素数が残っていた世代。最近はベクトルだけになってしまっている。

バズ

おっ、リンクが出現。
f:id:hideack:20100210234515p:image
さて、使うかなぁ…。
もっぱらgmailは公にしないメッセージのやりとり専用にしたい気もするし。
現状、結構gmailのチャットは愛用していて話す相手先のユーザがログインしていない場合でもわざわざメールでなくても簡単な一言ふたことチャット経由で投げておけば相手も"OK"とか、簡単な返事をオンラインにした際にしてくれるので便利なのだ。
ちょっとしばらく様子見。もっぱらつぶやきとか公にして問題ないメッセージのやりとりはtwitterかなぁ。

横顔と大盛りご飯と無駄骨。

早々帰宅。
いやはや疲れた。頑張った分だけ肩透かしと言うか。無駄骨というか。
例えば、気合を入れて調査のレポートを作ったら表紙と表紙から数枚をパラパラっとめくられて、そのレポートの上に飲んでたコーヒー置かれて「ほい、ご苦労さん。で、こっちなんだけど…」と言われた直後の様な状況。*1
最近、一緒にお酒を飲んだ私の人生&エンジニアとしての大先輩から

どんな仕事でも何か1つでも新しいことを知れたら、素直に「あぁ、よかった」と思わないとだめだよ。

と言われたのだけど、今回は何か得たのだろうか。

あまりに気が抜けてしまったのでお酒でも飲みに行こうかと思ったけど、月曜日〜木曜日*2はお酒を控える様にしているので某牛丼屋系列の定食屋さんにチキンカツ定食を食べに行った。
先に書いた様な気分だったので、ご飯大盛りサービスをお願いして食べている途中でお腹が膨らんでかなり満足してしまい「あぁ、これは失敗だったなぁ。」と思いながら残すのは勿体無いので、このやろこのやろ的にご飯と格闘しながら食べていた。
チキンカツは冒頭の時点で消費済みである。ご飯とカツの割合が微妙だなぁ。あと衣厚すぎ。私は文句多すぎ*3

お皿に残ったソースのついたキャベツをかき集めつつ、まだ残りが多いご飯と格闘していると座っているカウンターの隣の席に女性が座った。
と、横顔を見ると誰かに似ている。あぁ、昔の相方だ。
似てるなぁ。似てるよなぁ。てか、似すぎてないか。
え、なんでここにいるんだ。いるわけないか。

と、ひとりで大パニックに陥り箸で持ち上げていたご飯の塊を茶碗に戻したり上げたりのかなりの挙動不審行動を取っていたら目が合った。
全くの人違いだった。

お恥ずかしい。何やってんだか。
でも、似てたなぁ。
ここまで書いといてなんだけど、何書いてんだろ。数年に一度あるかないかの訳の分からないエントリーになってしまった1618日目のblogエントリー。

*1:わかりやすい例え話。友達からの受け売り。

*2:例外=祝日と年末年始とお盆

*3:自分でわかっているところがポイントである

新年会

2月になったのだけど新年会。
大学時代の同級生が集まってご飯を食べに行った。
f:id:hideack:20100207193908j:image
想像以上に値段が高かった日本酒を飲んでしまったりしてしまったのだけど、楽しく過ごせた。

今年もよろしくお願いします。だな。

最近購入分

Crocodile

Crocodile

なんだかんだでUnderworld聴き始めて長い。
おそらく一番最初に聴いたのはApril氏にCDを借りて以来だと思う。
プログラム書いていて且つ、何かが降りる状態で聴くと更に効率が個人的には増す効果がある。

ハイファイ新書

ハイファイ新書

チャンネルをテレ東に〜♪リモコン持ったら速やかに〜♪
…頭からループして抜けない。

妄想

FPGAの評価ボードがあるとする。
評価ボードにはEtherコネクタがついていて、FPGAと繋がっている*1
また、ボード上には自由に使えるメモリも載っていてFPGA側からアクセスできる。と。

ここで仮にFPGAでmemcachedのプロトコルスタックを解釈できる回路を実装して、Ether経由で受信したKey-Valueのストア、ロードをFPGA上の回路がネゴシエーションして評価ボード上のメモリに格納、または呼び出しを行い結果を返信する回路が実装できたとしたらいわゆる通常のソフトウェアで動いているmemcachedサーバよりパフォーマンスが出るのだろうか?

以上妄想。
うん、あまりパフォーマンス変わらない気もしてきた。コストパフォーマンスはどうだろう。

*1:少し調べてみると[http://www.allied-telesis.co.jp/library/nw_guide/tech/ether100.html:title=MIIインタフェース]とかいうのが多いらしい