2007年2月28日水曜日

ImageMagick

写真の画像を一括変換してPDFにするとします。ImageMagickを使って、例えばデジカメで取った写真photo1.jpg, photo2.jpg, ..., photo10.jpgのコントラストを上げて、色を調整して、1つのPDFファイルにするコマンドは以下の通り:
> convert -adjoin -sigmoidal-contrast 3,0% -normalize photo<1-10>.jpg out.pdf


convert -thumbnail 100 'out.pdf[5]'
なんて書き方で、pdfの6ページ目(0 origin)だけを取り出してthumbnailをつくるなんてこともできます。

2007年2月20日火曜日

Fat Jar: Jarファイルの中にJarを埋め込む

Fat Jar Eclipse Plug-In

Javaで開発していて、他のライブラリのアーカイブ(Jar)を使っている場合、自分のプログラムもJarとして配布するときに、manifestファイルに適切に外部のJarへのreferenceを書いておかないと正しく動作しません。

通常は、classpathの設定を含めた実行スクリプトを一緒に配布することが多いみたいです。でも、スクリプトを用意するのは面倒ですよね。

そんな煩わしさを取り除くのが、Fat Jar。Jarの中にJarファイルを埋め込んでプロジェクト全体を1つのファイルとすることができます。

Fat Jarは、通常は、外部で参照しているJarを展開してJarの中に埋め込むのですが、One-Jarオプションを選ぶと、jarファイルを展開せずにそのままjarの中に埋め込みます。こちらの方が、構成内容がよくわかります。

Fat Jarを使うと、今まで、
java -cp lib/somelibrary.jar -jar myprogram.jar
などとしていたところを、

java -jar myprogram.jar

と実行するだけでよくなります。意外と知らない人がいると思うので、紹介しました。おすすめです。

最近はJARの作り方も事情が変わっています。2008年8月 http://leoclock.blogspot.com/2008/08/jarjar.html

2007年2月17日土曜日

プログラム開発でよくある失敗

Visual Studio 2003 (vc7.1)から、Visual Studio 2005 (vc8)に乗り換えました。

ただ、この2つで使われるマルチスレッドのライブラリのversionが違っていて、vc7.1でビルドしたマルチスレッドを使うライブラリ(dll)を実行時に使ってしまうと、原因とは脈絡もないところでメモリ関連のエラーが出てデバッグに苦しみます。

そういうときは、
> dumpbin /dependents (dllのファイル)
で調べます。
Dump of file xerces-c_2_7D.dll

File Type: DLL

Image has the following dependencies:

WS2_32.dll
ADVAPI32.dll
KERNEL32.dll
MSVCR80D.dll

MSVCR80D.dll が、MSVCR71D.dllなどになっていたら危険信号。結局、普段良く使っている、BerkeleyDBとか、Xerces-C++とかを再コンパイル。

その点BoostライブラリのWindows版はよくできていて、対応するコンパイラでビルドされたライブラリがない場合はちゃんとこのライブラリがない、と実行時に指摘してくれます。dllを動的に読み込んでるからこそできる技。

でも、こんなの慣れた開発者じゃないとわからないよなぁ。。。。C++の教科書読んだって書いてないもの。xercesだって、BerkeleyDBだって、vc7.1でbuildされたdllを注意書きもなくしれっと配布しているし。。。やれやれ。

2007年2月15日木曜日

南隊員が帰ってきます 「エースの願い」

ウルトラマンエースをご存知ですか?主題歌の歌詞にもあるのですが、北斗と南の二人が揃って初めてウルトラマンA(エース)に変身できる、という設定でした。

でも、番組途中で、突然、南隊員は実は月星人だった!という理由で、月に帰ってしまい、その後は北斗が一人でウルトラマンとして戦うという展開になっていました。

北斗と南は想いを寄せ合っていたはずなのに、あんな別れで良かったの?とか、実は大人の事情で降板させられた?とか、いろいろすっきりしない部分が残っていたのです。

ウルトラマンメビウス 第44話 「エースの願い」

予告編によると、今週土曜日のウルトラマンメビウスでは、北斗と南が登場するようです。どのような形でこの二人のストーリーに解決をつけてくれるのか、期待しています。

似たような例として、村山由佳さんの「天使の卵」というとても悲しい話がありました。これも、10年後、「天使の梯子」という作品で、主人公の悲しみにうちひしがれた心の整理を付けさせてくれています。ウルトラマンエースはおよそ35年越し。世代をまたがっているんですね。

2007年2月14日水曜日

A Diary Written in English

Today, one of my friends decleared that he will start to write his diary in English. His decision stimulated me, so I also tried to write down this blog in English.

The most difficult thing I usually experience when writing down English sentences is the choice of words; For example, there are many expressions meaning, 'write' in English.

According to a thesaurus, synonyms of 'write' are:
write down, jot down, put down, note, take down, record, register, log, list, sign, scribble, scrawl, pencil, compose, draft, think up, formulate, compile, pen, dash off, produce, etc...

I am a non-native English speaker, so it is quite difficult to understand such slight differences between these words, e.g. How different 'write' and 'write down' are?

To learn these differences of words/phrases is important, because I know, in English, the use of repetition of the same word is not a good writing style. But, even in this short entry, I have already used many repeats of 'write down'. Nevertheless, appropriate replacements of such phrases never come up to me. I guess it is just because the amount of words and phrases I learned from people who speak English is not sufficient.

Recently, there are many audio sources of English speaking people available from PodCast, Google Video, You Tube, etc. I am happy to collect these materials to improve my English skills, because there were no easy method to get raw English voices a few years ago.

However, I get discouraged considering how fast my four-years-old son learns Japanese. Everyday, he speaks Japanese even if what he said contains some grammatical errors or misuse of words. Thus, I understood that 'do not get embarassed' is a key to efficiently learn to speak a new language.

Another key that I have already lost and cannot be achieved is good memories of a child; it is not only about my son, but in general, children remember well phrases once they have heared.

Here is an interesting story. It has been a daily routine for me and my wife to read some storybooks for my son before he sleeps. When he was two-years-old, he couldn't read any Japanese letters. As we continued to read through the same books for many times every night, one day, he said "I read this today." And, to our surprise, he started to read the contents of the book without seeing any characters, but what he read was almost correct. Maybe, he remembered what we read to him by making a strong connection to the paintings in the book.

Now, he has completely mastered hira-gana and kata-kana letters, so we never see his astonishing reading from memories. It is a little bit pity for me.

Conclusion; Since I have no such good memories, what I can is to keep learning English.

このキーボード欲しい


Microsoftのキーボードの新製品 Wireless Entertainment Desktop 8000が、USER'S SIDE2で購入できるみたいです。テンキー無しでコンパクト、充電スタンドがセットなので、ワイヤレスキーボードの悩みの種だった電池交換が要りません。最近のマイクロソフトのキーボードは明らかに静穏性も意識しているので、キーがかちゃかちゃ鳴らないようになっています。周りの同僚に迷惑をかけることもありません。

でも、税込みで41,895円…。高すぎ。これまで高級キーボードの代名詞だったHHK Proとか、Realforceが2個買えてしまいます。でも、HHKや、Realforceは意外と打鍵音がうるさいのが難点。キータッチは適度に軽く深くで最高なのですが。

理想形は、ThinkPadのトラックポイント付きキーボードがそのまま外付けにできるものだと思います。。現在、市販されているものは、値段の割にキーがぺちぺちしていて作りが安物なんです。ノートブックのものと比べて明らかに品質が悪い。あまり自社の魅力を理解していないのか、単にキーボードなんてリターンの少ないものには投資していないのか。たかが外付けキーボードとはいえ、あの製品はブランド力を下げていますね。

2007年2月13日火曜日

Microsoft OfficeかOpen Officeか

僕自身、文書作成には、プログラマ御用達のEmacs (Meadow)を使ってテキストを作成することがほとんどなのですが、見た目にスタイリッシュな文章を作成しなくてはいけないこともあります。

ただ、一般に使われるMicrosoft Office製品は、英語を書くときには文法間違いやスペルミスを発見してくれて強力なツールなのですが、日本語文書を作成するときには、ソフトウェアの価格ほどメリットを感じないことが多いです。それでも、周りのみんなが使っているから、自分も使わなくてはという強迫めいたものがあります。重要な事務書類をWord/Excelで作成してください、ということが多く、使わざるをえないのです。

以前、NHKの特集で、官公庁がMicrosoft OfficeとWindowsから、コスト削減のため無料でまかなえるOpenOfficeとLinuxに乗り換えようとしているという話がありました。 でも、既存の文書のレイアウトが崩れてしまうなどの理由で、Windowsマシンも残しているとか。

特定のOSを選ぶ理由は、やはりアプリケーションにあります。今まで使えたアプリケーションが使えなくなるなら、それを上回る新しい魅力がないと、OSを切り替える気も起きません。

つまり、もうひとつ重要な観点があって、データを何年残しておくか?ということ考える必要があります。Microsoftは財務体力を得た会社だから、Vistaの普及が思うように進まなくて失敗したとしても、数年でつぶれるような会社ではないです。だから、Office製品が突如死に絶えてOfficeのデータが使えなくなることはないでしょう。でも、SunのCEOであるJonathan Schwaltz氏が指摘しているように、Web上で使えるGoogle Docsや、フリーのOpen Officeのように他に魅力的な文書作成ソフトが出てきたときに、Open Document Format (ODF)のような公開されている仕様で、文章を作成しておくと切り替えがスムーズにできます。OSが代わってもデータを生かしておくことができるのです。

スタイル(自分で登録したデザイン)を作成できて、アウトラインを作成できるという意味では、もう、無料のOpenOfficeでも、Wordと同等、あるいはそれ以上の機能が備わっていて、問題なく使用できます。PDFに変換することもできるので、PDF形式で相手に渡せば、Wordや OpenOfficeをインストールしてなくてもメッセージを伝えることができます。プレゼンテーション資料も、Open Office Impressで、見た目に遜色のないもの作れるので、PowerPointいらずです。今の段階では、PowerPointの方が動作が軽いのですが、スライドをPDFに変換してAcrobatでプレゼンすれば、動作も軽快ですし、OS依存部分を減らせるので、配布するときも喜ばれます。

MacOS Xでは、X上で動作するOpenOfficeを使うより、NeoOfficeを使うほうが動作が快適なようです。1万円を払う気があるなら、iWorkを購入して、PagesやKeynoteを使う方が最初から見た目のよいものが作れるし快適です。ただ、こちらは残念ながらODFには対応していないし、連携する表計算やデータベースソフトがないので、OpenOffice/NeoOffice、あるいはMicrosoft Excel, Accessのお世話になります。PDFやRTF(rich text format), Word形式の文書は作成できるんですけど。

表計算に関しては、簡単な計算式が書けて、ピボットテーブルが作成できればいいと思うのですが、それも、Excel, Open Office Calcのどちらでもできるようになりました。

ただ、Excelが断然優れているのは、グラフ作成機能でしょう。世の中には、グラフを作成する無料のツール(GnuPlotなど)もありますが、使いこなすまでの労力を考えるとExcelに軍配が上がってしまうのは残念。MacのPagesもなかなかきれいなグラフは作れます。

僕のPC生活

僕のパソコンの活用法を少し紹介。一般の利用者向けです。

最近、毎日持ち歩いても苦にならない大きさのノートブックPCが手軽に買えるようになりました。Windows XPはHome Editionでいいやとか(リモートデスクトップの機能が使えないですが、大きな違いはそれだけかも)、Office製品はいらないなどとあれこれ切り詰めてカスタマイズすると、20万円以下でも十分実用的なマシンになります。昨年にそういった構成でVAIOのType-Tを購入しました。液晶の解像度も高く、バッテリーの持ちも良い(7~9時間)のでかなり重宝しています。

そんなノートパソコンを、僕は、電子書籍代わりに使っています。デジカメで本を1ページ毎に撮影して、画像ファイルをまとめてPDFにしてしまいます。(Adobe Acrobatを使うと簡単ですが、画像をアルバムのようにPDFにするだけなら他にもいろいろツールがあるようです。) スキャナとかも試してみたのですが、デジカメの方が本のサイズにかかわらず撮れるし、1ページあたりに費やす時間が数秒で済むので、速いです。GoogleのPicasaなどの写真編集ソフトで紙の色などを調整すると良いかもしれません。PDF文書を読むときは、Acrobat Reader(こちらは無料)のショートカットキーを覚えると吉です。

Ctrl + 1, 2, ... ページの表示方法の切り替え
Ctrl + +(プラス)、-(マイナス) で、ページの拡大縮小。
Ctrl + L (全画面表示)

などなど。気が向いたときに本を撮影して、必要なときにじっくり読めるように持ち歩いています。職業柄分厚い本を読むことが多いので、本当に助かっています。


本当はもう1つ、ファイルのバージョン管理ソフト、Subversionについても書きたいのですが、とてもブログ1つに収まる内容ではないのが辛いところ。もはや僕のPC作業に欠かせないものになっています。USBメモリでも使えるはずなので、あまりパソコンに詳しくない人でも使いこなせるんじゃないかと思っています。その話題はまた後日。

2007年2月12日月曜日

ゆいちゃん日記

(以下ゆいの発言を僕がタイプしたもの)

牛肉を食べたら大きくなれるように、早くウルトラマンになりたいね。でぇ、、へへ、うーううーんんへへへ。インターネットでインターネットで光サーガウルトラマンメビウス拡大を見たいね。えええーー、へへえぇ。へへへぇ。。はあはあーーえへえええあははあーあーおもしろいーい。えへへへはは。たまにはけんかするけど、すぐに笑って仲直りする。パソコンでもちょっぴりは遊ぶけど、でも、ちゃーんと遊ぶのやめて、寝て、お風呂に入ってからは、泡泡のおふろに入って、寝て、ご本を読んで、電気を消して、また起きてから、UNOとか、オセロとか、公園で、サッカーとか、フリスビーとかをやったりで、遊んで、楽しくすごしました。おわり。

(えへへ〜などの発言は、文章が画面にタイプされていくのが楽しくて思わず笑ってでてきた言葉です。何も指示していないのだけれど、なぜか日記風に締めくくってくれたゆいちゃんでした)

文章を書く

最近、日本語の文章をいくつか書く機会がありました。

数ページ程度の文章だけれども、意外と時間がかかるものですね。頭の中にあることを文章化するときに、何も考えてない時間というのがあるようです。

普段から、物事をまとめて、人に伝えられるようにする習慣を持つようにした方がいいかも。研究のproposalを書く機会も増えるだろうし。


これとは関係ない話ですが、Bloggerのエディタでemacsのキーバインドが使えることに気づきました。快適です。

2007年2月8日木曜日

[MLB] 岩村なのに…(第2弾)

MLB.comのFantasy Baseballより。岩村の紹介で来季から巨人の小笠原選手の写真が載っています。今江選手を岩村と紹介したり、日本に関して何と正確な情報が伝わっていないことか。

ネットを検索すればすぐわかるようなことなのに…。英語を読める日本人は多いけれど、日本語を読めるアメリカ人は少ないってことの表れかなぁ。

2007年2月7日水曜日

Meadowを半透明化


Meadow3を導入するとウィンドウをMacのCarbon Emacsのように半透明にできると知って早速試してみました。動作速度もさほど落ちないし、満足のいく結果。rxvtのようなシェルも半透明にできるともっと快適なんだけどな。

修士論文発表会



昨日、修士論文の発表会を覗いて来ました。写真は大学時代のサークルの後輩でもある阿部君と西川君。二人ともきちんと動くものを作っているあたりがとっても優秀な人です。

さらっと発表してしまった内容でも、同じ場をくぐりぬけてきた経験から、その裏側には相当な努力があったことを察することができます。関連研究を調査して、研究テーマを絞り、独自の貢献を考え、それを形にする。言うのは簡単ですが、実現するのは大変なことです。

でも、そんな優秀な2人でも、攻撃されてしまうのが、修士論文発表の場。目の前で聞いているのが学部生のころからの師匠ともいうべき先生方なのですから、当然ですね。そんな先生と言えども、研究の内容を発表する側より理解しているということはまずありません。だから、うまく攻撃を交わすコツは、きっと、聞いている先生の目をみて、内容の理解を確認しつつ、対話するように順次プレゼンを進めていくことなんだと思います。

「ここまでは大丈夫ですか?」などと確認することで、質問する側も的外れなことを言っている不安から開放されてポイントを絞った攻撃になるので、答える方も対処しやすくなるのかと。 勉強になりました。

今後、それぞれの道に進む2人ですが、自分の魅力を最大限に発揮できるように、頑張ってもらいたいですね。

2007年2月5日月曜日

ウルトラマンメビウスが面白い

ウルトラマンメビウスが熱いです。4歳の子供と一緒になって見ています。

ウルトラマンシリーズ40周年記念作品ということで、怪獣やウルトラマンの出し惜しみがありません。最終回が近づくにつれ、過去のシリーズにでてきたウルトラ兄弟や怪獣が毎回のように出てきます。それも、最初の5分で。子供の頃にウルトラマンを見た世代(再放送ですが)の僕でも楽しめる作りになっています。プロデューサー・監督さんがまさにそういう世代らしいので、ツボをつかんでいるのかも。

今までのシリーズと違って面白いのは、主役のヒビノ・ミライくんが、氷川くんに似た感じでカッコいいし、サコミズ隊長もクールだけれども温かみのある演技で良いです。あと、地球防衛軍(GUYS)がわりと強くなっていることも魅力。結局最後はウルトラマンだけにたよって怪獣を倒すのではなく、協力して脅威に立ち向かう姿が描かれ、メビウスの窮地を救う場面もたくさんあります。

次回はヤプールが出てきます。様々な超獣を作り出し、ウルトラマンエースを苦しめたヤプールが、今度はエース・キラーではなく、メビウス・キラーを送り込みます。今から楽しみです。

2007年2月4日日曜日

収益構造のおかしい地域通貨「文(mon)」

Leo's Chronicle: 文京区 地域通貨 「文(mon)」にも書きました。

ここで地域通貨の仕組みの図が紹介されています。リンク先の図が削除されてしまうかもしれないのでまとめると、

・利用者は、地域通貨の運営元のNPO法人より900円で1000文を購入できます。
・地域通貨の加盟店は、1000文をそのNPO法人に渡すと1000円に換金してもらえます。

怪しすぎです。100円の差額はお店が法人に払う紙幣発行代と広告料だと思っていたのですが、そうではなかったようです。じゃあ、どこから差額を調達するの?利益配分ができないNPO。収益構造がないのに出資する人なんているわけないじゃん。

などと思っていたら、monは発行停止。東京新聞の記事より。不払いがたくさん残っているようで。。。詐欺だったのかな?

Jim Grayが行方不明

Silicon Valley’s High-Tech Hunt for Colleague - New York Times

大変。1月30日にJim Gray博士が行方不明になったそうです。GoogleやAmazonも協力しての捜索が続けられているとか。無事発見されることを祈ります。

僕は、データベースやトランザクション管理についてはJim Grayの本や論文から多くを学びました。いまでは、皆、Web経由でデータベースを当たり前のように使っていますが、mixiのようなデータを管理するサービスも、彼の貢献がなかったらまだ実現できていなかったかもしれません。

Jim Grayとは何度かデータベースについてメールのやりとりさせていただいたことがあります。まだ研究者として駆け出しの僕にも丁寧に答えてくれるような人だったので、本当に衝撃を受けています。

2007年2月2日金曜日

Defenceできました

ふぅ~。疲れた。とりあえず、無事審査が終わりました。
論文を修正するなりして、晴れてPh. D. です。

発表はけっこう難しいものですね。さほど緊張はしなかったのですが、研究分野が違う先生方にも、うまく内容を伝える努力が必要なようで。これは今後の反省材料。今まで、同じ興味を持った人にしか話をしていなかったので、これは当然といえば当然。勉強になりました。

意外だったのは、先生方が育てることを意識して、コメントをくれる点。専門に関しては臨機応変に話ができるけれど、それ以外の観点からの話になるとうまく答えられないところがあったりする様子をみて、もっと広い世界を見ておいで、というように。

これは、必ずしも研究分野を広げるということではないですね。自分の居場所を見失わないように、周りを見ることの大切さを教えてもらった気がします。

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.