4.12.2009

読書。

しばらくぶりの技術書。
あんまり読書に割ける時間がないから、できるだけ薄い本をチョイスした。
今回読んだのは、入門 Common Lispという書籍。



でも、この本、「入門 Common Lisp」とは名ばかりの本で、とてもじゃないけどLisp初心者に勧められる本じゃないと思う。

というのも、内容は「Lispらしいプログラムをいかにして書くか?」に重点が置かれていて、なおかつ(筆者の考える)Lispらしさを実現するための4つのポイントというのが主題になっているから。

サブタイトルにある、「関数型4つの特徴とλ計算」って方が主題だと思う位、Common Lispの入門書としてはオススメできない。

むしろ、入門書の次に読む本という位置づけで、Lispでプログラムを書いても、どうしても手続き型言語っぽくなってしまうと悩んでいるプログラマにもってこいの書籍だと感じた。

薄い本を選んだだけあって、1日で読んでしまったので、時間は無いが関数型言語の空気に触れたいと考えている人にもお勧めかなあ。

実行環境についてはxyzzyというEmacsライクなエディタ上で実行することを前提になんて書かれてるけど、文を読む限りじゃGCLをメイン環境として選んでいるように感じた。まぁ、一部取り扱い方の違う関数についてはきちんと明記してあるから、どの環境でLispをやっていても、サンプルの実行には困らないと思う。

個人的に面白いと思ったのは、随所にC言語との比較があるところ。
関数型ってこんなところに影響を及ぼしているのか!という再発見的な楽しみがあるのはGoodだと思う。

8章をまるまる割いて解説されているλ計算については、数学的な背景のある人ならば楽しめると思うけど、やっぱり入門書と銘打った書籍で解説する内容じゃないよなと感じた。(もちろん、網羅的な内容の書籍なら話は別だけど。)

いろいろと文句は書いたけど、総合的に見て、内容はよくまとまっていて読みやすかった。
きっと、筆者はこんな風な講義をするんだろうなと思えるところが随所に見られて、これもまた面白かった。

Lispの文法は覚えたけど、はて次は?と思っている方、ご一読ください。

4.05.2009

壁紙検索の小技。または壁紙検索の方法。

当たり前だと思ってやってたんだけど、友人宅でやったらやたらと驚かれたので、ここにメモったら誰かの参考になるかと。

1.Google イメージ検索にいく(http://images.google.co.jp/imghp)
2.検索窓に、探したい壁紙の縦横サイズを入力
ex) 1024x768, 640x480
※ 特殊なピクセル数の画面を使っていても、案外うまく検索できる。まずは試してミソ。
3.んで、画像検索をする

すると、希望サイズの画像ばかりが得られるという寸法。
何かの折にはお試しあれ。

4.03.2009

さっと一品:肉うどん

携帯カメラによる撮影&撮影者の腕がカスなので、写真ではあまりうまそうじゃないけど、小腹が空いたときにさっと食べられる、肉うどんの紹介。

というか、今日は何もなかったので、夕食にこれを食べました。
ちょっと濃いめの味付けなので、疲れてるときとか、飲んだ後のシメにもGoodだと思う。

そう、理系×物理系÷情報工学系=アレゲ人間なおいらでも、料理ぐらいするのです。
もっぱらお手軽料理ばっかりだけど。



材料:
・ うどん……1玉
・ 豚肉(肩ロース切り落とし)……お好みの量
・ ネギ……適量(今回は7センチぐらい)
・ うすくち醤油……大さじ1
・ みりん……大さじ1/2
・ 昆布だしの素、鰹だしの素……適量(スティックタイプで半分ぐらい)
・ 砂糖、塩……適量

作り方:
鍋にお湯を400cc用意。ちなみに俺は深めのフライパンでやりました。
(水からわかすときは、450ccの水をわかせば、だいたい良い量になる。)
お湯が沸いたら、だしを投入。
スティックタイプのもので半分ぐらい入れる。
割合については、俺は1:1でやるけど、好みに合わせて。(もちろん、入れる量もお好みで。)
だしが溶けたら、豚肉を投入。
豚肉に火を通している間に、ネギを切る。
7センチのものを3等分ぐらいにしたけど、お好みの大きさにすると良い。
ただ、あまり大きいと火の通りも香りの出も悪いので、一口大ぐらいにしておくと良いと思う。
ネギを切ったら、鍋のアクを取り、うどんを投入。アクの取れ具合はアバウトで。
(くしゃくしゃにしたアルミホイルを落としぶたのようにして落とすと、一発で取れてGood。)
一煮立ちしたら味付け。
火を弱くして、うすくち醤油→みりんの順に入れたら、味を見ながら砂糖と塩で調整する。
(うすくち醤油は色の割に濃い味が出るので、色を目安に入れてはいけない。)
味が調ったら、最後にネギを入れて一煮立ちさせれば完成。
お好みで一味唐辛子や七味唐辛子を加えるとなおウマイ。
調理時間にして、お湯を沸かすところからはじめて20分弱ぐらい。
小腹が空いたときにさっと作れてうまいので、お試しあれ。

3.31.2009

飛び出せ!科学くん

タイトルから見るに、子ども向けの科学番組だと思って見たんだけれども、全然違った。
はじめに印象から言わせてもらえれば、「今期一番のあたり番組」じゃないかと。

今回のスペシャルの内容は
・ 国立科学博物館の特集
・ 実験コーナー
・ 深海鮫を狙う!……等々。

特に国立科学博物館を楽しむためのコツ的なコーナーは、出演者自らよく楽しんでいる空気が出ていて、久しぶりに行きたいという気持ちにさせられた。

他にも、端々に「子どもの心を持ったまま、大人になったアレゲ大人たちのための番組」というテイストがよく出ていて好感が持てた。

特にMCのココリコ田中氏は、独特のしゃべりと心からサメを愛する、ちょっとハズれた雰囲気がまさにこの番組にぴったりだと思うね。
もう一人のMCであるしょこたんは、突っ込み役としてほどよく画面に入ってくるから、それほど嫌みでもなく、バランス的には良い感じ。

科学くんなる人体模型をもしたアシスタントも、リアクションがうまくて笑わせてもらった。

理論的な裏付けを紹介してくれたり、専門家の解説が随所に入るわけではないけど、番組のテイスト的にそれを求めてはいけないんだと思う。

来週からレギュラー放送らしいので、楽しみに待とうと思う。
テレビが楽しみって、何年ぶりだろうか。
アレゲ大人たちは、ビールでも紅茶でも、好きな飲み物を飲みながら見るのがおすすめ!

番組ホームページ
スペシャルのホームページ

3.29.2009

coLinux+MinGW+Debian+OpenGLなクロスコンパイル環境でfreeglutを使う

久しぶりの変態環境下での作業に関するメモ。

以前構築したglut環境ではキーボードの同時押しとかが利用できなくてちょっと不便だなぁと思っていたので、その代替え手段を探していたところ、freeglutなる代替え手段が存在することを発見。

通常リリースの最終更新が2005年と、既に枯れていて安定した運用が望めそうなので、さっそく入手。
(かといって開発が停止しているわけではないので、ソコントコよろしく。)
入手すると、中身はソースコードのみ。
ドキュメント曰く、「使うなら自分でビルドしたまえ明智君。」という事らしい。
既に変態環境で使うことをもくろんでいるので、こんなの予想していなかった。

けれども、せっかくやろうと決めたので方策を練る。
んで、実際に試したのが
・ VS2008でビルド
・ 変態環境に移して運用
というもの。結論から言えば、それでうまくいっている。
んで、この文書がその時のメモ。


まずはVS2008でビルド。
これについては特に書くことはないけど、自前でビルドしようと思っている人は、通常のビルドではなく、バッチビルドを実行しなければ正しいファイルを得られないという点に注意。

「自分でビルドするのがめんどい」って人向けに、私の私家製ビルド品をいつものところに置いておきますんで使ってください。
私がやったのはVS2008によるバッチビルドだけで、ソースに関していじったところはない(プロジェクトファイルの変換ぐらいはしたけど)ので、ソースが欲しい人はオリジナルのものを。
ライセンスはXライセンスらしいので、それに従った運用をすればOkだと思う。
(問題があればご連絡ください。)
※ ちなみに配布しているアーカイブ中では、*_d.libってやつがデバッグ版で、_dの無いものがリリース版のビルドなのでお間違いなく。

ヘッダーファイルとライブラリファイルをゲットしたら、まずはヘッダーを以前の記事同様、OpenGLのインクルードファイルを展開したGLディレクトリ以下に放り込む。
ライブラリは、
/usr/i586-mingw32msvc/lib

以下に。
(アーカイブに入っているのは*.aファイルではなく*.libファイルだけれども、特に変換の必要は無く、そのまま利用できる。)

そこまでできたら、適当なソースコードを用意。
今回は前回の記事で使ったのと同じものを利用。


#include <gl/freeglut.h>

void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3d(1.0, 0.0, 0.0); /* red */
glVertex2d(-0.9, -0.9);
glColor3d(0.0, 1.0, 0.0); /* green */
glVertex2d(-0.9, 0.9);
glColor3d(0.0, 0.0, 1.0); /* blue */
glVertex2d( 0.9, 0.9);
glColor3d(1.0, 1.0, 0.0); /* yellow */
glVertex2d( 0.9, -0.9);
glEnd();
glFlush();
}

int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glClearColor(0.0, 0.0, 0.0, 0.0);
glutMainLoop();

return 0;
}


ポイントは、#includeにfreeglutを指定すること。
それから、コンパイルのためのコマンドは

mingw-cc gl.c -lfreeglut -lglu32 -lopengl32 -mwindows


などとする。
-lfreeglutの部分は、使うfreeglutなファイルに合わせて変えると良い感じ。
(デバッグ版なら_dをつけるし、スタティックリンク版ならそのようする)

こうしてできたファイルは、実行時にfreeglut.dllを要求するので、そこだけ注意。
glutがglut32.dllを要求したのと同じやね。

※ ここでも、配布しているアーカイブはデバッグ版とリリース版で別名にしているけれど、これは単に衝突しないように&見分けがつくようにとの配慮なので、使うときにはどちらもfreeglut.dllにリネームしないと正しくお動かないので注意

して、できあがったものの実行結果が以下。



使えるAPIについては公式サイトからAPIのリストを確認できるけれども、基本的にはglut互換なので心配なし。
あとは何に使うかが問題か(笑)

3.27.2009

GNU Debuggerのサイトは悪質?

疲れすぎて眠れないような状態の夜。
いつものようにソフトウェアの使い方を調べつつ、あちこち行っていた中で、日本語で公開されているGDBのドキュメント(GDBで検索して、上の方にくる)は、3.5を相手にしたものだと言うことに気づいた。

気になってGDBのプロジェクトページを訪れてみると、最新版は6.8だという。
先に挙げたドキュメントは基本的な部分以外通用しない気がして、ドキュメントのダウンロードを行おうとしたその時、事件は起こった。



Operaが出す見慣れない警告……。
どうやら、「危険なソフトウェアを配布しているサイトであるから、アクセスしない方がいいよ!」ってことらしい。
そら、デバッガなんだから危険だろうと思ったけれども、今アクセスしようとしているのはドキュメントの配布場所だ。
ドキュメントが危険だとすれば、アーカイブに変なソフトが混じっている可能性だけだけれども、落としたPDFからはマルウェアもウィルスも検出されなかった。もちろん、配布されているPDFの中身も至ってフツウだし。(そして、配布されているドキュメントでも、最新版の機能を完全にカバーしているわけではなさそう。)

「ハハン、こりゃ、Downloadディレクトリの下にあるから、デバッガ本体と関連づけられて危険視されているんだな?」と思ったけれども、普通のDownloadリンクからたどれるデバッガの配布ページは何も警告してこない。

結局、GDBのプロジェクトサイトとドメインが違うから、それによるものだろうと推測し、無視して表示しているわけだけれども、なんだかキモチワルイ。



一応危なくなさそうだよってんで報告してあるけど、どういう訳なのか気になって仕方がない。
私の環境だけで起こっているのだろうか?
どなたか詳しいことをご存じならば、教えて欲しいなぁ。なんて。

3.24.2009

これだから、物理はおもしろい!

物理学というのは、ちょうど神様のチェスを見ているようなもの――たしか、ファインマンが言った言葉だったと思う。

しばらく見ていると駒の動きが分かってくる。
例えば魔術師の形に見える駒は、いつも同じ色のマス目の上を動いているとかね。
でも、時々キャッスリングみたいな、これまで知らなかった動作が起こる。

そんな風に続く文句だったと思うけど、まさに、それに近いことが起こったわけだ。
20日付だから、2日ぐらい前の記事になるんだけど、フェルミ研究所(フェルミといえば、フェルミオンやフェルミ推定にその名を残す大物理学者)が、新しい素粒子――それも、これまでの予測の範疇を超えた素粒子を発見したという記事が、ナショナルジオグラフィに掲載されていた。( 記事

「驚くべきことに、今回発見された粒子の存在は予測できなかった。従来の理論では、クオークや反クオークをどのように組み合わせてみても発見されたような粒子は構成できな」というコメントからも読み取れるとおり、これまでの理論では説明できない、新たな要素が見つかったわけだ。

私は素粒子物理学は専門外なので、門外漢としての素人発想だけれども、ひょっとすると、これはヒッグス粒子なしに物質が質量を得ることを説明できるとっかかりになるかもしれないし、先日ノーベル賞を取った南部先生の功績によるところが大きい「標準理論」についても、修正を迫るかもしれない内容なんだろう。

アインシュタインのような天才が出てきて、ニュートン力学に相対論的修正を迫ったように、標準理論も書き換えられることになるのかもしれない。
そこに、今ある標準理論の姿が見られるのかは分からないけれど、続報を楽しみにしたいニュースだと思う。