HTML

2005年12月04日 日曜日

David Hawley, Raina Hawley / Excel Hacks—プロが教える究極のテクニック100選

最近Excelのスキルが凄くあがったなあと思ったので、道場破りでもと思って、本屋でこの本を_立ち読み_してみた。出てくる項目でしか判断してませんが、最後のXMLの項(これExcel2003の話だよなあ)を除けば、僕にとっては_ほぼすべてが既知_の本でした。O’ReillyのHacksシリーズは何冊か購入したけど内容のレベルにムラを感じるのではるが、この本ははっきりいって不要な本であるという結論ですかね。ランダムに結構な数をサンプリングしてみましたが、ほぼ既知の内容で読む価値無しという結論。ああっ、Excel依存症なのは僕のことなのかぁ・・・
ピボットテーブルとかピボットグラフとかソルバーとか言うものを使ったことが無いという人はExcel使いとしては初心者もいいところと思うので、Excelの初心者を卒業したいあたりの人にはまぁお勧めできるでしょうか。
そんなわけで、Excel依存症であることに気がついてしまった結果、全くブルーな気持ちでいっぱいです。この本を買ってやろうという予算は、ずっと買いそびれていた塩野七生さんの「ローマ人の物語」の1巻と2巻の購入資金に転用します。(実は3巻まで、図書館からかりて読んでいたので、未購入なのでした。7巻以降は別な理由で未購入ですが。と言っても、立ち読みレベルでだいぶん読んでいるのではあるけれど。)

2005年11月17日 木曜日

「アルゴリズム+データ構造=プログラム」? 本当に?

福盛さんのプログラミングにおけるインターフェイスに関する考察。なかなか興味深く読ませていただいた。構造化の要件としての「アルゴリズム」と「データ構造」に加えて、プログラムになるには「インタフェース」も必要なのではないかという話。面白い視点だとは思うのだけど、はたしてそうなんだろうか?
プログラムという概念を考える際に人によってその規模が違うので、たしかに「アルゴリズム+データ構造=プログラム」というのは必ずしも自明ではない。(僕自身は「Σ(アルゴリズム×データ構造)=プログラム」ではなかろうかと思うのだけれども。) たとえば数行で記述可能な簡単なものから、Officeソフトのような大規模なものまで、どれもプログラムである。プログラムというものをどういうくくりで考えればいいのだろうか? 小規模なプログラムについては「アルゴリズム+データ構造=プログラム」と言う直感的な理解も可能であるが、福盛さんの考察は、構造化・モジュール化を進めた大規模なプログラムとなるとどうであろうかという論点であると思う。
僕はそもそも等号が成り立つような次元が同じ物ではないので階層化して考えたほうが自然だと思う。インターフェースやプログラムという概念は、「アルゴリズム」や「データ構造」のようなプリミティヴな存在であるか否か?という視点でかんがえたいのである。僕は「インターフェース」は「アルゴリズム」や「データ構造」とは同じ次元の存在ではなく、「アルゴリズム」と「データ構造」というプリミティヴな概念を演繹したようなもので記述可能ではなかろうかと思う。(公理論的アプローチなのかもしれないが…)
ではインターフェースというものをどう言う位置付けでおいておけばいいのかという話になるのであるが、インタフェースはその名のとおり、振る舞い(応答? 動作?なんて言うのかな)・データ・プログラム・外界との_相互作用_を考えた際にはじめて登場する概念だから、第1層目としてはアルゴリズム・データ構造、第2層目は第1層目の概念のみで記述可能であるインターフェース・プロシジャ・オブジェクト・プログラムというような階層的な理解でいいんじゃなかろうか? (プログラムを3階層目において置いた方がいいかな・・・整理悪いかも。)
ただしこれはプログラムの構成要素としてボトムアップして考えてみただけであって、実際のところプログラムが何でできているのかを考える際には実装詳細はどうでも良くて、インターフェースとその振る舞いが規定されていれば良いだけのような気がする。あとあの本はインターフェース云々以前の時代の本で、現代的なプログラミングとは若干の差があるのはあたりまえと思う。あくまで手続き指向な言語から構造化プログラミングへプログラミング・スタイルを切り替える提案をした本だという理解をすべきかと思うのだけど。ちゃんと読んでないから、なんとも。(Adaの本とかも今読むとふむふむと思うところはあるんだよねえ。Pascalに型総称性をいれてがちがちな仕様にしたらAdaになりそうだもんなあ。ただAdaにしてもPascalにしても好きではないな。)

2005年10月16日 日曜日

EF 17-40mm F4L USM

先週の週末に最寄りのキタムラに行ったところ、探しているレンズの一本であるEF 17-40mm F4L USMの中古が入荷していた。話を聞けばなんでも、最優先で探しているTS-E 90mm F2.8も入荷したらしいのだが、即日売れてしまった模様。(入荷したら即買う、無理してでも買うとあれだけ言っているというのに・・・)どうやらこのレンズもそうなのだけど、前のオーナーは使いこなしきれてなかったっぽい。(EOS 5Dを買ってこれらのレンズを使わないという判断らしいので。全くこういう人がいるから、ほぼ新品な機材が買えるというものだ。)
今の手持ちレンズのラインナップだときっちり広角な絵が撮れるレンズが無いことと、お出かけの際に気軽に持ち運べるレンズがそんなに無いこと(いつも何本も単焦点レンズを持ち歩けないし)もあって、このレンズはねらっていた。以前この画角クラスはEF 17−35mm F2.8Lが担っていたのであるが、このレンズは明るくて使い勝手が良い反面、デジタルカメラとの相性が悪く解像感が悪いというレンズであった。(絞っても解決しない。) 後継レンズのEF 16−35mm F2.8Lも便利なレンズという範疇を出ていないので、_明るさが必要なときは単焦点でカヴァーする_ということとし、実用的な部分はこのレンズにお任せということにした。むろんデジタルカメラ登場後のレンズのため、作例を見る限りに置いては実写性能は良いようだ。(ちなみに17-35mmの絵はコマーシャルフォトで広角で撮られている写真に多いので、結構見粥靴譴審┐任△辰燭蠅垢襪里世㍑㌃鹿霈腫ぢということで、なんとか購入。見た目は新品としか思えない綺麗さ。前のオーナーが使わなかった分、僕が使い込んでやろうと思う一本である。ただししばらく使う予定がないので、いつ使うことになるのかさっぱりわかりません。(だれかこのレンズの1枚目に写ってみたいという女の子はいないものかねえ。)

2005年10月09日 日曜日

TFT

今日はTFTで行われているコスプレのイベントに出かけてみたのだが、あまり写真は撮れなかった… というか、あまりに混みすぎで、人に酔ってしまった。今日の目的は僕にのだめカンタービレを勧めてくれた方が、クラシックに興味を持ち始めたので、うちにあるCDを派手に貸し出すと言うところで、こちらは無事うまくいった。(彼女の写真… 撮れませんでした。) 20枚貸し出したので、思う存分聞いてください。これを元に次に聴きそうなものを考えていきましょう。
結局写真はあんまり撮れなかったのだけれど、今日撮った写真を1枚だけアップしてみます。なんだかいつも似たような構図で写真を撮っている気がするが、気にしない。窓があるとどうしてもと言うのはあるんだけど、ストロボでとるといまいち雰囲気でないので、外光だけで撮影となりました。モデルは村雨さん。
村雨さん

2005年10月08日 土曜日

CEATEC JAPAN 2005

CEATECで扱っているものは僕にとって中途半端に小さくてあまり興味の無い分野が多いのであるが、今回はキヤノンと東芝がSED(Surface-conduction Electron-emitter Display)を出展していると言うことなので、実物を見なければと思い立ち、昨日の夜中に事前登録をして出かけることに。
まだうちのテレビは買って3年のハイビジョンなトリニトロン管のテレビなので、まだまだこき使ってやらないといけないわけだけども。液晶とそれ以外という視点で見たらどうだろうかと思っていたわけだ。残念ながら展示では、本当にあんなに差があるのかどうか疑わしい通常のブラウン管との比較であったが、SEDはフォーカスが画面内できっちりと合っており、色の質感などは良い印象。動画の表示も難なくこなすと言うことで、我が家の次世代のテレビはあれだなと思った。すっかりキヤノンと東芝にしてやられてしまった。液晶の方面はいろいろ見たけれどシャープの独壇場という印象(液晶テレビを見たときにいつも思う赤の彩度や質感が良いように思う)で、他はどうでも良いかという状態か。他者にもがんばって欲しいのだけど・・・
次世代メディア(BDとHD-DVD)の展示も人が結構いたが、ブースに集まっている人はHD-DVDの方が多めだったか。どっちでも良いので早いところ出てきてくださいな。我が家ではもう3年録画に耐えられるメディアが無くて録画は諦めてますので。広まった方を買おうと思うけれど、後数年は様子見か。
まぁこれだけじゃつまらないと言う人も多いので、一応おねえさん写真も撮ってきた。何カ所かのブースで「撮影禁止です。ご遠慮ください」と言われました。はぁ・・・来年からはもう行きません。
CEATEC Japan 2005 その1CEATEC Japan 2005 その2CEATEC Japan 2005 その3CEATEC Japan 2005 その4CEATEC Japan 2005 その5CEATEC Japan 2005 その6CEATEC Japan 2005 その7CEATEC Japan 2005 その8CEATEC Japan 2005 その9CEATEC Japan 2005 その10
今回最大の失敗は、ストロボの電池を忘れていったと言うことで、最初の数枚しかストロボ炊いてません。ストロボ炊いた写真はやはり顔の影とテカリが気になるので、ディフューザーを買うしかないか・・・

2005年09月29日 木曜日

Windows Programming in C++

流れが速すぎて、あんまりまじめに勉強したくないんだけれど、C++によるWindowsプログラミングを10年ぶりくらいに再開してみました。とはいえ、今のところはDLLが書ければよいかと言うレベル。DLLを書くのも結構かったるい。(忘れてしまった自分も悪い。)
ついでなのでGUIを持ったプログラムを書けるようにもなりたいと思いたった訳だけれど、周りの環境を調べてみてどう攻めていこうか考えてみる。学習曲線はC++の場合そんなに急ではないので、年単位で時間ががかることを前提に考えることとすると、Windowsに限定して考えれば現在身の回りで.netを使える環境は自宅のPCだけという惨憺たる状態。とてもツールとして使って貰うようなプログラムを.netで書ける状態にない。と言うことで、Win32環境でオーソドックスにC++で攻めるのも悪くはあるまいと思ったわけだ。
MFCはずいぶん前に挫折した痛い経験があるので、それ以外のフレームワークを探してみる。Doc-Viewというスタイルは感銘はするが、常にDoc-Viewを必要としているわけでもないので、今回はこれを迂回してATL(Active Template Library)/WTL(Windows Template Library)で遊んでみようと思う。すっかり廃れてしまった感のあるATLなんですが、ATLだけでGUIなプログラムはかけなかったなと言う記憶があって敬遠していたが、ATLを補うGUIテンプレートライブラリがWTL(Windows Template Library)として、いまやMSのオープンソース戦略の一環として配布されているので、これでいいのかもと思っています。(ATLはそうではないので困ったなあと言う問題はあるのだけど。) MFCと比べると、Doc-Viewを強要されない(ViewはあってもDocはない)、ヘッダだけで構成されている(templateだから当たり前か) 喞ぢでプログラムを書いていた時代を知っていれば何とかプログラムが追える、というようなもので、何とか遊べそう。後はなんと言っても、_多重継承とtemplateを使いまくり!_というC++フリーク向けのライブラリであったりもするので、サンプルのソースを読んでいても楽しい。ぼちぼち勉強してみよう。参考となりそうなサイトをメモ。

2005年08月27日 土曜日

Lightweight Language Day (and Night)

今年もLightweight Languageの年に一度のお祭りであるLightweight Language Day (and Night)に参加してきました。チケットの発売に気がつかなかったので、何とか買えた昼間の部のみ参加。
今年の僕が感じた目玉のひとつ目は、GNU awk(gawk)のXML拡張であるxmlgawkであろうか。僕がgawkやnawkを使っていたのは学部の4年目のころで、あのころは日本語化パッチを当てたjgawkをメインに使っていた。(今にして思うとperlのプログラムも結構書いたけどawkほど使ってないな。) 気がつけば国際化されて、キーワードが増えてXML文書をSAXっぽく扱えるようだ。この拡張はgawkの先端開発版という位置づけで、コンパイルオプションで無効にできるそうだ。awkは行指向ツールとしてはperlやrubyより使いやすいところはあるので、まだ開発が行われていて進化が続いているのかと言う驚きとともに、昔師匠のawkの技でうんざりしてしまいやめてしまったawkであるが、再び遊んでみたいなあと思ったのである。(僕の師匠(指導教官ともいう)はawkとかPostScriptのプログラムをサクサクと・・・)
二つ目は全然追いかけてもいなかったけどPerl6周辺の話。昨年のLLでは北京オリンピック頃と言っていたPerl6であるが、この1年でPerl6のHaskellによる実装(Pugs)を行ったという天才が登場して、突如として開発が加速しているようだ。それにしても1ヶ月でHaskellを覚えて、Perl6の仕様を具現化してしまうとは。若い天才的な人物の登場というのはなかなかエキサイティングなことだったのだと思う。小飼さんのPerl6のデモを見ていたのだけれど、Perl5との互換性を捨てているせいか、言語自身がリファインされて、どことなくrubyに近づいているような・・・ 似たような機能を影響しながら追加していくと、結局PerlとRubyとPythonを足して3で割ったような言語ができるのだろうか? もうちょっとPerlの良いところであり悪いところでもある毒々しさを残して置いて欲しいのだけれど。
他の言語に関しては特に進展があったわけではないのでここで述べる必要もないと思う。ざっと10個の言語プレゼンを聞いたのであるが、聞いた結論としてLightweight Languageとは何だろうかと思ってしまう。個人的なLightweightであることの定義付けであるが、まず最初に軽い記述で高度な処理ができること、次にたいていの人にとって理解しやすい概念のみでプログラム可能であることかなと思う。そういう点でエヴァンジェリストの方々には大変申し訳ないが、monadsとか、Curry化とか、継続とかが一般に理解されるようになるとはとうてい思えない。(一応分かりやすいと思う解説へのリンクは貼った。) むろん関数型プログラミングの威力は理解できるのだが、果たしてLightweightなのか? 誰しも知っていて当たり前なのか? と言うあたりが僕は知りたい。(Scheme的にはSICPを読めと言う話だと思うのだが、みんなしなければならないもんでも無かろう。) ちなみに僕自身はLightweightに関係なく関数型な言語の1つはプログラマを志す人は教養レベルでも良いからやっておくべきだと思ってはいる。第一、面白いし。
フレームワーク対決については、Kahuaは昨年のLLで面白いツールだと思っていろいろ調べていたので、面白くデモを拝見したのだが、もう少しうまく説明できればなという場面が多かったかも。Ruby on Railsについては、一度デモを見ておきたいと思っていたので、今回のプレゼンは参考になった。みんなが凄いというだけあるな。うちのサーバにインストールというのはバックエンドDBをインストールしたくないので保留としても、試験動作環境のDebianマシンには入れてみてもいいかも。ちょっと検討してみよう。Sledgeについては今更Perl Baseなシステムを持ちたくない(我が家の環境でPerl依存なものはもうほとんどない)ので、意見は保留。
「君ならどう書く」というセッションは、漢数字を扱う電卓ということで、面白く眺めさせてもらった。今回の漢数字の定義自身が、一般的ではない(世間的には無量大数まで万進のはず。今回はどの桁か忘れたけど万万進に切り替わる)こともあり、パースをどうするかというところが面白かった。(万万進の場合は人間が聞いてもよくわからなくなるので、少なくとも国内では廃れている。) 桁数が多くなれば誰しもがやるように、下の桁から勘定すればいいのよね。今回は個人的にはプログラム可能な電卓を作りこんでいたPythonのチームが秀逸であったと思う。
あと自由演技のsfの小林さんなのだが、科学技術計算という論点では特に行列計算ができる計算機という位置づけだったかと思う。この手の計算は特に実験系の人は常に悩ましいと思うのだが、測定器が吐き出すテキストデータをなんとかパースして、どう配列に取り込むかという点でいつも悩むところがあるが、このプログラムの場合データを表のようなものに落としこんでテキストファイルとして、テキストファイル自身が行列やベクトルをあらわして、ファイル名を記号として使えるような計算に特化したシェルのようなものという風に読めたのであるが、あの場で量子力学の固有値計算をするのはどうかと思う。説明によっては面白いと思うのだけど。ちなみに僕はあの規模の計算は普通にCで書くべきだと思う。いろいろ悩ましいけど。

2005年07月25日 月曜日

FFXI廃人人生66日目

今日はナイトのアーティファクト装備のクエスト その2をいつもお世話になっている団長さん(すでにRLKの団長さんではないし、僕らもみんなRLKつながりだけど、いまはRLKな人じゃない)に手伝ってもらうことになった。多謝なのである。
ナイトのアーティファクト装備クエストを参考に進める。2番目のクエストは話を聴いて釣りの餌まで準備していたので、その続きから。オズトロヤ城の最深部の池でのんびり釣りを楽しみ、モンスターを吊り上げて倒すって言う内容だけど。確かに今のレベルだと一人ではできないなあ。ということで、団長さんのお手伝いがあって無事終了。今週はこつこつAFとレベル上げを進めておきたいものだ。明日はエルディーム古墳に闇の炎を取りにいけるかもしれない。

2005年06月26日 日曜日

FFXI廃人人生37日目

今日も出かける気力が無くなるほど暑いので、冷房の効いた涼しい部屋でFFXI。だめだめだな。
今日の昼間の目的は戦績ポイントとOPテレポサービスのための補給クエスト。最近サンドリアのコンクエストの調子がいまいち良くないため、今週(今日まで)で行けそうなリージョンはリ・テロア地方なので、クエストを受けてみた。目的地はリ・テロアの入り口エリアの聖地ジ・タなので、さくっと行ってみようと言うノリで行ってみた。渋い音楽で美しいところだと思うのだが… さんざん歩いて地図を持っていないことに気がついた。さすがに地図なしで行けるほど甘い地方じゃなかった。(基本的に森を地図なしで歩くのは困難だ。)地図はマウラに売っていると言うことなので、マウラで地図を購入後に再度チャレンジしたのだが、さすがに途中でゴブリンに絡まれるなあ(しかもあまり視界良くないし)ということで、インビジ・スニークを自分で使えるようになるまで待つか、ウィンダスからチョコボでくるかのどちらかが妥当だな。そんなわけで断念。次行くときは自力でOPまでは行けるだろう。
今日ついに資金枯渇な状態になってしまった… さすがにまずい状況なので、戦績アイテムを売りに出してテンポラリな資金の導入を行い、平行して名声と合成原料とクリスタル獲得(特に炎のクリスタル、風のクリスタル)のためにシーフを育てることにした。(名声を稼ぐために貢ぐアイテムをモンスターから盗むっていうのが倫理的に正しいのかい? スクエアさんという話ではあるが・・・)以前暇つぶしにレベル3まで育てていたので、今日は西ロンフォールで丁度〜楽を乱獲して一気にレベル8まで育てた。こっちはなんとかトレジャーハンターのジョブ特性が付くレベル15まで育てる方針で進める。べつに合成職人になる気はないのだけど、メインで使うミスラ風海の幸串焼とジュース類を自給できないとレベル上げでもつらい物があることと、目的地に行くためにサイレントオイルとプリズムパウダーの需要が増えたので、これも自給自足したいというのが目的で、素材集めにシーフの特性も使えたらよいと考えている。湯水のように資金が無くなったのはこのせいでもある。

2005年05月18日 水曜日

僕はコードを書けないだめだめな人ですが…

思うところを書いてみて、気が付いたら反応リンク集に。ひょえ〜。そんなわけで、コードをかけない人ですが、思うところを書いてみる。僕はコードを書く能力はないですが、そんな僕にもできることはあるだろうと思って、ここ数年Linuxの地域ユーザー会の運営に携わっています。三浦さんとはそのときからのおつきあいですが、いつも大変お世話になっています。僕はごく一面しか見えていませんが、現状のOSSの世界であのバランスで精力的に活動して、どこに出かけても見かける人はそう何人もいません。いつもながらお世話になりっぱなしです。
で、僕が三浦さんのCodeFest 2005 JAPANと言う記事を読んで思ったのは、先の日記に書いたように、いろいろなコミュニティへの積極的な参加・運営、啓蒙・教育、政治的な方面とのやりとりなどを続けてきて、いろいろ板挟みやギャップを感じることががあるのかなと思ったことは確かだけど、あともう一つ。僕は_「CodeFestを日本で開く応援をしたい、推進派になった。人材育成とか、日本発のOSSとか、コードも書かない人に言われたくはない。」_と言う文章を読んで、こういう楽しいイベントがあるんだから、_何より先に自分自身が主体的に参加していこう_とか_こういう場で成長する人もいるに違いないから応援していこう_と言った_凄く前向きな意見_としてとらえたのでした。
いろいろ読んだ中で、狩野さん

ところで、「人材を育成する」という言葉の裏には、「人材として育成される」人が当然存在するわけだ。あなたは人材として育成されたいですか?

はっきり言って私は、嫌である。自分が楽しい事を最優先にしたい。伐り倒されて製材されるより枝葉を盛んに茂らす大木として立っているほうがよい。
という言葉に同感。OSSの世界では特に、三浦さんがおっしゃるところの「利用者」と「開発者」の両輪があって初めて回っている世界だと思う。「利用者」はこれまでの普及活動なり啓蒙活動なりがうまく回って、(内容は別として)それなりの母数に成長したと思うが、「開発者」はどうかと考えると利用者に比して増えているわけではないように思う。(僕はどちらかというと利用者側に目立たないところで種まきをしていた人ですが…) IPAの未踏やコンテストで成長する人は確かにいるのだけど、僕はこの方向ができる人は少数だと思うので、もっと敷居が低い世界があっても良いと思う。(敷居が低いと言っても、こんなにいろんな凄い人が集まることはないと思う。) 実際に一線で活躍している人に実際に会って、その姿を目の当たりにする_と言うことがどれだけ衝撃的なことか、「人材として育成される」のではなく、「主体的に成長する人」_に変わることができるきっかけがそこにあるのだ。ネットだけ見ていると忘れがちだけど、実際人に直接会うことで得るものは非常に多い。そういう人をいろいろ見ることで、何かしらの刺激があるはずなのだ。僕にはコードを書く能力ははないけれど、そういうイベントの開催を応援することは出来るので(実際には能力がないと見切っているだけで、磨けば何かあるかもしれないが話は別。) 今回は参加しようかなと思ったときには既に遅かったが、次回以降何かしらの形で参加できればとおこがましく思っている。
まあ少なくとも、三浦さんに会っていろいろ話をするようになってもうすぐ5年目になるけど、こんなにいろいろ刺激をくれる人はなかなかいない得難い友人です。すべてを答えられない自分の非力さを悔やむことはないわけではないけど、こんな僕でも凄く刺激になるのだから、こういうイベントの場に参加できれば、びりびりいろんな刺激を得られると思う。そんなわけでCodeFest 2005 JAPANを影ながら応援します。
確かに、発端になったであろう佐渡さんの記事での引用「コードも書かない人に言われたくはない」は確かに訴えるものがある刺激のある言葉ではあるけど… Tシャツ作ったら買います。(笑)