ケヴィン・ケリー著作選集1より「無料より優れたもの」感想

2011-12-16 技術書

達人出版会さんから無料で出版されているケヴィン・ケリー著作選集1を読んだので、これから数回に分けて感想をまとめていきたいと思います。

「ケヴィン・ケリーって誰?」って方には、この本の序文で氏の経歴や人となりに触れられています。
簡単にまとめると、主に情報技術分野(それ以外にもいろいろあるが)の雑誌や書籍などで活躍されている方です。
ちなみに自分はこの本に触れるまで氏のことはほとんど知りませんでした。
氏の業績と興味深い記事に触れるきっかけを下さった邦訳の堺屋七左衛門氏、そして氏の和訳記事をまとめて無料出版された達人出版会さんには頭が下がる思いです。

Continue reading

ふたご座流星群2012

2011-12-16 天文

月食に引き続き、一昨日の水曜日に極大となった双子座流星群の観測に行き、撮影してきました。

当日は夕方頃曇りで諦めかけていたのですが、夜が更けるにつれ空が晴れ、「これは行ける!」と装備を整えて1時半ごろから観測に向かいました。
とはいえ、あまり遠出はできないので近場の空き地ですが。
とりあえず、天頂付近にいるふたご座さんを撮影。

Continue reading

OCamlでBefungeインタプリタを実装してみた

なぜかふと思い立って、BefungeのインタプリタをOCamlで実装してしまいました。
Befungeってどんな言語? というと、↓がHello,worldのソースファイルになるような言語です。
ちなみにこのソースはWikipediaのものをそのままお借りしています。

v @_       v
>0"!dlroW"v 
v  :#     <
>" ,olleH" v
   ^       <

WP-Codeboxでハイライトされない……
まぁ、さすがにこんなところまでサポートしてないですよね。
Brainfu*kはあるみたいですが。

Continue reading

OCamlでカウンターモジュール

副作用はなるべくないほうがよい。
それはそうなんですが、副作用を使ったほうが効率がよかったり、コードの見通しが良くなったりすることもよくある話です。
例えば、以下のような単純な表示関数printを考えます。

let print s =
  Format.printf "%s@." s

当然ながら、呼び出すと以下のように引数の文字列をそのまま表示します。

# print "a";;
a
- : unit = ()
# print "b";;
b
- : unit = ()
# print "c";;
c
Continue reading

月食2012

2011-12-11 天文

前回の月食前夜に引き続き、昨日の月食を撮って来ました。
半影月食は撮影してもあんまりわからないだろうということで、21:30過ぎに出陣。
撮影場所は前回と同じく家の裏手の公園です。

出発が遅かったので既に少し欠け始めています。
この時点では、薄雲が月にかかっていたためだいぶ月が暗く、昨日の設定では殆ど写りませんでした。
この後も数枚露出を変えながら取るものの、雲が凄い勢いで流れているせいか光量が変化して調整が難しく、全体にボケ気味の写真に……
ギャラリーに上げた写真はだいぶ選別していますが、実際にはボケの嵐でした。

Continue reading

月食前夜の月

2011-12-09 天文

TwitterでRTされているツイートをみて知ったのですが、明日は月食なんですね。(参考)
これは撮らねば、ということで、練習がてら前夜の月を撮ってみました。

家の裏手の公園に三脚を立て、カメラをセットし、レリーズを繋げ、地面すれすれの高さで月を導入する耳あてとダウンジャケットとマフラーを装備した男……
どう見ても不審者です本当に(ry

まぁ寒いので手早く導入して、どんどん試し撮りしていきます。
まずはM.ZUIKO DIGITAL 14-42mm F3.5-5.6 Ⅱ Rから。
レンズキット付属の標準ズームですね。
とりあえず、試しに広角側14mmで撮ってみる。
あ、ちなみにμ4/3なので、35mm換算だとちょうど倍の28mmになります。

Continue reading

OCaml標準ライブラリの拡張

OCamlで使える標準ライブラリは、最初に触れた時こそ「すげー、集合とか標準で使えるの!?」とか思ってたものの、実際触っていると「あれ? Setってof_listないの?」とか「え? リストのconsって関数として用意されてないの?」とか「うわっ……私の年収、低すぎ……?」など、いろいろな不満が出てきます。最後のは関係ありませんが。

調べてみたところ、あれは標準ライブラリではなくすとっどりぶなのですね……
それならしょうがない。
普通ならCoreとかBatteriesとか入れるんでしょうが、変な依存性入れたくないですし、これまで組んだプログラムを修正するのも面倒なので、勉強も兼ねて自分で互換性持たせたまま拡張してみることにしました。
先日、OCamlでモナドっぽいものを作ったという記事を書きましたが、それも拡張の一貫ですね。
というわけで、覚え書きも兼ねて、詰まった部分などをまとめておきます。

Continue reading
Older posts Newer posts