25122011 life
これで3G通信が出来てiTunesと同期出来ればサンタにお願いしたのに。
25122011 life
これで3G通信が出来てiTunesと同期出来ればサンタにお願いしたのに。
Nginx+Node.jsの環境が欲しくなったが、とりあえずちょっと遊びたいだけなので、使ってないUbuntu(Let's Note R4)に入れてサーバーにしてみた。
契約しているプロバイダが固定IPなのでこういう時に便利。
Nginxのインストールは
sudo aptitude install nginx
そしてNodeをインストールするときのエラーはここみて解決。
24122011 life
f-bizというのは富士市にある産業支援センターですが、富士はわりと起業が活発だと思う。
たまにセミナーにでたりするけど、スタイルとしては、売りを明確にして、キャッチコピーを考えたり、新聞やテレビなんかを通した全国展開できるようなサポートを得意としているような気がする。つまり陽を当てる系ですね。
なので、成功する起業、企業の三要素が
とわかりやすい。
余談だが、最近アマゾンのビジネス本の書評で★5つでレビュー数1という、かなりアレなものが多いなぁと感じる。レビュー数5以内はレートを付けられないとか、アカウント作成日くらい表示して欲しいが、まぁ無理なんだろうな。
ブクログのレーティングのほうが信頼できるかな。
24122011 work
また面白そうな本が出たなぁと思いながら、手を出すべきか辞めるべきかと目次を見ていたら13章におもしろい節を発見した。
構文解析器生成系ANTLRの開発者であり、サンフランシスコ大学教授のTerence Parrが贈る、言語実装パターンの解説書。構文解析、意味解析、インタプリタ構築を通じて、言語アプリケーション開発に必要な知識が身につきます。
考えてみるに、生物系ってコンパイラとソースコードがセットになったような変な処理系だよなぁと。
情報系よりの学会に行くと、RNAの立体構造を抽象的な文字列表現だけから予測しようとしして、物理化学的な性質無視してるから精度が出ないんじゃないのとか思う一方、大まかには記号化された抽象表現だけで大体合うから不思議だよなぁと。
タンパク質もそうだしねー。
一方で、(特に低分子の)創薬研究ってのは文字列の並びというよりは、フォントの書体の美しさとか、単語の並びの意味とかそういうあたりに着目するので、プログラム言語的にはLLのソースコード読みながらアセンブラの動きをイメージするような技術が求められるのかなーと。
23122011 life
息子の鉄道の本を買うついでに買ってみたけど、得るものがなかった。もらったquoカードで買ったけどちょっと損した気分。
子どもの教育のこと書いてあるのかな?とおもったけど、テレビとかの内容に持論をのせましたというか、テレビ見ないから全然わからん。全般的に子ども関係無いような。
なんというか、見ている社会が、今っていうか将来も現状の延長線上に置いている感があるのが自分の感覚と違いすぎて共感できないというか、自分の子供のころの話だったらわかるけど。コレ読むんだったらドラッカーの後ろの方の著作読んだほうがいいと思う。
同意できる部分
タイトルにちょっと騙されたかなと。鉄道図鑑を握りしめた息子に急かされたのでそのままレジに直行したけどパラパラめくってから決めればよかった。
PUBLICも気になったんだよねー
23122011 Linux
Nodeを触っているのは楽しいんだけど、じゃぁなんか作りたいものがあるのかと言われたらイマイチ思い浮かばない。リアルタイムウェブ〜とか言っておいて(言ってないけど)アイデアが浮かばないってのはまずかろうとソケットプログラミングの本を読んでみることにした。
ソケットプログラミングを覚えるにはいい本だった。サンプルはCで書いてあるんだけど、システムコールとかの低レベルのモジュールはPerlもPythonもほとんど一緒なので、動きがイメージできるようになって良い感じ。本を読み終えたついでにSocketServerのソースコード読んでみたけど、理解度がさらにあがった。
本の内容は、
非同期はselect使っています。8章でデーモンの入門の章だったんだけど、なんでforkを二回するのかわかりやすい説明ではなかったので、ここを読むといいですね。
3章のチャットっぽいものをPythonとPerlで書いてみた
import socket host = socket.gethostbyname('localhost') port = 50000 soc_waiting = socket.socket(socket.AF_INET, socket.SOCK_STREAM) soc_waiting.bind((host, port)) soc_waiting.listen(1) print "server running at %d\n" % port (soc, client_addr) = soc_waiting.accept() soc_waiting.close() print "Go ahead!" msg = "" while True: msg = raw_input() soc.send(msg) msg = soc.recv(512) print msg if msg == "quit": break soc.close()
import socket host = socket.gethostbyname('localhost') port = 50000 soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) soc.connect((host,port)) print "Wait\n" while True: msg = soc.recv(512) print msg msg = raw_input() soc.send(msg) if msg == "quit": break soc.close()
#!/usr/bin/env perl use IO::Socket; $soc = new IO::Socket::INET("localhost:50000"); die "IO::Socket : $!" unless $soc; print "Wait\n"; my $msg; while (1) { $soc->recv($msg, 512); print $msg,"\n"; $msg = <STDIN>; chomp($msg); $soc->send($msg,512); last if $msg eq "quit"; } close($soc);
Unixネットワークプログラミング欲しいなぁ
今度静岡でおまちバルがあるように、静岡はバルブーム、バルバブル、バブルボブル。で、バルイベントにはハッシュタグとtwitterでつぶやいて盛り上がろう的な今時なソーシャルな仕掛けも一緒についてくるんだけど、これがまじでつまらない。
ハッシュタグが漢字混じりのひらがなとかあり得ないでしょう。そもそも酒飲むイベントで打たせるか?と。全員がiPhoneに向かってカチャカチャやってるIT系のオフじゃないんだから。あと、飲んでる時にハッシュタグでtweetおいかけるのもめんどくさい。結局送りっぱなしになっちゃうので、だれかがまとめたのを読み返すくらいで、全然リアルタイムじゃないね。
というわけで、バルのtweetシステムに不満があったのでソーシャルでスマホ持ちの我々が使って楽しいシステムを考えてみた。
バルラーにちまちまと端末を打たせないように店の入口に「店なうだらー、ハッシュタグ、ジオコード」が入ったQRコードを貼っとく。これで、カメラで撮るだけでtweetできるようになるので酒が良い感じに入っていてもOK。パンフにつけておいてもいいかも。そっちは宣伝で、人気度調査用にしてもいいかもしれん。
で、サーバー側をリアルタイムウェブで、twitterのストリーム読みながらマップ上にマッピングさせていくと。ジオコードの頻度で明るくするとかでもいいしね。そうすればリアルタイムで楽しい。ユーザーの動向を線でつないでも面白いかも(どういう順番で店をまわってんのかとか)。主催者側にもそういうデータが集まればいろいろ役に立つでしょう。
そういうシステムをNode.jsでつくったら楽しいだろうなぁと思った。
22122011 life
データ圧縮に関して書いてある1,2章が面白かった。
図解入門 よくわかる最新データ圧縮技術の基本と仕組み―情報圧縮技術とアルゴリズムの基礎講座 (How‐nual Visual Guide Book)個人的にはブロックソートの説明がわかりやすかったので、それだけで満足だった。
20122011 家庭菜園

これはなかなか美味しかった。
20122011 C
最近はずっとUNIXネットワークプログラミングの写経をやっているんだけど、PerlとかPythonからプログラミングにに入った僕としてはCって書いてて楽しくないですね。
それからポインタの理解がイマイチで、こういったものが何じゃこりゃ?となってしまう。
bind(soc_waiting, (struct sockaddr *)&me, sizeof(me)) == -1)
というわけで、C言語ポインタ完全制覇を読んでみたらこれは良書だった。
Cのメモリの使い方がかなりイメージできるようになって嬉しい。CとかJavaなんかは中古で良書が安い値段で手に入るのでそれはそれで嬉しいが。
そもそもなんでソケットプログラミングなんてやり始めたかというと、先日の勉強会で、「リアルタイムウェブで作りたいもののイメージがわかないんだよねー」と言ったんだが、結局それってリアルタイムな通信のサンプルをあんまやったことがないから、アイデアが浮かばないんじゃないかと思ったからなんだけど、なぜかシステムコールとかそっち方面に興味がわいたという。ノンブロッキングとか上っ面の概念ははいはい分かりますよーって感じなんだけどOSレベルではどうなんっているんじゃろか?と
どこまで追いかけるべきかわからんけどね。