[Programming][Books]コンピュータサイエンスの基礎固めに突入
そろそろ頃合か。
ここの推薦図書とは別に基礎固めとして、 いくつかリストアップしている本がある。推薦図書は会社とかプロジェクトとか比較的スケールの大きな話にテーマが偏っているのだが1*、私がリストアップしているものはコンピュータサイエンスの核になるもの、それらは主にアメリカのコンピュータサイエンス学科の学生が授業などで使用しているものがほとんどである。
1テーマにつき、一殺。いやいや、一冊。
プログラミングに関しては、勇み足的にPerlを選んでしまったのだが、なぜ私がPerlを選んだのかはここに書いてある。
(本当はこんな不純な理由じゃなかとです。ただ、エロい、いや偉い人にはそれがわからんのです。)
まず、第一関門は
アルゴリズム。そして、選んだのはこれ。
MIT Pressから出版されていて、海外のアマゾンでもアルゴリズムの中で、圧倒的カスタマーレビュー数を誇る本である。
ページ数は1184。ひぃえ~恐ろしか。てか、こんな分厚いのを勉強しているの?
嫌よ、嫌よのも好きの内ってか。
まあいい。どうせ、茨の道を選んだのだから。はやる気持ちを抑えるのも大変だ。
[Books]では、この本の進捗具合などを適度に混ぜつつ、引き続き、推薦図書の所感や他に面白かった本などを書いていこうと思う。
1*すでに、ある程度この業界のバックグランドがある人を対象にしていると思われる。
[Tech]Amazon.comのサービス(モノと物)
海外のAmazon.comをよく徘徊するのだが、こんなものを見つけた。
海外のアマゾンでもあなたの国のお金でお買い物ができますよ。という話。日本でも洋書なんかは買えるので、特に困ったことはなかったんだが、usedのやつなんかは為替相場をまったく無視した価格を平気で提示しているので、とても腹が立つ。海外のアマゾンでは安いのに。shipping chargeを入れるとどれくらいだろうか。ちょっと試してみようかな。
それと、このアナウンス時点で、11種類の通貨に対応しているらしいが、意外な通貨があったり、なかったりと。South African randがあって、Canadian dollarがない。なぜに?
・Kindle: Amazon’s New Wireless Reading Device
電子書籍リーダーともいうべきか、Kindle。ちょっとこれほしいんだけど。いかにも書籍リーダーらしいCollarlessなデザイン。iPodもそうなんだが、こういう見た目もシンプルなのが、好きなんですよ、私。
それにしてもAmazonはいい仕事をしているなあ。
[Computer]右シフトキーを使っていないことに気が付いたから、今日はキーボード記念日
そう、癖というのは時に恐ろしいのだが、私は普段から右シフトキーを使用していなかった。だからなのか、先日のエントリーで”_”(アンダーバー)が押しにくいなどと書いてしまったのは。それもそのはず?私は左利きなので、左シフトキーをホームにしがちなのだ。それにキーボードの配列も左側に重心が偏っているし。
それで、右シフトキーを使えば、どの範囲までが押しやすいのだろうかと少し考えて、いろいろ試してみた。
”_”は右シフトキーの横にあるので、押しやすいと考えられる。そしてその横の”?”。これらは右手小指を起点にするより、薬指の方がしっくりくる感じだ。あと、” ‘ ”これぐらい(なんていうんだろうかこれ、これは右手小指が起点かな)。それ以外は左シフトキーを起点にした時とあまり変わらない感じだ。前者の二つは私がよく押し間違えるところなので、押し間違いによるストレスを少なくするためには右シフトキーを使用した方がいいのかもしれない(どちらが、よりタイピングを中断させないのかが悩ましい)。どちらにせよ、左手は基本的にあまり動かさない方がいいみだいだ。 皆さんは{}(ブレーズ)をどちらのシフトキーを押してタイピングしますか?
それはそうと、emacsでshellのコマンド履歴をCtrl+Pで呼び出そうとすると、履歴は呼び出されずにそのまんまPreviousLineにいってしまう(こちらが優先)。TerminalではCtrl+Pで履歴を呼び出せる。
ちなみに、emacsの矢印コマンド
Ctrl+B ← (left:backward-char)
Ctrl+F → (right:forward-char)
Ctrl+P ↑ (up:previous line)
Ctrl+N ↓ (down:next line)
おまじない文に関してはtmp.plファイルか何かを用意し、必要ならば、C-x C-wで名前を変えてファイルに書き出す。あるいは、emacsのabbrev-mode(本のP78)を使用する。emacsでエイリアスって定義できるんだっけ?
メタキー(Altキー)をTabキーの位置とswapさせようと考えてみたが(Ctrl+Metaの同時押しが容易になるはずだ!)、ubuntuのキーボードのレイアウトオプションでは標準で選択肢がない。あれま、どないしよ?
今日はここまで。とてつもなく眠い。
[Books]The Mythical Man-Month(MM-M)を読んでみた
推薦図書の第4弾!
第1弾はDon’t make me think、第2弾はEnvisioning Information、第3弾はPeopleware
The Mythical Man-Month(和訳:人月の神話―狼人間を撃つ銀の弾はない)を読んでみた。
さらっと読んだ。正直なところ、これを読んで笑ってしまうところがいくつかあるのだが、現場を経験した後だと、とてもじゃないが笑い話では済まされない。ここに書いてあることを身をもって経験していると、 人月なんてそもそもinterchangableなものでもないし、机上の空論だよねわははっと聞こえてきそうなくらい現実に適合しているかのような事実ばかりが並べらていて、ぎょっとする(タイトルには2重の意味があるのではないか)。
特にdocumentの必要性を問いている箇所が引っ掛かった。これは論文でもそうなのだが、このシステムはどういう目的で、そしてどのような方法でそれを果たすのかというのが重要になってくる。 なぜ、そうするのか。それでどうするのか。というのを逐一説明する必要があるのだ。そして、それをdocumentとして残す。これはまったく無関係な第三者でも理解し、再現できることを理想として考えられている。この説明が不十分だと余計なcommunicationが発生してしまい、作業の遅延がおき、それを補おうとしてmanpowerを投入した人海戦術に頼らざるを得なくなるのだ。←これが法則化されてしまうのだから、何ともはや。その理想を捨てるなら、開発をやるには気心知れた余計な説明がいらない精鋭の少人数部隊が一番好ましい。ただ、これは大きなプロジェクトでは、うまくいかないらしいが。
私が管理職になったら、また読み返してみてもいいかな。そのときは新しい開発スタイルが登場していることを祈るんじゃなくって、技術者なんだから、自分で作れか。やっぱり。
参考
[雑談]ブログのテーマ
以前のテーマも飾り気がなかったんだが、こちらの方が横に拡大されるので、選んだ。見やすいし、確認しやすくなった。
それにしても白黒が好きだなあと自分でも思う。
現在のテーマ
The Journalist by Lucian Marin
The Journalist is a smart, minimal theme designed for professional journalists.
[Nature]熱帯雨林での一斉開花の謎
たまたま2008年2月24日付けの日本経済新聞をパラパラめくっていると、Sunday Nikkei α (サイエンス)のコラムに「熱帯の花、乾期が咲かす?」「謎が多い一斉開花」「日本が実証実験」ってタイトルが踊っていたので、読んでみたら、なんだ昔聴いたことがあった話だった(ってついこの前だけど)。
それでここの問題は新聞にもあるように、「熱帯雨林の多数を占めるフタバガキ科の仲間は、百種類以上もあるのに、なぜ花期(花を咲かせる時期)が同調するのか」 ということだ。
単一種レベルにおいては、一斉開花は竹などでも見られる現象なのだが、 種を超えて(界、門、綱、目、科、←このレベル属、種)の一斉開花は珍しい現象なのだ。素数ゼミのような周期説も考えられてきたが、どうやら環境要因がトリガーになっているんじゃないの?という理由である。
環境要因による仮説は2つある。
・「一時的な低温が開花の刺激になる」仮説・・・以前から海外で指摘されてきた。
・「わずかな乾燥の時期が開花の引き金になる」仮説・・・今回日本チームが検証しようとしている。
植物が開花に至るプロセスで環境要因に低温条件と乾燥条件が重要であるというのはよくある話なんだが、それが一部の地域のそれも種を越えた一斉開花に重要であるというのはとてもスケールの大きい話なのだ。
紙面にある開花している種の割合と30日間の積算降水量を1992年~2003年間で比較してみると、開花している種の割合が極端に高い年はその年の降水量が少ないという関係が見られる(というかなぜここで、温度との関係も出さないのだ)。
これを証明するために、ビニールシートで雨を遮断して、木が根から水を吸えないようにして人工的に乾燥させた状態を再現するそうだ。って、これじゃなんか蒸れそうなんだけど。根ぐされとかいいんかな。まあ、私なんかに言われんでも、考えてはいるでしょうけど。
もうすぐ結果がでるみたいな文章の締め方だったので、今年度か来年度くらいには論文として出るでしょうから、楽しみに待つとしましょう♪
<<<>>>
ここからは私の考えで、紙面でも指摘があるように、「低温と乾燥のどちらが一斉開花に効いているか」というのは少しナンセンスで、「低温と乾燥のどちらも一斉開花に効いている可能性があるが、どちらがより重要か」というニュアンスの方が正しいと思う。植物が開花に至るという表現型には入力系(低温や乾燥以外にも日長やサーカディアンリズム)がいくつもあり、単一の系だけではなかなか説明できない複雑な現象なのだ。それで、特になぜ低温と乾燥が着目されるのかというと、これらの環境要因が母樹の生存にクリティカルに影響するからだ。生物は子孫を残してナンボなところがあるので、母樹がダメージあるいは危機に瀕しているとなったら、どうするだろうか?あまり擬人的な表現は好ましくないのだが、そういう状況に陥ったら、子を残そう、守ろうとするのではないか。
それと、これは種をこえた一斉開花の謎の一因となる環境要因(至近要因)の実証であり、究極要因である「なぜ同調して一斉開花するのか」という疑問には直接答えられない。しかし、話にもあるように、開花に至る遺伝子の分子メカニズムなどがわかれば、その解明の糸口になるのかもしれない。
う~む、壮大で夢のある話ではないですか。
それと、これがどう地球温暖化などの環境問題と結びつくのか私には分かりません。
[Programming][Perl]続・うるう年かどうか判断するプログラム
このエントリーの続き。とその前にこれをやってみた。
・ Beginning Programming in Perl
このうるう年かどうか判断するプログラムはDay6 and Day 7の例題で取り上げられていたし、プログラミングPerl〈VOLUME1〉(単行本)のP123にも載っていた。orz
基本中の基本なんだね。まだまだ遠いなあ。
でも、とりあえず、Perlで書いてみたので晒して置く。
#!/usr/local/bin/perl
print “Enter the year “;
$year = <STDIN>;
chomp($year);
if($year%400==0 || ($year%100!=0 && $year%4==0)){
print “$year is the leap year\n”;
}else{
print “$year is not the leap year\n”;
}
前回はchompっていうのがなかったので、うまくいかなかったのだ。このchompは”文字列の終端からリターンキーを剥ぐ”ものらしい。英語の意味はTo chew loudly and greedily(私の和訳:音を立ててむさぼるように噛む) 。
白ヤギさんたらお手紙食べた♪ これって何か関係あるのかいな。
それにしてもubuntuの辞書は役に立つな。
Cといくつか違う点がある。
・変数を宣言しなくてもいい(特に型をあまり気にしなくてもいい)
・main関数がない
・冒頭のおまじない(これでPerl interpreterを呼び出すんだとさ)
ここで覚えたもの
while構文、open関数、do~while構文、last if。
より暗示的なコーディングにすることも出来るみたいだが、それは今後の課題。
last if文でループを抜けるのに、正規表現を使っていたが($line =~ /^\n/;)、ムスカがラピュタ語を読めた時なみに「読めるぞ~」って、高揚してしまった。まだ、正規表現の本は読んでる最中なんだけど。
それにしてもemacsでメタキーの位置って押しにくい。!、#、_もShiftとCtrlと間違って訳わかんないことになるし。おまじないも何度も入力したくね~。zshのautohistoryのコマンドってあるんかいな(矢印キーでやりたくねえ)。
サブルーチンとモジュールを使ったプログラムはまた今度。今日はここまで。ふう~
[雑談]情報の取捨選択方法(私の場合)
私のマンションに、2011年の地デジ対応のための回線工事ということで、電気工事屋さんが来た。
「テレビってほとんど見ていないなあ」と思いつつ、間借りの身なので、工事をやって頂いた。
電気工事屋さんとの会話でも面白い話があったんだが、これは主題ではないので、また後日(書かないかも)。
それで、 テレビってほとんど見ていないってところが主題なんだが、そう私はテレビをほとんど見ていない。というかテレビ自体がない。 テレビがあるのに、テレビを見ないってレベルではないのだ。
なぜこうなったかは学生時代に引越しをすることになったことが原因だ。
今時の薄型テレビなんかなくて、奥行きのあるでかいブラウン管テレビを使っていたのだが、これを引越し先に持って行くのが面倒だったし、狭いワンルームのスペースをこれに占領されるのがいやだったのだ。いっそのこと薄型テレビを買い換えるという選択肢もあったんだけど、私はテレビを持っていかないというか、持たない選択を取った。それからだ、テレビをほとんど見なくなったのは。
テレビが嫌いというわけではなかったのだが、別になくても平気だった。その理由に、行きつけのテレビの置いてある店で食事をする時、決まって同じ場所で食事をしていることに店員さんからの指摘で気が付いたのだ(そう、テレビが一番見やすい位置で)。だから、テレビがあるところでは、食い入る様に見てしまうし、一つ一つのCMとかが新鮮でたまらないのだ。それでも、今後、テレビを買おうとは考えていない。
また、私は社会人として新聞すらとっていない。「重要な情報源として新聞を定期購読して読む習慣をつけろ」と新人の時に言われたが、 お金を出してまで読む気にはならなかった。なぜなら、他にいくらでも読める選択肢があったからだ。
街の喫茶店や図書館、それにフィットネスクラブなどなど置いてある所は数知れずだ。クラブに通った時は、日本経済新聞と地方紙の2つはチェックするようにしている(これで、約束というか目的は果たしているよね)。
それじゃあ、ネットで情報を収集しているのかというと、私の場合、ほとんど毎日チェックしているのはDigg.comといくつかのRSSぐらいだ。(ブログ読者の方はThe AssociatesのところにMy News~と題したものがあるのをお気づきであろう)
私が情報収集を試みているのはこれくらいだ。誰かの参考になればと思い、ここに記しておく。
[雑談]ピクトグラム(pictgram)
何気なく電車に乗って、優先座席の前に突っ立ってたら、目の前の優先座席を表す図が気になった。
「これって、ピクトグラム(pictgram)だよなあ」
つい先日、知り合いとこれの話題になったばかりで、新鮮だったのだ。
ピクトグラムって何?って方は非常口のところにある緑色した人型の図を想像できるのではないでしょうか。
これに代表されるように、ピクトグラムって人型をモチーフにしたものをさすのかと思ったら、そうでもないみたいだ。
私なんて、人型なもんだから、bitchっていう服のロゴなんかを想起してしまった(銃を構えているものや手を握っているもの)。
何らかの情報や注意を示すという意味ではこれも当てはまるよな。
bitchの語意なんてひどいものだ。
参考
[Music]巡恋歌-長渕剛
しゃぼん玉や乾杯など長渕剛さんの歌は名曲揃いですが、私はこの歌が一番好きです。