hirax.net::inside out::2009年08月

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2009年7月 を読む << 2009年8月 を読む >> 2009年9月 を読む

2009-08-01[n年前へ]

「ケインズの不確実な未来」と「PID制御」 

 「現代思想2009年5月号 特集=ケインズ 不確実性の経済学 」を、しばらく前に居酒屋で眺めた。結局、その後、自分で買って、じっくり読んでいる。選挙のマニフェスト(のようなもの)と比べながら読んでみたり、歴史年表を見て歴史背景を確認しながら読み進めてみたりしている。

 この本を読む時、制御工学のPID制御をふと連想することがある。「"現在"の姿に応じた(比例した)"P=Proportional"と、過去の履歴を積分した"I=Integral"と、その瞬間の変化(動き・移り変わり)を強調した微分の"D=Differential"を、テキトーに混ぜ合わせたものを基準にして動く制御機構」と、人々が日々考え動くさまを重ね合わせてみたくる。

 人はやりなおしのきかない過去と、不確実な未来の前で、経済行為の決断をするのである。

「ケインズの思想」 伊東光晴

2009-08-02[n年前へ]

質問・回答サイト・データの解析タスク 

 「質問・回答サイト・データの解析をしてみよう」という「タスク参加者募集:NTCIR-8 コミュニティQA・パイロットタスク」を知った。これは、とても面白そうだ。

 今回、幸いにも、Yahoo! Japan社から、大規模なYahoo!知恵袋コーパス ver.2 *を提供いただける運びとなり、それを用いたパイロットタスクを以下のように企画しています。

1.タスク:
  A. メインタスク: ベストアンサーの推定
  B. サブタスク: 質問タイプ分類

* Yahoo! 知恵袋*コーパス ver.2**。約1億件。約2600万質問とそれについての回答データ7600万件、合計およそ100GB。言語は日本語。

 質問・回答サイトは数多くある。しかし、質問者の「問い」に対して、質問者の聞きたいことを質問者のレベルに合わせて説明している回答はあまりないのが実情であるように思う。そしてまた、それらの質問・回答を「質問・回答サイト運営者」が有効に再利用できているかというと、もう少し言い換えれば、(サイト運営者が利益を得る顧客となりうる)「第三者」が有効に再利用することが容易な形の「知識」という形に(それらの質問・回答が)変換されているかというと・・・残念ながら未だそういうレベルには消化されていないように思われる。

 しかし、そんな風に眺めているだけではつまらない。今回のような「パイロットタスク」が与えられたなら、きっと上手い「知識生成ツール」を作り出そうと思い立つ人が多くいるに違いない。もちろん、そこからは、「知識生成ツール」が実際に作りだされるに違いない、と思う。

2009-08-03[n年前へ]

エクセル2007で綺麗なグラフ動画を作る 

 Microsoft Excel 2007 を使うと、割に綺麗な色のグラフ(チャート)を作ることができる。少しカスタマイズすれば、こんな具合に科学技術プレゼン用のグラフができあがる。

 綺麗なグラフを簡単に作ることができるのなら、今度はその綺麗なグラフを動画で眺める「綺麗なグラフ動画(チャート)」を作ってみたくなった。そこで、まずは、次のようなRubyスクリプトで「グラフ(チャート)を回転させたようすを写した連番JPEG静止画像群」を作ってみた。

excel=WIN32OLE.new("excel.application")
・・・
excelchart=excel.Charts.Add()
・・・
i=1000
0.step(359,3) do |rot|
  excelchart.rotation=rot  
  excelchart.Export( 'c:\\images\\'+i.to_s+'.jpg', 'JPG');
  sleep(0.05)
  i+=1
end

 そして、JPG to AVIを使い、JPEG画像群をAVI動画ファイルに変換した。それが、下の動画である。ひと昔前、いや、ふた昔前なら高価な専用ソフトが生成するような動画を簡単に作ることができることを意識すると、少し不思議な気分になる。

2009-08-04[n年前へ]

エクセル2007で綺麗なグラフ動画を作る 円グラフ編 

 「エクセル2007で綺麗なグラフ動画を作る」の続きとして、今日はMicrosoft Office Excel 2007 で「円グラフ」の動画を作り・眺めてみました。

 円グラフを回転させると、てっきり「コインを立てて回転させたような感じ」のグラフになるかと思いきや、レコード盤が回転するような具合で(レコード盤が回転するようにでは理解しにくい世代には、CDやDVDが回転するようになら伝わるでしょうか)グラフが回ったのが意外に感じられました。

 円グラフの回転方向は意外でしたが、それはそれで面白いように思われます。たとえば、「懸賞」や「くじ」などをする際に、その懸賞のようすをアニメーションで表現するような「動画の素材」としても面白く使えそうな気がします。こんなエクセル2007で綺麗なグラフ動画を作る」の続きとして、今日はMicrosoft Office Excel 2007で作った円グラフ動画を眺めれば、人それぞれ「色んなアイデア・活用法」が浮かんでくるのではないでしょうか。

2009-08-05[n年前へ]

エクセル2007で綺麗なグラフ動画を作る テクスチャマッピング円グラフ編 

エクセル2007で綺麗なグラフ動画を作る 円グラフ編」をしたなら、次はこんなことをしたくなります。エクセルを使うときには、特に円グラフを使うときには、グラフの各要素にテクシャマッピングをすることが多いです。そこで、テクスチャマッピング付き円グラフ動画を作ってみることにしました。それが、下の動画です。

 今回は、グラフのサイズ・縦横比の調整をしなかったため、変な動きの動画になってしまいました。しかし、「テクスチャマッピング付きの円グラフ」自体はとても綺麗に思われます。というわけで、もう一度グラフが変な動きをしないようにスクリプトの修正をした上で、もう一度テクスチャマッピング付き円グラフ動画作成に挑戦してみようと思います。

エクセル2007で綺麗なグラフ動画を作る テクスチャマッピング円グラフ編






2009-08-06[n年前へ]

エクセル2007で綺麗なグラフ動画を作る テクスチャマッピング円グラフ(リベンジ)編 

 「エクセル2007で綺麗なグラフ動画を作る テクスチャマッピング円グラフ編」では、作成した円グラフ動画の縦横比・大きさが変化してしまい、綺麗な動画になりませんでした。そこで、今回は再度チャレンジし、今度こそ、綺麗なテクスチャ付き円グラフ動画を作ってみることにしました。それが下に張り付けた2つの動画です。

 最初(上側)の動画は、普通にテクスチャマッピングして、円グラフの各要素を切り離して回してみたものです(この動画はYoutubeに上手くアップロードできなかったせいか、途中画面の下側が変になっているようです)。そして、次(下側)の動画は、各要素をくっつけた状態で各要素に透過度をつけ透けさせてみた円グラフになります。

 今回は、ようやく綺麗な「テクスチャマッピング円グラフ動画」を作ることができたような気がします。

 (私がエクセルを使い慣れていないため、こう感じるのかもしれませんが)エクセルは繰り返し作業を簡単に効率化することができないため、私はあまり好きではありません。けれど、Excel 2007のグラフ機能を眺めていると、どれだけ綺麗なグラフを簡単に作ることができるか、これからも引き続き挑戦してみたくなります。

 参考までに、テクスチャマッピング付き棒グラフ動画もExcel 2007で作ってみました。それが下に張り付けた動画です。結構綺麗で見とれてしまったりしますね。

2009-08-07[n年前へ]

「サーバ整理」中です。 

 ここしばらく、サーバ構成/ネットワーク構成の変更・整理・移動を行っています。そのため、アクセスできないURLが発生したり、あるいは、そもそもサーバ自体にアクセスできない(httpdサーバが反応しない・DNSが引けない)などの不具合が起きるかもしれません。そういった障害などありましたら、メールでご連絡頂けたら幸いです。

2009-08-08[n年前へ]

「本の重版」と「何かを作り出す作業」 

論理的にプレゼンする技術 (聴き手の記憶に残る話し方の極意) 」が重版されます。重版に合わせて、「色合いが見づらいグラフ」がありましたので、そのグラフについて修正作業を行いました。(こうした方が良いよ、と)修正点について指摘を頂いた方には、心から感謝しています。

 ふと、こんなことを思います。凡人たる私たちは、良いと思えるものを作るには、良いと思えるものへと近づけるには、「作って・修正するという作業を、ただただ繰り返す」ことしかないのかもしれません。結局のところ、そんな方法が一番のそして唯一の凡人にとっての王道なのかもしれません。

2009-08-09[n年前へ]

「後悔しない意思決定」を決める「合理性」と「非合理性」 

 「後悔しない意思決定 (岩波科学ライブラリー) 」を興味深く読んだ。この本には、なるほどと強く納得させられる部分と、何かひどくもの足りなく感じる(説明が欲しくなる)部分、そんな相反する2つの「感じ」をともに強烈に感じさせられた。

 はじめに、「ひどくもの足りなく感じる(説明が欲しくなる)部分」を書けば、たとえば、こんな部分

 本書は合理的とは何かを問い、合理的に生きることによって後悔しない意思決定を推奨する本である。
 本書では、人は合理的であることを前提としています。そして合理的であろうとすれば主観的期待効用モデル(「最適な決定は、効用の値をもっとも大きくする選択肢を選」という考え方にもとづくモデル)にもとづいて決定すべきであると主張しますが、・・・
という辺りだ。こういったことを前提として、「合理的に」本で書かれていることがらを読み進めていけば、当然のように納得できる。けれども、人が「どうしてか」少なからず合理的に考えられないことがある以上、上に挙げたような前提・言葉を受け入れるために必要な「何かワンクッション」が足りないようにも感じてしまう。

 だから、たとえば、本書冒頭の言葉、

 本書は、意思決定をする際にさんざん悩み、しかも、決定した後で悔むような人のための指南役を目指すものです。
に惹かれて頁を読み進めていくとき、「合理的に考えるとこのようになる」といった解説・解決策を提示させられたとしても、論理的でない部分で(端的に言えば感情的な部分で)胃にもたれてしまうのだ。合理的に考えれば納得できるのだだろうけど・・・と感じてしまい、なかなか納得した気持になれないのである。

とはいえ、「合理的に考えるべし」ということを「公理」として受けれ入れて、この本を読むならば、示唆に富むこと/アドバイスが実にわかりやすく書かれている。だから、論理的にはとても納得できる・役立つだろう本で、人に勧めたくなる。ただし、非論理的な部分(のために足りない何か)を補う「あともう一冊」を適当に選びたいとも思う。・・・たとえば、それはどんな本だろう?もしかしたら、たとえば、それは小説家のエッセイ辺りだったりするのだろうか。

2009-08-10[n年前へ]

ビジュアル言語を作ってみたくなる「JavascriptライブラリWireItの進化」 

 WireItが実に便利に進化している。こういうものがあると良いな、と心から感じさせてくれる方向に開発が進んでいる。たとえば、WireItを使ったサンプルアプリケーションのJsBoxをいじってみれば、その「こういうものがあると良いなぁ・面白いよなぁ」と感じ、がわかると思う。

 WireItライブラリを使えば、自分なりのビジュアル言語を簡単に作ることができる。しかも、JsBoxのようなサンプルを眺めれば、自分が考えたビジュアル言語で作った「ひとかたまりの機能」をさらに関数化する方法などを学ぶこともできる。「JavascriptライブラリWireItの進化」を見ていると、マイ・ビジュアル言語を作ってみたくなる。

2009-08-11[n年前へ]

「鴨川ホルモー」タイムラインを作ってみました 

 万城目学の「鴨川ホルモー 」「ホルモー六景 」の中に描かれていることを、時系列的に並べ眺めてみたいと思ったので、「ホルモー」のタイムライン叩き台を作ってみました。

 適当な土台になる出来事(イベント)を大雑把に書きいれてみましたので、この時系列を念頭に置いて出来事を並べていけば、どの出来事が他の出来事にどう繋がっているかがわかりやすくなるかもしれません。

 ちなみに、イベントが西暦何年に相当するかの算出は「同志社大学黄竜陣」「丸の内サミット」が土台になっています。つまり、丸の内サミットが、1877年から130年以上経っていて、火曜の4/24がということから、2007/4/24の出来事だと明らかになる、という具合です。

2009-08-12[n年前へ]

RSSを時系列的に眺める"RssTimeSeries"を作りました 

 RSSを「読む」のではなく、時系列的に気軽に眺めたくなったので、hirax.net::RssTimeSeriesというものを作りました。これは、RSS(ATOMではありません)フィードURLを登録すると、そのサイトが提供しているRSSの内容を時系列的に眺めることができるものです。たとえば、上記リンクは「スラッシュドットのトップページ」の更新内容を時系列的に眺めることができます。

 Googleが提供している人気ニュースなら、Most Popular - Google Newsですし、あるいは、はてなブックマーク - 人気エントリー - コンピュータ・ITAmazon.co.jp: おもちゃの新着ニューリリースといった具合です。

 RSSフィードの登録は任意にすることができて、それらのRSSフィード取得は適当な時間間隔で行うようにしてあります。

 RSSが取得できなかったり、データ表示ができなかったりするサイトがあります。そんな感じですが、とりあえず、公開してみることにしました。

RSSを時系列的に眺める






2009-08-13[n年前へ]

一日一歩、三日で三歩、三歩進んで二歩下がる。 

 RSSを時系列的に眺めるためのhirax.net::RssTimeSeriesを作るのに、結構時間がかかりました。作業自体は大した内容ではないのにも関わらず、12時間くらいの時間をかけてしまったと思います。なぜ、そんなに時間がかかってしまったかというと、ライブラリやフレームワークや、それどころか、言語自体の使い方を忘れてしまったからです。そして、それに加えて、ものを作る時の順序・コツというものも、まったく忘れてしまっていたからです。

 定期的に、何かを作っていないと、どんなものであっても「造ること」ができなくなってしまうものだ、と今更ながら実感させられて、恐ろしくなりました。手と体と頭を全部動かすということをを止めたらダメだよ、とお世話になった人に言われたことがあります。その言葉のあまりの正しさに、「一日一歩何かを作ろう」と、誓い直した昨日・今日でした。

 と、そういった反省はともかく、こんなRSSフィード(R20)もあったりすること、そして、それを時系列で眺めてみると、何だか意外でビックリ感心してしまいますね。また、Amazon.co.jp: 家電・カメラの新着ニューリリースなどは、家電芸人にお勧めかもしれませんね。

2009-08-14[n年前へ]

「あなたの欲しいもの」作ります 

 自分自身が「欲しいな」と思うものをなかなか作ることができません。なぜかというと、自分自身が欲しいと思うものであって、かつ、自分自身が作ることができるものならば、すでに作り上げているに違いないからです。もちろん、これまでは欲しいと思わなかったり、急に欲しくなったりしたものなら、自分で作れる「自分が欲しいもの」になることもあります。けれど、そういうことがある機会というものは、それほど多くありません。

 待っていても未来はこない。ほうっておけば、くるのは今のつづきだけだよ。
 そうか。まっていても未来はこない。未来はつくるものなのか。
宿題ひきうけ株式会社」 P.180

 ところが、他人が「欲しい」と言ったものであれば、意外に簡単に作ることができることがあります。理由は簡単で、他人と自分は「できること」「苦手なこと」が違っているのが普通だからです。その人にはできないことでも、自分にはできる場合もあるのですから(もちろん、その逆のパターンも数限りなくあるはずです)、「その人が欲しいと思っているのに作れないもの」を作る手伝いをすることができたりすることもあるわけです。

 ところで、誰かが「欲しい」と思ってることというのは、なかなかわからなかったりします。自分自身ができることでも、他人が「欲しい」と明示的に言ってくれなければ、その「役に立つかもしれない何か」を作ろうと思いつかないわけです。

 というわけで、ひとことこんなものが「欲しい」と言って頂ければ、そんなもの(できれば小物)を作ってみようと思います。

「あなたの欲しいもの」作ります。

2009-08-15[n年前へ]

超小型折り畳み・便利自転車 A-bicycle 8インチ空気タイヤ版を分解する 

 先日、超小型折り畳み・便利自転車 A-bicycle 8インチ空気タイヤ版が壊れた。いきなり、ペダルが空回りするようになった。現象から考えるに、おそらく「A-Bikeが壊れた(その1):分解する」と同じことが起きたのだろうと思っていた。果たして、分解してみたところ、やはりそうだった。

 A-Bikeはペダルの回転を2段のチェーンで増速している。最初の第1段チェーンは、通常の自転車と同じチェーンが使われており、2段目はより細いチェーンを使用している。その第1段目、中間軸についた8歯(以下Tと略記する)のギアが根本から完全に割れていた。
 これと完全に同じようなギアの割れ方をしていた(写真の中央部ギアを参照のこと)。ちなみに、ギアが二つに割れているのは、(ベアリングを熱しながら・ギア本体を冷却してみてもベアリングが取れなかったため)ギアを取り外すためにあえて二つに割ったからである。

 A-bicycle 8インチ空気タイヤ版は、いわゆるパチモンであり、「A-Bike」はれっきとした純正オリジナル品である。今回の場合、そ純性オリジナル品の脆い点がそのままパッチモンでも生じた、というわけである。

 8インチ空気タイヤ版のA-bicycleをバラした感想は、よくある大量生産部品を使っていて、何だかとても安そうだというようなことだ。きっと、それは純正A-bikeをバラしてみても、そう感じるのではないだろうかと想像している。

 とはいえ、純正A-bikeはバラしたことがないので、今度買ってみようか・それとも要らないという人を探してみようかと思っている。自転車 をいじるのは、知的玩具をいじるような感じで、何だか少しハマってしまいそうだ。

超小型折り畳み・便利自転車 A-bicycle 8インチ空気タイヤ版を分解する超小型折り畳み・便利自転車 A-bicycle 8インチ空気タイヤ版を分解する






2009-08-16[n年前へ]

夏の海辺で本を読む 

 「ニッポン放浪宿ガイド200―人生を変える旅、運命を変える宿 」を手にとり、少しページをめくり、これは心から楽しめそうな本だと感じました。そして、そんな本であるからには、風に吹かれながら、心地よい場所で、気楽に読むのがふさわしいと、ふとなぜか思ったのです。

 そこで、海パンをはき、Tシャツを着て、自転車に乗って海辺に走りました。人が全然いなさそうな、けれど、水と景色が綺麗なところへと向かったのです。寝ころびながら本を読めるスペースがある、小さな岬の先にある、そんな海沿いの岩場に向かいました。

 そんな場所で、夏の日差しの下で、「ニッポン放浪宿ガイド200―人生を変える旅、運命を変える宿 」を読んでいると、とてつもなく気持が良くなります。風は心地良く吹いているし、夏の終わりの日差しはとても言葉では表現できないような感覚を与えてくれて、そして、本を読むのに飽きて海の中に入ったなら、海中には色鮮やかな魚たちがたくさん泳いでいるのです。

 人がいない秘境というのは、意外に近くにあったりします。秘境ですから、数多いあるわけではありませんが、こんな人それぞれの秘境に行って「放浪書」を読むというのは、何だかとても豊かな時間を感じさせてくれます。

 これが私の秘境の例ですが、あなただけが知っている「あなたの近くの秘境」はどんな場所でしょうか?

夏の海辺で本を読む夏の海辺で本を読む夏の海辺で本を読む






2009-08-17[n年前へ]

エクセルという黒魔術 

 Excelは「スケッチブック」としては素晴らしい、と思っている。それほど複雑でない処理を、思いつくままに描くのには、とても素晴らしいソフトだと思う。

 しかし、それを「繰り返し」使おうと考えてしまったなら、いきなり、驚くほどの時間を消費するブラックホール・モドキに変わる。もっとも、浪費した時間に応じて、少しの結果を出してくれるところが、単なるブラックホールではない。だからこそ、たちが悪い。

 かといって、Excelと関わらないわけにはいかないことも多い。そんなときは、プログラミング言語を使って、エクセルファイルに対して処理を行うことになる。たとえば、Ruby で.xlsファイルを読むことができる"Parseexcel"のようなライブラリを使い、データ処理を行うことになる。

 たとえば、多数のエクセル(.xlsファイル)に対する処理をしなければならないことも多い。そんな時は、こんな具合のRubyスクリプトを書くことにしている。たとえば、これは、引数で渡したディレクトリ中にある.xlsファイルのB3セル(row.at(2) if line==3)の値をすべて足した結果を出力するスクリプトを、動作確認しないまま書いてみたものだ。

require 'parseexcel'

files=Dir::entries(ARGV[0])
files.delete_if!{|v|
 true unless /\.xls$/=v}
}
sum=0.0
files.each{|file|
  wb=Spreadsheet::ParseExcel.parse(file)
  ws=wb.worksheet(0)
  line=1
  ws.each{|row|
    sum+=row.at(2).to_f if line==3
    line+=1
  }
}
puts sum.to_s

 もちろん、"parseexcel"を使うためには、

gem install parseexcel
という具合でparseexcelライブラリをインストールしておく必要がある。また、企業内で使うような場合、つまり、Proxy内からインストールする場合には、
set http_proxy=http://proxy.hoge.co.jp:8080
set http_proxy_user=hoge
set http_proxy_pass=hoge
gem install parseexcel
 というように、Proxy(とユーザ名・パスワード)の設定をしておかなければ、インストール作業ができないことも多いかもしれない。

 それにしても、エクセルは本当に黒魔術だと思う。しかも、強力極まりない黒魔術である。色んなことが簡単にできるがゆえに、実に色々な状況で使われる。本当に役立つことが多いのも、否定のできない事実である。しかし、とてつもなく時間を浪費する輩なのである。

2009-08-18[n年前へ]

ワイヤーロック錠をバラす 

 「鍵を使わずには絶対に開けられない鍵」というのは滅多にない。原理上は開かないはずのカギであっても、おおくの場合、製造上の問題や・運用上の問題が原因で、簡単に開く鍵になってしまうことも多い。たとえば、右上の写真に示したワイヤーロックなどは、その一例である。

 たとえば、下の動画はケンジントンのワイヤーロックをばらしてみた例である。このワイヤーロックは右の写真のような形状をしているのだが、一番外側の多いが薄い金属であり、その金属をただラジオペンチやニッパーなどで「めくる」だけで、シリンダー錠の中身をすべて取り出すことができる。つまり、シリンダーを固定しているピンもバネもすべてがバラバラになってしまうのである。ひとことで言えば、簡単に開いてしまうのである。



 このワイヤーロックの仕組みは、シリンダーの中に5セットのバネと2本のピンが入っている。そして、その5セットのうち2本ピンのうちの片方の長さが、セットごとに違うのである。だから、そのピンの長さに応じた押し込みをすることで、シリンダーの中の回転部を回すことができるようになる、というわけだ。

 もっとも、パズル好きな人で、手先が器用な人なら、精密ドライバーや堅い適当な形状の板などがあれば、わざわざネジをばらさなくても解錠することができる。暇な時間があれば、高いパズルを買わずとも、100円ショップで鍵を買い「その鍵を開ける」というパズルを楽しむのも面白いかもしれない。

ワイヤーロック錠をバラす






2009-08-19[n年前へ]

「腕時計マニア」の毎日 

 自分自身を振り返ったとき、惹かれるモノのひとつが腕時計である。外国に行った時、ミュージアムショップに行った時、そういうさまざまな状況で、腕時計を買ってしまうことがある。それどころか、通信販売で眺めただけの腕時計を買ってしまうことすらある。

 通信販売といえばAmazonというわけで、「Amazon.co.jp: 時計の新着ニューリリース」の時系列表示を少なくとも何日かおきに眺めている。過去へ未来へと時間をスクロールさせて、新発売の腕時計を眺めている。今日も、そういう風に眺めた結果、欲しくなったのは、「swatch (スウォッチ) 腕時計 CLIMBER FLOWERY BLUE SFK348AG 」と「TIMEX (タイメックス) 腕時計 エクスペディション WS4 オレンジ T49761 メンズ 」の2つの腕時計だ。腕は何本もないのにも関わらず、腕時計だけが増えていきそうだ。

2009-08-20[n年前へ]

Lego ウォッチャー 

 腕時計を毎日眺めていると、いつも、原色の色鮮やかなLEGO腕時計が気になってしまう。おもちゃのようでいて、それでいて、何だか奥深いようでもあり、けれど、やっぱり単なるプラスチックを好きなように組み立てたその在りように、とても惹かれてしまう。だから、たとえば、こういった腕時計をしている人を見かけたりすると(たいがい秋葉原でなのだが)、何だかとてもうれしくて、その腕時計をしている人をじっくり眺めてしまう癖がついてしまっている。

 それにしても、「腕時計をしている人を眺めたがる人」というのは英語ならどういう短い言葉で表現するだろう。まさか、「ウォッチャー・ウォッチャー」だったりするのだろうか。

2009-08-21[n年前へ]

「軽量折り畳み自転車YS-11開発記」と「ケータイ用防水パック」 

 自転車で海辺に行き、人のいない岩場に寝転がって本を読んだり、シュノーケルをつけて海の中にたくさんいる色々な魚を眺めたりしている。今日、海に浮かぶ岩の上で読んだのは、軽量折りたたみ自転車YS-11を作った白井健次さんの「YS‐11、走る!―たった一人で世界と闘う技術者魂 」だ。一人で「理想に近い自転車」を作りあげていく話で、時間も潮の満ち引きも忘れて読みふけってしまった。

 国産旅客機の技術管理に携わさった白井さんが、理想の折りたたみ自転車を生み出していく過程は、何とも面白く惹かれてしまう。たとえば、こんな風に自転車のイメージを作り上げ、

 つまり縮めてたためる「折りたたみ自転車」が前提となる。・・・タイヤは14インチから16インチの小径サイズ。・・・タイヤをスライドさせ、ただたたむのではなく、縮めてたたむというもの。
 軽く、というコンセプトは安価で、という条件が付くことが大事なのだ。
そして、そんな製品を実際に生み出していく。技術が好きな人なら、きっと読み始めたら止まらないカッパえびせん状態になると思う。(ちなみに、本書ではA-bikeに対して「タイヤ径6インチ。乗り物としては、日本の道路では走れない」というように言及している。)

 夏の海の岩の上で、その波瀾万丈の開発記を読み終わり、海へ入り直してみると、綺麗な魚が泳いでいた。そんな美しいさまはケータイ動画などで撮影してみたくなる。しかし、私のケータイは残念ななことに防水機能がはない。

 今度、ケータイ用防水パックあるいはこういったもの )でも買って、海中世界をケータイ電話で撮影してみることにしよう。こういうとき、人が足を踏み入れないところで泳いでいるメリットが生まれる。なぜかといえば、人がいる海水浴場でケータイを持ち出し、動画撮影なぞ始めた日には・・・とんでもないことになるに違いないからである。

2009-08-22[n年前へ]

読めばワクワク楽しくなる「詳解 OpenCV」 

 オライリージャパンから「詳解 OpenCV 」を献本して頂いたので、リュックに入れて、持ち歩きつつ読んでいます。画像処理プログラミングをする際にOpenCVを使うことも多い私ですが、この本はとても面白く感じます。私よりOpenCVを使ったことがない人でも、端的に言えば、OpenCVを知らない人でも、この本を読めば「あぁ、こんな面白そうなことが実は簡単にできるのか」と思えてくるだろうと思います。

 たとえば、「ナンシー"小"関 風 パッチもん版画」作成ソフトはOpenCVを使っているおかげで、全部でも実質2~30行程度のプログラムだったと思います。そのくらい、OpenCVは簡単に色々なことをすることができます。それは、とてもエキサイティングです。

 つまり、この本は読んでいると思わずワクワクする本です。そして、何かを作りたくなり・実際にそれを作り上げることができる本です。全部で611頁の中に、さまざまな画像処理技術の紹介・そして、そのOpenCVを使った実装方法の具体例が詰まっていて、もちろんサンプル・コードをダウンロードすることもできます。

 本文だけでは、「プログラム全体」をどう書くかという点について、(最初は)少しとまどってしまうかもしれませんが、それはサンプル・コードを見れば解決するだろうと思います。少なくとも、OpenCVを使ったことがない人から、OpenCVを使っている人(けれど使ったことがない機能があるという、つまりすべての人)を、この本は対象にしているように思えます。ひとことで書けば、間口が広く、そして奥行きの深い本に思えます。

 この本の欠点は、リュックに入れていつも持ち歩くには少々重いということくらいです。もちろん、そんな読者はそうそういないはずなので、結局のところ、とても良い本だな、とリュックの重みとともに感じています。

2009-08-23[n年前へ]

面白い「白い粉」で遊ぶ 

 面白い「白い粉」を手に入れた。といっても、もちろん、吸引したりする「白い粉」ではない。ちょっと思いついたイタズラを実現するために、理化学店で「紫外線を当てるとさまざまな色に光る蛍光パウダー」を手に入れたのである。

 6色以上あるので、6色クレヨン気分で、好きな絵を描いたりすることもできそうだ。一見真白のTシャツや紙や壁が、ブラックライト (紫外線)を当てた瞬間に、そこには綺麗な絵が浮かび上がるという具合にもなる。

 ・・・と、いっても、それではまるで”ムーディー”感に満ち溢れたラブホテルの部屋である。学生時代に、ラブホテルでアルバイトしていたことがあったが、つまりは、あのバイト先の部屋の壁や天井と同じである。もちろん、思いついたイタズラというのは、そんな「ラブホテルの部屋を自作しよう」というものではない、と念のために書いておこう。

2009-08-24[n年前へ]

(恥を忍んで)RC形式でエクセルを使うスクリプトを書いた 

 エクセルは便利だが、LEGOブロックのようなものだ。舞うを掴んだ手を動かし、ワークシートの上で泥臭い作業をしているうちに、いつしか何らかの機能を持ったものができあがる。時間はかかるが、確かに何かができあがる。しかし、どうしようもなく、再利用しづらく、行き当たりばったり感が否めない。

 かといって、スクリプト言語で作業をしようとすると、何らかの機能を実現する「ライブラリ」を探したり、あるいは、教科書を広げ関数機能を実装する手間が必要になったりする。もちろん、サラサラとコードを書きおろすことができる人は別だが、エクセルもスクリプト言語も色々な解析手法自体も苦手な人間には、そういった作業がどうしても必要になると同時に、何ともシンドく感じてしまう。

 今日、データ解析をするRubyスクリプトを書くときに「(CSVファイルを介して)エクセルの機能」を使った瞬間には、さすがに「これは情けないな」と自分でも思った。どういうことかというと、たとえて言うならば、配列の標準偏差を計算するために、こんなスクリプト(a.rbと名付けておこう)を書いたわけである。

num=100
num.times{ datum << rand()*100 }
puts 'STDEV,=STDEV(R[1]C:R['+(num+1).to_s+']C)'
datum.each{ |v|  puts ','+v.to_s }
 そして、
ruby a.ruby > a.csv
a.csv
とすることで、(たとえば)100個の配列の標準偏差を計算したのだ。つまり、「何らかの機能を実現する関数を実装・探す」のが面倒くさくて、エクセルにその作業をさせるスクリプトを書きなぐったのである。・・・実に情けないとしか言いようがない話だ。

 ・・・ちなみに、こんな風に黒魔術師”マイクロソフト エクセル”の力に頼ったスクリプトを書くときには、セルの位置指定方法は「RC形式」にしておくのが、楽でいい。もちろん、こんな情けなく・小汚い作業はしないのが一番なのは、言うまでもない当たり前のコンコンチキなのである。当たり前だのクラッカーなのである。

2009-08-25[n年前へ]

”消しゴム版画風”画像作成ソフトの”mixiアプリ”「人生スタンプ」公開 

 数日前、読めばワクワク楽しくなる「詳解 OpenCV」で、こんなことを書きました。

 たとえば、「ナンシー"小"関 風 パッチもん版画」作成ソフトはOpenCVを使っているおかげで、全部でも実質2~30行程度のプログラムだったと思います。

 その「ナンシー"小"関 風 パッチもん版画」作成ソフトのソース・コードを元にしたmixiアプリ、「人生スタンプ」が、今日公開されました。

 マイブームをスタンプラリーにして共有するmixiアプリです。自分だけのこだわり、ローカルなネタで撮った写真を、 スタンプ風に加工し自分だけのオリジナルスタンプ帳がつくれます。写真を撮ってきてアップするだけでゆるいコミュニケーションができます。コミュニケーションだけでなく収集欲、自慢欲を満たします。
 かわいいスタンプ風の画像加工には下記のアルゴリズムを利用しています。『「ナンシー”小”関 風 パッチもん版画」作成ソフト』

 ところで、もう「ナンシー”小”関 風 パッチもん版画」という名称を、もう書くこともないし・使うこともないと私は思います(一時の感情で、コードを書き・そして名前を付けてしまったように思います)。

 だから、これからは違う名前として書くのなら、たとえば(この適当に仕立てた)「”消しゴム版画風”画像作成ソフト」のソースを、今回のmixiアプリのように、何か前向きな使い方をしたり・有意義に使って頂けるのなら、心から嬉しく思います。

2009-08-26[n年前へ]

「赤い救急車」と「青い空」 

 空をただ見上げると、その綺麗さに見とれることが多い。だからといって、忙しい毎日の中では、空をただ見上げ続け。見とれ続けるということはないのが普通だ。

 以前、救急車に乗った。あの時、ストレッチャー(担架)から瞬間的に見上げた青空は、とても綺麗に透き通っていた。

 そういえば、救急車から担架に乗って出た瞬間、目の前の青空が綺麗だなぁ、と思ったことは覚えている。そして、その瞬間に頭の中でブルーハーツの「青空」が流れたのはいいけれど、それは「バス」じゃなくて「救急車」だし、「運転手さん」じゃなくて「救急隊員さん」だし・・・

 昨日、また救急車に乗った。額から出る血を押さえながら、歩道で上を見上げて倒れている間に見た空は、ほんの少しだけ茜色が混じり、夕方の訪れを感じさせてとても綺麗だった。そして、「真っ赤な(消防車風)救急車」が来てから、ストレッチャーの上で首や頭、そして体中を固定される間に見上げ続けた空は本当に美しかった。頭も首も動かせないのだから、視界の中には青い空にしかない。青空を、ただただ眺め続ける時間は、こういう時にしか手に入らないのかもしれない。

 今日の再確認できたことは、「車に轢かれそうになった時は、車のボンネットの上に乗り上げれば、衝突のショックが大幅に減る」ということだった。そして、できるなら、「受け身」もきちんとするべきだ(そうそうできるわけもないが)ということである。それにしても、ボンネットがある車で良かった。これが「バス」だったりしたら・・・考えるだけでも恐ろしい。

 運転手さん そのバスに僕も乗っけてくれないか
行き先なら どこでもいいまぶしいほど 青い空の真下で

THE BLUE HEARTS 「青空」

 というわけで、手足が生えた歩く”白い”マスクメロンとなっている。道路に横たわる影だけを見るならば、まるでモヒカン男かチョンマゲ侍が歩いているようだ。実に情けない格好だ。

メロン坊やメロン坊やメロン坊や






2009-08-27[n年前へ]

「ボンレスベルト」で「ボンレス腹」を解消しよう!? 

 小学生の頃、「ボンレス」といったあだ名があったような気がする。太った子が小さめのシャツを着たりすると、脂肪がムニッムニッとはみ出て、それが「ボンレスハム」を連想させたからだ。もちろん、その「ボンレス」という言葉には、「健康」とか「元気」というようなニュアンスも入っていたけれど、「少し太っている」というニュアンスもあって、「ボンレス」という言葉は、言われた側は少し悲しくるようなネガティブなのものでもあったと思う。

 ところが、先日「 脂肪をギュッ!筋肉運動の効率アップで、カロリー消費量UP!!」という広告を見て、そのポジティブな「ボンレス」のニュアンスに驚くとともに、何だか楽しく・嬉しくなってしまった。不思議なことに、「ボンレス」という言葉に力強く誇らしげなパワーすら感じてしまうのである。「ボンレス腹」なら、「ボンレス・ベルト」を使えば脂肪を消し去ることができるのではないか、という実に無根拠な気持が生まれてくるのだ。

 「ボンレス・ベルト」という言葉を思いつき、さらに、商品を作り上げた人は、間違いなく「言葉の魔術師」だと思う。

2009-08-28[n年前へ]

自宅サーバ部屋で自ビール作り 

 自宅でサーバを運用している人は今はどのくらいいるのだろう。数年前に比べて、増えたのだろうか、それとも減っているのだろうか?今では、自分でサーバを立てなくても、楽に使うことができる各種サービス会社がたくさんあるから、人数ベースではわからないが、少なくとも、比率ベースでは、減少しているに違いない。

 自宅サーバを立てる醍醐味は、「自分の思うように動くものを作るためには、何をしなければならないかという知識を得ることができる」「思った通りに動かないため、動かす過程で色々な経験と苦労を味わえる」「最終的に、自分の思うように動くものを作ることができる」というあたりだろうか。

 サーバを動かす部屋は、夏でも25℃くらいの温度には保ってある。そして、冬でもそこそこ暖かい温度になっている。この温度を何か有効活用できないだろうか、といつも思う。夏は冷却用エアコンの電気代がもったいないし、一年中通して発熱を続けるPCの電気代だって、やはりもったいない。

 こんなことを考えた。サーバ部屋で、自ビールを作るのはどうだろうか?つまり、自宅サーバが置いてある部屋で、自宅ビールを作るのである。25℃くらいという「自宅サーバ室」の温度は、ビールを発酵させるのに ほど良い温度である ようだし、自分でビールを作るという作業自体も「自分の思うようなビールを作るためには、何をしなければならないかという知識を得ることができる」「思った通りのものができないため、試行錯誤する過程で多くの経験と苦労を味わえる」「最終的に、自分の思うような美味しいビールを作り・飲むことができる」という、まさに自宅サーバを動かす醍醐味と同じものがあるように思えるのである。

 「自宅サーバ部屋」を「自ビール工場」にしてしまうというのも面白いのではないだろうか。これこそ、まさに「自宅ビール・サーバ」かもしれない。

2009-08-29[n年前へ]

「自ビールのアルコール度数」計算グラフ 

 「自宅サーバ部屋で自ビール作り」をしたくなり、「農家が教えるどぶろくのつくり方―ワイン、ビール、焼酎、麹・酵母つくりも 」を読んでいると、「笹野流 濁りビールのつくり方」の中で自ビール(自分で作るビール)のアルコール度に関する説明がされていた。内容はおおよそこのようなものである。

 「ビールの素」は(重量にして)65%が麦芽糖(マルトース)である。
 900グラムのビールの素と、砂糖(スクロース)1kgを10リットルの水に混ぜると、麦芽糖600グラム・砂糖1000g、合わせて1600グラムの糖分が10リットル(10000グラム)の水の中に含まれる。つまり、原麦汁の糖分%は16%ということになる。
 発酵により、糖分がアルコールと炭酸ガスに「完全に」分解されると、アルコール度数は糖分%に0.6を乗じたものになる。

 日本では、酒税法によりアルコール度数1%以上のビールを作ることは禁止されている。そこで、どのくらい量の砂糖を追加するのなら、酒税法で許可されているアルコール度数になるのかを、エクセルで計算・グラフ化してみることにした。

 よく販売されている900グラム入り「ビールの素」は、通常20リットルの水と混合するレシピになっているらしい(あくまで、実際にまだ買っていないので「らしい」である)。そこで、水20リットルと「ビールの素」1缶と追加する砂糖の量から、できあがる自ビールのアルコール度数を概算してみたのが、下のグラフである。

 この計算してみた結果グラフを眺めると、砂糖を入れなくても、もしも完全に発酵が完了したならば、アルコール度数は1%を超えてしまう、ということになってしまう。発酵が半分程度しか進行しないような状態でなければ、アルコール度数は1%を超えてしまうのである。

 使う水の量が違うのだろうか、どこを間違えているのだろうか・・・!? やはり、実際に作ってみなければ「わからない」ものなのかもしれない。

自ビールのアルコール度数の計算グラフ






2009-08-30[n年前へ]

Visual C++ 2008 Express EditionでOpenCV trunk(1.1.1)をビルドする 

 読めばワクワク楽しくなる「詳解 OpenCV」を読んだので、OpenCVのプログラムを久々に書いてみることにしました。また、「詳解 OpenCV」を空いている時間に読んでいるので、本を読みながら、開発環境のインストール作業を始めてみようと思ったのです。

 まずは、OpenCVのダウンロードです。といっても、ただOpenCVの安定版をダウンロードしてくるのでは、新鮮さに少し欠けるような気がします。というわけで、(難しいことを知らなくても最新版ファイルを落とすことができる)CVSGrabを使い、OpenCVの最新(trunk)版を手元に置いて・使ってみることにしました。

 そこで、まずはCVSGrabをダウンロードします。そして、インストーラを立ち上げ、(たとえば)"C:\tool\cvsgrab"にCVSGrabをインストールします。その後に、次のように

cd C:\tool\cvsgrab
set CVSGRAB_HOME=C:\tool\cvsgrab
cvsgrab.bat -url http://opencvlibrary.svn.sourceforge.net/viewvc/opencvlibrary/trunk/ -destDir c:/CVS/ -webInterface ViewVC1_1
コマンドを打つことで、"c:/CVS/"の下にOpenCVの"trunk"版がダウンロードさせます。
 もしも、Proxy内の環境からダウンロードしたければ、最後の一行を、
cvsgrab.bat -url http://opencvlibrary.svn.sourceforge.net/viewvc/opencvlibrary/trunk/ -proxyHost proxy.hoge.jp -proxyPort 8080 -proxyUser hogeuser -proxyPassword hogepasswd -destDir c:/CVS/ -webInterface ViewVC1_1
というようにすれば大丈夫です。

 次は、・・・(開発環境よりライブラリをインストールするなんて)何だか順序がおかしい気もしますが、無償で使うことができる開発環境Microsoft Visual C++ 2008 Express Editionをダウンロード&インストールします(こういった無償・簡易開発環境が最初からインストールされていても良いのではないか、とふと思ったりもします)。

 そして、最後にCMakeをダウンロード&インストールします。「CMakeを用いたOpenCVのビルド:」を参考にしながら、ただし、最初はとりあえず、「OPENCV_WHOLE_PROGRAM_OPTIMIZATIONはOFF」にした状態で、OpenCVをビルドするための、Microsoft Visual C++ 2008プロジェクトを作成します。そして、”CMakeを用いたOpenCVのビルド”に記載されているような「ビルド-バッチビルド」という手順を追うことで、(アプリケーション作成・実行に必要な).libファイルや.dllファイルや実行ファイルが次々と作成されていきます。

 というわけで、ここまで来れば、あとはOpenCVのプログラム(プロジェクト&ソースファイル)を作る、だけです。・・・という準備作業をするところで、今日の時間が無くなってしまいました。この続きは、また後で楽しみ・書こうと思います。

2009-08-31[n年前へ]

スラッシュドットの「関連ストーリー」作成アルゴリズムは・・・!? 

 ふと、『スラッシュドットの各記事に対する「関連ストーリー」作成アルゴリズムはどのようになっているのか』が知りたくなりました。

 私のサイトでも、各記事に対して「関連お勧め記事」を表示しています。関連記事の抽出は、各記事に付けられたキーワードの重複度を基準にしています。一人の人が書くサイトの場合には、こういった単純なアルゴリズムで充分な精度が得られるように思います。

 スラッシュドットのシステムを支えているコード”Slash”を眺める前に、ためしに、「スラッシュドット AND 関連ストーリー」で検索をかけると、こんな投稿が見つかりました。

 関連ストーリーは URL をチェックしていて、 /. のストーリーもしくはコメントしか入れられません。
 ・・・ということは、スラッシュドットの「関連ストーリー」作成アルゴリズムは「(編集者の記憶と推敲作業を結晶させた)ガッツで手作業」で実現されているのでしょうか。スラッシュドットを動かす、ソースコード”Slash”の詳細を眺めるのは大変そうなので、まずは概略を知りたい今日この頃です。