Kahjin’s Weblog

[Books][雑談]ふつうのHaskellプログラミングを読んだ

カテゴリー: 未分類 by kahjin に 7月 5th, 2008

SICPを勉強中なんだけど、あまりの進まなさに少し耐えきれなくなったので、Haskellの本を読んでしまった。てへ

私のような初学者にとって、関数とかでもひとつひとつ丁寧に解説されていてとても有難い。高階関数とか無名関数はschemeでやったし、あまり違和感なく理解はできたんですけど、クラスとかインスタンスのようなオブジェクト指向的な考え方が未だによくわからない(たぶん、表現方法の問題なんだと個人的には思う)。モナドの役割もわからんでもない。簡単に言えば、手続きの抽象化(流れ)を明示的にわかりやすくするものってことですかね。最後にはWikiの実装演習もあるので、SICPが終わったら、もう一度読み直そう。そしてチャレンジ!!

参考

下の方は今年の9月に発売させるそうで、Amazonで予約受付中です。これはようチェックやで〜

少し雑談を。

Haskellでzip関数とかconcat関数とかあるんですけど、zipってあのWindowsとかのデータ圧縮ファイルのアイコンになっているzipperを意味していたんですね。社会の窓だって、当然短い方に合わせるってそんなこと有り得ないんですけど(笑)。あと、先輩がよくコンカチせなって呟いていたんですが、「君意味知っとるか?」って聞かれたので、「本来の意味はようわかりませんが、(列車とかが)繋がるイメージですかね」と。「ほう〜若いのによう知ってんな」と言われました。ってそういうことが言いたいのではなくて、電車に乗るとき、私はなるべくホームの先頭側に立って、駅に電車が近づいてくるのを見るのが好きなんですが、その話をある人にしたら、同様のことをしていると言われました。それで、電車待談義に花を咲かせてしまったんです。その中で面白い話になって、駅のホームは実は直方形ではなく凸に湾曲しているという話になったんです。なぜかって、乗客が乗るのを車両の前後にいはる車掌さんが確認しやすいようにってね(本当かどうかは知らない)。だから、電車・リストには[]ではく、()が必要だねってことでお後がよろしいようで。チャンチャン

[雑談]勉強することの意味1

カテゴリー: 未分類 by kahjin に 7月 4th, 2008

ここ最近、定年を過ぎても働いている年配の方達との酒席や話合いが多くありました。

当然、若人の私は先輩方の人生訓を聞くことになるのですが、そこで面白いというかある共通点があったので、そのことについて少し書いてみようと思います。

その共通点というのはですね、「なぜ勉強するのか?」という問いかけに対する回答の中にありました。

皆さんはどう答えるでしょうか?「賢くなるため」「騙されないため」「モテるため」「好きだから」「キャリアパスに必要だから」

いろいろあるかと思います。

しかしですね、これらの方達の回答が少し異なる部分もあるかもしれませんが、

「(より高いレベルで)社会に貢献するため」とそう答えたのです。

聞いたことのある人には驚くべきものでもないですし、すでにある程度そういう立場に居られる人にとって至極当然のことなのかもしれません。

なぜ、このような回答に至ったのでしょうか?

私は話を聞く中で、この回答の背景にある人の役に立ちたい、必要とされたい、活躍したいなどの今まで聞いたことのある理由とは少し別の感覚を抱きました。

禅問答みたいですが、少し時間を空けてみます(といっても今から銭湯に行ってくるだけですけど、続きを書くのはいつになるかわかりません)。

問いだけを残して放置します。

2に続く・・・

[雑談]サービスマンション

カテゴリー: 未分類 by kahjin に 6月 26th, 2008

先日、知り合いが新しいマンションに引越したというこで、遊びに行ったら、ん?

「マンション内にコンビニみたいなショップがあるじゃないか、それにシアターまで」

聞くところによると、子供のための遊び場までマンション内にあるとかないとか。

従来の感覚ではない空間がそこにはあって、なんとも不思議でした。

マンション内にジムスタジオとかあればいいなあとは思いますね。

[雑談][R]グラフを保存

カテゴリー: 未分類 by kahjin に 6月 25th, 2008

Rでグラフをお絵描きして、さあこれを保存するぞって時に、どうすりゃいいんだ?と思いきやおもむろに

help(png)を叩き、pngのヘルプをバッファーに表示させて、C-x oでバッファーにカーソル移動させて、パラメーターを調べて

コマンドにつらつらと打ち込んでみりゃ、0バイトのpngファイルが出来ましたとさ。どういうことじゃこりゃ〜

dev.printで解決できました。

[雑談]みそ汁は最後に?

カテゴリー: 未分類 by kahjin に 6月 21st, 2008

よく行く食堂の店員さんから、

「いつも、みそ汁を最後に食べている(飲んでいる)ねえ」と言われました。

言われてみれば、そうだ。

私以外にも、そういう人がいるみたいで、多いのか少ないのか、

多い場合、なにかしらの傾向があるのかないのか、少し統計をとって、調べてみたくなりました。

[雑談]整理整頓

カテゴリー: 未分類 by kahjin に 6月 19th, 2008

ちょっと前に、ブログパーツを整理したので、そのことで、少し。

カテゴリーを整理した

なぜか、自分を分離させているような感じがして止めた。未分類だけが残っている。

The Associatesを整理した

digg.comと本棚.orgを表示させなくなった。Flickr.comだけ残した。

本ブログからdigg.comへはアクセスしないので。本棚.orgはなんとなく。Flickr.comもMy Musiumみたいのが、でけたらそこに移すそうと思うけど、今はなんとなく倉庫代わりに使っています。

(ここから本題)修正・追記の仕方

修正・追記を時々するんですが、どうも違和感があるのです。再度、確認しようとすると、だらだらと画面をスクロールしないと、全体を掴めない。しかも、書いたときほどの記憶というか印象は薄らいでいるので、何でこうしたんだっけ?と自分自身疑問に思うことが多いのです。

バージョン管理システムとかドキュメント管理システムを使ったことがないので(CVSとかWikiに触れないとなあと思ってはいるんですけど)、これに付随して、(インターフェース的に)レファレンスや履歴データをどう関連させるか?に興味があったので、いろいろ考えていました。

それでですね、この前、Gmailでメールのやりとりをしていると、送信した自分の文章に返信文が重ねられて整理されていくのに最近気づきました。送信者名と宛先が書かれたヘッダーがタブみたいな役割を担っています。しかも、横ではなく、縦に。タブブラウザはタブごとに画面を整理できて、うまい具合に風呂敷を拡げる感じなのですが、こちらはそれを畳む感じなのです。

この重層的に文章が整理されていく感じがなんともいい。ただし、一番古い文を選択表示させると、文章量にも依りますが、画面いっぱいに表示されてしまうので、また最新の文などを確認するために、結局スクロールしないといけない。それじゃ画面の両サイドにタブで重層的に整理するようにすればいい。ネットで本並に文章を読みたい場合とかブログとかでもリンクではなくページ単位で整理出来ないかなと実験的にやってはみたいんですが、いかんせん、こういう技術と知識がからっきしなんで誰かやってくんないかなあと。

色々と伏線はあったんです。

一つ目は、以前FirefoxのアドオンでScrapbookを使っていたんですが、Scrapしたのはいいが、私の編集が下手で、その後、使わずじまいになってしまったネタがいくつもあったんです。また、掘り下げ取り込みという機能があるんですが、あくまでもリンクをベースとしているので、その機能に私の意思決定や判断は反映されないのです(どのリンクを取り込めばいいのかというのは判断できますが、あくまでも内容をリンクさせたいので、そのサイトの管理者がどういう意図でそのリンクを張ったのかまではわからないから、少し違うのではないかというのが私の感想です)。

二つ目は、机の引き出しに書類を整理すること。机の上に置いてある場合は、どの書類が必要かを視覚的に判断したくて、(見えるところにある)ブックスタンドとかに適当に並べたり、クリアファイルなんかでまとめたりしているんですけど、引き出しはどちらかというと履歴順に整理しているんです。しかも重層的でどれともかぶらずにそして、どれが新しくてどれが古いのかをすぐにわかるように。それで、よく使う書類というかレファレンスみたいなものは履歴順とは別にどうしても引き出しの先頭に持っていきがちなんです。(机上とは別に、個人的なレファレンス用の本棚がすぐとなりにほしいんですけど、会社だとそうもいかない)。

三つ目は、ある分野を勉強したくて、古い文献を探すときのこと。古い文献を探す時に、新しい文献からレファレンスを辿って、次第に掘り下げるように、調べていくんですけど、古典的と思われるものにぶち当たったら、そこから、逆の順序に辿れないことがよくあるんです。もちろん、目印をつけておくというのが一番の手なんですが、目的が引き返すことでないのなら、それはめんどくさくていやな作業なんですよね。で、やっていた方法というのが、読み終わった文献は裏返しにして、積み上げていくことなんです。こうすると、ある時点で、ひっくり返せばいいのですから。もちろん、これはラフな履歴の作り方なので、後々必要になったら、少し整理をしてやらないといけないんですけど。

後、横向けのタブを索引目的で使用しているサイトを見かけたことがあったので、これを使えないかなと思っていました。

はい、とりとめもない話でした。

[雑談]ホントの付き合い方3

カテゴリー: 未分類 by kahjin に 6月 14th, 2008

これで、最後に。あ〜もうしつこい。

3つ目は単純ですが、本が役立つ道具の一つだからです。何にとってか?まあ、これに関しては、すでにいろいろ言及されているので、あえてここでは書きません。しかし、ここまで生活の一部に密着してくると、その扱い方も変わってきています。

枕の代わりにしたり、パソコンの台にしたり、あ、そうそう本を読み出したら、読み終わるまで本を閉じないこと。どうしても、中断しないといけない場合は途中まで読んだ頁を開けたまま、放置すること。継続して読みたい場合、これ結構使えると思います。

プログラミング言語もいろいろ読んでいますが、なかなか難しい。まだ、本と同じ感覚には至っていませんが、いつかたどり着けるといいですね。

さあ、SICPの勉強に戻るとします。

[雑談]ホントの付き合い方2

カテゴリー: 未分類 by kahjin に 6月 13th, 2008

それでは、続きを。なんでこんなにこだわっているんだろう?

1つ目の理由と少し重複しているのですが、2つ目の理由は、私は文章で何かを表現するということが苦手だからです。かといって、それにかわるもので何か表現できるのかというとあまりなくて、ただ、漠然と私の言葉はどうもよろしくないとそう言われるのです。学校でやる読書感想文とか国語のテストが大大大キライでした。センター試験の国語なんて、200点中100点も取れませんでした。しかし、この世の中、言葉にしないと伝わらないだろ!と言われてしまう。難しい単語や四字熟語とかがそこら中に溢れている訳です。もう、私からしたら暗号もいいところで、なにがなにやらわけがわからない。友達で感想文で賞をとったぞとか漢字検定何級を取ったぞと聞くだけで、羨望の眼差しを送る日々。それはもう、コンプレックスの塊でした。幼少期はそれでできなくてもいいと思っていたのかもしれません。

どちらかというと、野球などのスポーツをして、体を動かすことが好きな方でしたし、野に出て、生物を追っかけている方が楽しかったのです。遅いのかもしれませんが、中学から高校にかけて気づいたのです。どうやら言葉というか国語ができないとやっていけないと。もちろん、この時読んでいた本と言えば、マンガしか読んでいなくて、高校なんかは本当にマンガ三昧だったのです。だから、今でもその当時の話なんかはよく覚えています。今ではめっきり読まなくなりましたが。で、そんな私がたまに発言や文章を書くと、ぶっ飛んでいるらしく、それこそここで説明しようとしている理解できないと言われてしまうのです。そんなことを言われ続けるとどうなるのか?もうあまりしゃべらなくなり、文章を書くことが減ってくる訳です。しかし、受験勉強では、国語に関して半強制的にやらざるを得ない。やった結果なんかたかが知れています。それでも、なんとか大学に入学できました。そこからです、急激に本を読み出したのは。科学全般にわたり、心理学、哲学、古典文学、芸術史などなど。あと、ビジュアルに響くものを好き好んで読んでいたように思います。この頃から、英語でも本を読むようになりました。大学の図書館で本を借りまくっていたように記憶しています(これはちょっとあやふや)。

それで、どうなったか?まだまだ、うまく表現できないのです。世の中には巧みに言語を操る人たちがいる。それに比べて、私なんかクソだ!と思う訳です。もう、学生特有のモラトリアム状態です。しかし、読みつづけていると少しわかることがありました。それは、言葉にはわかりやすいものとわかりにくいものがあると。同じことを表現しているのに、難しい表現で解説してあったり、片やシンプルに解説してあったりと(あくまでも、私にとってはということです)。そこで、すうっと肩の荷が降りました。なんだ無理に難しい方の表現で理解しなくてもいいんだと。これに気づいたときになんと救われたことか。ここで、理解しようとしないという私の態度に再び結びつく訳です。

3に続く・・・

[雑談]ホントの付き合い方1

カテゴリー: 未分類 by kahjin に 6月 12th, 2008

先日の続きを。

理解しようとしないのに、なぜ本を読むのでしょうか?と私は疑問を投げかけました。

いくつか理由があるので、ここで説明してみます。まず一点目から。

理解しようとしないということからも推察できるかもしれませんが、本の内容に対して、私は横柄な態度を取っています。なんでそうなったのかはよくわからないのですが、私はこれをある種の闘争本能と呼んでいます。過激な言い方をすれば、喧嘩を売っています。ただし、お金を出して買った本はその本の内容と対峙する機会をわざわざ買っているということになりますから、対峙させて頂くというのが本当のところかもしれません。それはもう読む前は臨戦体制ですよ。お金と時間を費やすわけですから。基本的にはポーカーフェースで、ここぞとばかりに攻め込んでみたり、あるいは打ちのめされたり、敵前逃亡したりと。純粋に打ちのめされればされるほどいい。その後、もう一度挑戦したくなりますから。あと、ジャンルさえ気にしなければ来る者拒まずですから、挑戦したけりゃいつでも挑戦できます。

理解するというのは日本語にすると、複雑で難しい概念になります。英語だと、understandとかfigure out とかになりますが、こちらは意味と概念が分かりやすい。understandなら形式(ルール)上での理解ですし、figure out なら図式上の理解になり、seeは視覚上の理解かなと私は個人的に考えています。in what?が重要です。魂・心で理解しろなんて言われたら、もう相手の言っていることはワケワカメで、それが通じるっていうんだからたまったもんじゃない。そもそもわかるのかどうか不明で、あなたと私は同じ人間ですか?違うに決まってんだろう。しかし、ある時、こう言われるんですよ、(心で)理解していないと。もうどうしたらいいんでしょう?

少々取り乱しましたが、もうこの領域だと共感(sympathy)に近いですから、理解とは違います。本に対して共感を求めるのは酷です。それはおそらく著者に共感したのであって、内容を理解したかどうかは疑わしい。ましてや著者は見ず知らずで会ったこともない人が大勢ですから。ただし、ユーモアや機智に富む文章をかく人は共感したくなります。というわけで基本的に理解しようとしないということが本を読むときのdefault設定になっています。

ちょっとそれますが、著者と考えを共感するために本を読むのでしょうか?否

その逆です。理由は当然・・・ねえ、わかるでしょ?今、共感を求めてます。冗談はさておき。

あと、闘争本能とか言うと大げさかもしれないですけど、あながち嘘ではありません。なぜなら、読まない・使わないことにはその言語能力は失われていく一方なのですから。私は才があるわけではないですし、物覚えが悪いので、普段から接する機会を持たないと、解読ができなくなってしまいます。そうすると、もう戦うこともできなくなる訳です。

2に続く・・・

[雑談]とりあえずSICP始めるか

カテゴリー: 未分類 by kahjin に 6月 10th, 2008

Haskellというプログラミング言語に興味が出でしまったので、ベクトルをそちらへ向ける。この浮気者!。ただ、関数型言語って言われても、チンプンカンプンなので、とりあえず、魔術師本(SICP)と称される、かの有名なやつを読んでみようと思う。

今回だけはただ読むだけではなくて、ちょっとした制約をつける。

  • サンプルコードをノートに書く(左手で)。
  • サンプルコードを実行してみる。

こんだけ。

少し話がそれますが、読むぞ!と宣言しては積読している本がいくつかあるという話をよく耳にします(かくゆう私も)。ましてや積読量がいっこうに減らず、新しい本に目を奪われてしまうこともよくあります。そこで、私が実践している一つの方法をお教えします。

それは、積読している本を目に見えないところに置く。ただ、これだけです。そしたら、積読している本に引け目を感じずに新しい本が買えます。

なにやら臭い物には蓋をしろ!的な論理ですが、私の場合は、押入れなどに入れて、そしてなるべく2度と取り出せなくなるようにしています。決して読まないという理由ではなくて、積読量を一定に保つやり方です。俗に言えば、フローコントロールです。

なんというか本を理路整然と本棚に入れて管理していなくて、ただ乱雑にそこら中に散らかしていて、手に取って読まなくなった本は上記で書いたように、別室送りにしています。あくまでも自然とそうなるように。

これは、私の本に対するある種の姿勢が反映された結果です。

まず、本を読むときにその本の内容を理解しようとして読んでいません。なんというか矛盾している感じがしますが、私は内容を理解しようとする姿勢で疲れてしまいますし、無理して理解したいほど、鈍感でもありません。怠惰なのです。だから、さらっと流し読みして、読み終わった後に溜まった溜まりの部分のさらに上澄みだけをすくいとるというような感じで本に接しています。一方、読んでいる最中で夢中になることもありますから、そこだけは真剣に読むようにします。

じゃあ、理解しようとしないのに、なぜ本を読むのでしょうか?

なんか続きを書いていたら、長くなってしまったので、後日。