難解な本を読む技術

難解な本だけでなく、(難解な)論文を読んだり、速読をする際にも役に立つ内容だった。

ProductName 難解な本を読む技術 (光文社新書)
高田 明典
光文社 / 861円 ( 2009-05-15 )


本には「閉じている<->開いている」の軸と「登山型とハイキング型」の軸がある。後者の軸はわかりやすくて登山型っていうのは要するに論理を積み上げていき高みを目指すタイプの本であり、ハイキング型はハイキング型です。

前者の閉じている開いているは読者に自己決定を促すか否かということであり、ウンベルト・エーコの「開かれ」の概念に由来して名付けられている。

これから読む本が上記のどのタイプに当てはまるのかを予め知っておけば、どういうスタンスで本に臨むかが明確になるし、読み飛ばしてオッケーな本なのかどうかもわかる。

また、読書ノートをつけていくことで、

  • 用語、概念が不明確
  • 論理展開が不明確
  • 本文で扱おうとしている問題が不明確

の場合にどうやって解決していくかも書かれているので、論文読むときにも参考になるが、自分の場合はマインドマップと付箋で解決している。

アルゴリズム系の論文の場合は理解した時の達成感は格別だからね。

Node.jsでAmazon Product Advertising APIをさわる

静岡デベロッパーズつくる会#4お疲れ様でした。最終的に5人でしたが、いままでで一番黙々度が高かったような。Node.jsの情報交換も出来てなかなか有意義だったですね。

昼はカフェプレアーテでつけナポリタン。スープの酸味がマイルドでなかなか美味かった。

1326098364

個人的にちょっとつくりたいものがあったので、ntwitterで遊びつつ、ExpressにoAuth認証を実装して、Node.jsからAmazon Product Advertising APIをさわるとこまでやりました。

var util = require('util'),
    OperationHelper = require('apac').OperationHelper;

var opHelper = new OperationHelper({
    awsId:     '####',
    awsSecret: '####',
    assocId:   '####-22'
});

opHelper.execute('ItemSearch', {
    'SearchIndex': 'Books',
    'Keywords': 'Node.js',
    'ResponseGroup': 'ItemAttributes,Offers'
}, function(error, results) {
    if (error) { util.print('Error: ' + error + "\n"); }
    for (index in results.Items.Item) {
    util.print( results.Items.Item[index].ItemAttributes.Title + "\n"); 
    }
});

実行結果

Node Web Development
Node: Up and Running: Scalable Server-Side Code with JavaScript
Getting Started with GEO, CouchDB, and Node.js
Hands-on Node.js
Programming Node.js
The Node Beginner Book
JavaScript Patterns
Supercharged JavaScript Graphics: with HTML5 canvas, jQuery, and More
Eloquent JavaScript: A Modern Introduction to Programming
What Is Node?

あとはExpressに取り込んで、Initializrのテンプレートをかぶせて早めに公開したい

それから今月末にもHTML5読書会があるので興味があれば参加すると良いです。Canvasタグの章をやる予定

今日の畑(120109)

ベランダのラディッシュが膨らみ始めた。

1326098044

葉も結構増えてきてた。もう少しで収穫できるかな。

1326098047

それから畑で人参を収穫してきたが、なかなかの出来だった。

Node.jsでtwitterのストリームをgrowlで通知する(改)

静岡デベロッパーズつくる会#4やってます。

前に作ったやつがうごかなくなってるのでリハビリがてらなおしてみた。

twitter-nodeってのが新しくなってntwitterになっているのとnode-growlのAPIが変わってた。

#!/usr/bin/env node

var twitter = require('ntwitter');
var growl = require('growl');

var twit = new twitter({
               consumer_key: '####',
               consumer_secret: '####',
               access_token_key: '####',
               access_token_secret: '####'
               });

twit.stream('statuses/filter', {track:['#shizudev','#shizuru']}, function(stream) {
        stream.on('data', function (data) {
                  growl("@" + data.user.screen_name + ": " + data.text);
              });
        });

ProductName Node: Up and Running: Scalable Server-Side Code With Javascript
Tom Hughes-croucher
Oreilly & Associates Inc / 2877円 ( 2011-09-22 )


新書がベスト

小飼弾さんによる新書のススメ

ProductName 新書がベスト (ベスト新書)
小飼 弾
ベストセラーズ / 780円 ( 2010-06-09 )


part3の新書レーベルめった斬りが参考になった。ヴァイナルだったらレーベルコンセプトとかはっきりしてるんだけど本のレーベルに関しては大雑把だと思っていたので面白かった。

  • 複数の本を同時に読むことの最大の理由は「本に読まれない」ためです
  • 中公新書の「物語〜の歴史」
  • 裏付けのない論理のみで構成されている本(は批判的に読む)

子どもに本を読ませたいなら、まず親が読め

part1でふれられていたが、これは本当にその通りだなぁと。読書習慣は伝染りますね。娘は年長だけど小学校低学年向けの80ページくらいの本を普通に読んでて、3冊/weekくらいはこなしている。

図書館にいくたびに、娘にとって「スラスラ読める <-> ちょっとチャレンジング」かつ「内容が娘にヒットしそうなもの」を5,6冊選んでいるんだけど、思い通りにヒットさせるとちょっと楽しい。

最近だとカーリルも活用していて、面白そうな本を予めピックアップしておいて、図書館の棚の番号を頼りに目的の本を探し当てるのが宝探しみたいで楽しいようだ。

子供用のbooklogみたいなのないかなぁ

仕事で使える英会話

文例集。それ以上でもそれ以下でもない

  • Nice to see you again (再開した時)
  • Let's do a meeting at XX
  • Let me give you a quick rundown (さっと流したい時)
  • As far as the XX goes (XXについていえば)
  • I tend to think that (In my opinion)
  • So, what's bottom line? (要点は?)
  • It didn't work(失敗の意味)
  • I'm not so sure about it
  • Who knows ?(試しにやってみようの意)

Linuxネットワークプログラミングバイブルを買った

UNIXネットワークプログラミング入門ルーター自作でわかるパケットの流れを読んで、pollとかepollとかlibeventの使い方を覚えたいなぁと思ったらLinuxネットワークプログラミングバイブルってのを見つけた。

というか、ルーター自作でわかるパケットの流れの著者とソケットプログラミングを調べていたときに見つけたブログの著者の共著だったので、即買いした。

ProductName Linuxネットワークプログラミングバイブル
小俣 光之
秀和システム / 3990円 ( 2011-01 )


小さいけどきちんと動くコードがたくさん載ってて、プログラムはコードで語れという匂いが感じられるのは個人的にはありがたい。8章まで読んだけどわかりやすくて良かった。特に5章の多重化の章はボリュームがあってselect,poll,epollにマルチプロセス、マルチスレッド、ノンブロッキングI/Oのコードが一通り揃っていて知りたいことは全部入ってた。

まだ流し読みしただけで写経はしてないが、Cのネットワークプログラミングはここまでおさえておけば自分的には満足だなぁという感じなので、いい本ゲットしたなぁと思った。

moin2の16の特徴の中から気になったもの

MoinMoin 2.0のビッグニュースに16個あげられていたんだが気になったものを

Sphinx-based docs

Sphinxベースのドキュメントになって読みやすい。でもmake pdflatexはこけた

Storage Layers: stores, backends, middlewares

ストレージにファイルだけではなくsqlalchemyで使えるRDBやKyoto Cabinetなんかも使える。

Tree based transformations

これに惹かれた

input -> converter -> DOM tree -> converter -> output

という変換経路をたどるのでフォーマットの変換ができる。つまりwikiのコンテンツを好きなフォーマットで取り出せるので、特にReSTで取り出してSphinxにもっていけるようになるのでデータの再利用がしやすそう。

GUI editor update and different approach

ckeditorが使える。WYSIWYGはイントラのサービスでは必須。

Themeing with Jinja2 templating engine

Flask-Themesを使っているので、自分用のテーマを作ってみる予定

Packaging

virtualenvのおかげで、環境を汚さずすむので便利。あとquickinstallスクリプトがインストールの面倒をほぼすべて見てくれるので超楽チン

nginxでnode.jsを使う

node.js + nginx - And now?に書いてある通りにやればいい。

でもコメント見たら

location / { proxy_pass http://127.0.0.1:3000; }

だけでいいんじゃないの?って書いてあったので、試してみたらそっちでも動いた。ちょっとうごかしたいだけだったらこれでいいかな。

あとはforeverで動かせばいいみたい。

nginxの設定ファイルはapacheよりも分かりやすそうなので、さくらVPSでこのブログ(Flask製)動かしてるapacheもnginxに変えちゃおうかなぁと思った。

ProductName ハイパフォーマンスHTTPサーバ Nginx入門
Clement Nedelcu
アスキー・メディアワークス / 3150円 ( 2011-04-21 )


娘が「おいでよどうぶつの森」をやりはじめた

最近CD棚に埋もれているのを発見してから、楽しく遊びはじめたようだ。

ProductName おいでよ どうぶつの森

任天堂 / 3745円 ( 2005-11-23 )


そういえば、このソフトは妻が娘を妊娠中に暇つぶしにと買ったんだよなぁ

6年前の話だった

懐かしいといえば今朝車のなかで聴いてたD'n'BのPodcastも懐かしかった。3時間オーバーのボリュームなので聴き応え十分。

ProductName Jungle Rewind
Shy FX
Inspired UK / ?円 ( 2005-10-11 )