2010年11月09日

『サーバ構築の実例がわかるSamba[実践]入門』



/

日本のSamba技術者の第一人者である高橋基信氏の叡智がここにある。

SambaはUnixシステム上でWindowsサーバの機能を提供するオープンソースソフトウェアであり、家庭や中小オフィスでのファイルサーバ機能から、Windowsドメインと連携した大規模なユーザサービスまで、幅広い用途に使われている。 と共に、その汎用性のために設定はわかりやすいとは言えない。設定は単一テキストファイルのsmb.confにずらずらと並び、同じようなパラメータがいくつも存在し、バージョンによって適切な値が変わっていたりする。インターネットで情報を探しても、古い情報にまどわされて、現在では不適切で危険な状態に置いてしまうこともある。

本書は、小〜中規模のSambaシステム(単純なファイルサーバから簡単なドメイン構築まで)の構築を、その名のとおり実践的な面に特化して説明する。 Samba3系を基盤として、緻密さを得意とする著者らしく、Debian、CentOS、FreeBSDという3つの異なるOS(かつほかの派生・関連ディストリビューションに応用の効きやすいOS)それぞれでの検証をみっちりと行い、各OS固有の事象やSamba3の各バージョンでの機能差異についても詳細に記述している。

インストール、日本語設定、ユーザ管理、ファイル共有、ACLやファイル属性、Windowsドメイン参加、Winbind、ドメインコントローラ化、クライアントコマンドと、構築を進める上での流れはひととおり網羅しており、初めて使ってみるなら最初から読み進めてファイル共有まででひとまず完成、現在Sambaを運用していていまいちあやふやな点があるという人は好きな箇所を拾い読みする、という読み方になるだろうか(私の場合、インストール時によく登場して謎だったサービス「Winbind」の機能が本書で明瞭になった)。

Samba初心者から上級者まで、Sambaの管理者なら必携の1冊。

2010年05月27日

『プログラミングRuby 1.9 言語編/ライブラリ編』



/


/

長かった……。Subversionリポジトリにr1が作られたのが2009年2月13日16:50:13。翻訳の田和さんが2009年5月から翻訳をコミットし始め、2010年1月から本格的に編集が始動。レビューア陣からの多数の指摘、監訳のまつもとゆきひろさんの判断を受けて、改善が重ねられた。 そして、r1071のタグをもって、世に出されることとなったのが本書である。

------------------------------------------------------------------------
r1071 | 2010-05-22 13:02:45 +0900 (土, 22  5月 2010) | 1 line

Tag r1070 as 1.0 (1st print).
------------------------------------------------------------------------

本書は、うさぎ本こと初版の『プログラミングRuby——達人プログラマーガイド』(ピアソンエデュケーション)、出版社を変えての改訂版となる『プログラミングRuby 第2版 言語編/ライブラリ編』(オーム社)を受け継ぎ、Rubyの入門者からアドバンスドなRubyハッカーまでをターゲットにした、王道Ruby本の改訂第3版だ。

本書は「第3版」ではなく、「1.9」というバージョンをその書名に刻み込むことをあえて選んでいる。Rubyプログラマにはご存じのとおり、Rubyは1.8から1.9へのバージョンアップに伴って大幅な変更が施され、(多くはないが)通用しなくなったもの、通用はするがより良い方法があるもの、そしてたくさんの新しい追加されたものがある。著者のDave Thomas、Chad Fowler、Andy Huntは、これらを丹念に調べ上げ、1.9のリファレンスとして通用する書籍を作り上げた。

それでも、これほどのボリューム(邦書は上下巻で950ページ超)ともなると、技術的な誤りや著者の思い込みが紛れ込む余地はあるし、バージョン1.9ではモアベターなプラクティスもある。 また、日本語翻訳版の本書のターゲットは、日本語を読み書きの言語とする読者であり、日本語として読んだときに滑らかに頭にインプットされることが何よりも重要と言えよう。

そこで登場するのが本書のレビューア陣である。L.Chinさんや卜部さん、笹田さんほか多数のRubyの最前線で活躍し情熱を持つ人々が集まり(本当に豪華だ!)、「Ruby 1.9対応を謳った、日本語で記述された良書」と呼べるにふさわしいものへと本書をブラッシュアップするために惜しみない力が注がれた。

そして、製作に当たったオーム社開発局の皆さんの尽力に言及しないわけにはいかないだろう。 これだけのボリュームの書籍の改訂出版に踏み切る勇気はもとより、途方に暮れそうな原書の原稿ソースファイル(TeX+超絶マクロ)から日本語TeX組版システムに乗せるのは大変な試練であったと思われる(自分なら途中で諦めて別フォーマットにしていただろう……)。その苦労の甲斐あって、本書でもオーム社おなじみのコミット&即組版&プレビューのイテレーションを実現し、1.9での新機能を示す「1.9」マーカーの配置、上下巻にわたる目次や索引・相互参照の処理等々のタグ+バッチ型ならではの利益を得ている。

Rubyの初心者には本書の言語編の最初から読んでいくことで、着実に知識が身に付いていくことだろう。中級者は言語編とライブラリ編にある1.9のマーカーを追いながら新機能にチャレンジしてみるのもよいだろう(特に文字列のエンコーディングや、高機能になった正規表現は必見)。上級者は本書をぱらぱらと斜め読みして、鋭くツッコミを入れるなり、新しいライブラリの開発のヒントの着想とするなりしてみていただきたい。

2010年05月22日

『ルンバ577』



/

いわゆる自動掃除器。いろいろな評判を聞いて検討の末、先月初めに購入した。 その振舞いから、家では「グレゴール・ザムザ」、略称「ザムザ君」と名付けられ、日々活躍している。 1ヶ月半の様子を見ての、ザムザ君のインプレッション。

日本向けのルンバとしては527、537、577とある。カラーは537が一番すっきりしているのだが、タイマー起動があるのは577だけ。 写真で言うと、上側の分厚い弧がクッション型バンパーで、内側の黒い弧は人が持ち上げるときのハンドル。大きさは直径34cmあり、実際に見るとそれなりにでかい。

吸塵能力は高い。腹で吸い込むと共に、触覚のような小さな回転ブラシで取り込むので、壁沿いもわりと綺麗にしてくれる。とはいえ、サイズ的にどうしても入れないところは取り残しはできてしまう。同じようなところをぐるぐる周ることはあるが、最終的には1時間ほどでひととおり全体をこなせるようだ。 とはいえ、完全ではない感じ。ひとところをひたすら何度もやったかと思えば、えらく淡白に終わらせてしまうところもあり。577には、ブロックまたは部屋区切りを指定するための発信機が2つ付属しており、これを使ってうまく誘導する必要がある。充電ステーションも一種の部屋区切りシステムのようで、思ったように誘導するのは困難だ。場合によっては物理的に区切って今日はここを、という使い方のほうがよいかもしれない。

音は大きめ。手動掃除器ほどではないにせよ、何度もやってくるし、家具への衝突音も頻繁(ガラスなどは置かないほうがいい)。段差は5mmくらいのは越せる。1cmでも勢いがあるときなら乗り上げる。スタンドのようにナナメになっている構造物だとそのままがんばって登ることもある。スリッパやゴミ箱のような軽いものだと、押し切る。落下防止のために段差は一応判断するけれども、完全とは言えなくて、たまに玄関に落ちていることが。階段のある家では、念のためにブロックしていないとたいへんな惨事になるかもしれない。

天敵はラグやケーブル。フリンジのあるラグは当然絡んで動けなくなるし、なくても、押しつけて乗り上げてにっちもさっちもになることがある。ケーブルはプラスチックのケーブルカバーを取り付けてみたけれども、それを絡めて曲げちゃうほどのパワーがあるので厄介。ケーブルが絡むとブラシが折れることもあるようだ。また、オフィス用の椅子の足はちょうど高さ的に挟まりやすく、ここにハマると動けなくなる。

スケジュールは曜日ごとに何時に開始するかを設定可能。清掃状況にかかわらずだいたい1時間で切り上げてステーションに戻るようだ。 付属品としてリモコンがついているが、自動作業中に移動方向をちょっと変えたいというものではなく、完全に自分で操作するためのもの(押した途端に自動作業は終了する)。これは使えない…。

日々のメンテナンスは比較的容易。写真で言う下側がゴミ容器になっているので、これを外して、適当なハケで落とす。毎日やってもけっこう出てくる。一体どこからこのホコリは出てくるのやら…。なお、家ではザムザ君という名前なので「ほーれ、このクソ虫さん」(新訳版)などとぶつぶつ呟きながら作業すると雰囲気もばっちりである。今のところは車輪への絡み込みなどはないけれども、たまに見てあげないと危険かも。

正規で購入すると、1年での無料メンテサービスが付く。寿命・故障を前提にしているのか、交換部品の案内やサードバッテリを使用する際の諸注意といったものが妙に充実しているのがちょっとおもしろい。

床しか清掃できず、希望の場所をやらせるのにちょっとクセはあるけれども、実際使ってみると確かに便利。ザムザ君が作業しやすい環境を提供するために、床になるべく物やケーブルを置かないようになり、すっきりするという副次効果も。

2010年05月05日

『セキュリティの神話』



/

監訳の葛野さんとオライリー社から献本いただいた。ありがとうございます。

著者はアンチウイルス企業McAfeeでCTOを務めるJohn Viega氏。作中、オープンソースへのコミットメントの例にMailmanを挙げていたのでchangelogを見たところ、確かに1998年にいくつかのパッチをコントリビュートしていたようだ(ただそのMailmanといい、Eric Raymondのfetchmailといい、どうもこの手の例題に出される作品は「筋が悪い…」のが多い気がしなくもない)。

本書は、Viega氏の考えるセキュリティおよびコンピューティングを綴った45章からなるエッセイ集だ。扱う範囲は広く、技術的なものからソーシャルなものまで言及しているが、技術的な細部には立ち入りすぎないように配慮されている。とはいえ、マルウェアの解析やパターンシグネチャの仕組み、現在および今後発生し得る攻撃手段など、必要とあらば詳細にも踏み込んでおり、軽薄に終わることはない。

McAfeeを擁護するわけではないと言いつつも、「私がかかわってからはずっと良くなっている」と書いてしまうのはご愛嬌。2006年3月にExcelのシグネチャ誤検出をして削除をしてしまった経験からMcAfeeが懸命に改善に取り組んだというのも、つい2010年4月にWindows XP SP3を止めてしまったという騒動が記憶に新しく、苦笑せざるを得ない(難しいことだとは思うが)。 提案される内容とセンスがちょっと古臭い(「AntiVirus 2.0」とかなりすまし対策とか)のもズッコケるところだ。

同じ「神話」でも『人月の神話』(Frederick Brooks著)に比べると、内容はちょっと粗が目立ち、意見もあまり同意を得にくい面はある——特にオープンソース/フリーソフトウェア派には身構えそうな箇所も。ただ、情報セキュリティを考える上で、専門ではない人にもなるべく平易にしようという挑戦は感じるので、セキュリティやアンチウイルスにちょっと興味はあるけれども詳細はよく知らないという人には、悪くない本だと思う。

なお、Amazonの書評にもあるとおり、大きいのから小さいのまで誤殖はちょっと目立つな…という印象(これは版元に報告しておくつもり)。

2010年03月02日

『プログラミングClojure』



/

オーム社様から献本いただきました。ありがとうございます。

関数型言語の第一人者の川合史朗さんによる翻訳ということで、楽しみにしていた。

Clojureは、Java VM上で動作する関数型言語だ。JavaをαとかHotJavaとかの時代に遊んでいた頃からすると、昨今のJVMの新たな展開には驚くべきものがある。

Lisp系関数型言語の一派だけあり、Clojureでもやはりカッコは多いものの、それでも少なくするような書式にはなっているらしい。標準で用意されている関数名/マクロ名は英語文法的といえばそうなのかもしれないが、覚えにくかったり用途を想像しづらい名前が多いように感じる。to-array、into-array、interpose、some、macroexpand-1、trampoline、……。

Javaと密接にかかわっているだけに、ClojureからJavaオブジェクトのメンバフィールド/メソッドを見たり、リフレクションを使ったり、Javaオブジェクトを作ってメソッドを呼び出したりといったことがごく簡単にできる。関数型言語でJavaを包んだという雰囲気だろうか。JVM上でならどこでも動くわけで、組み込みなどの用途も(関数型言語が好きなら)あり得るというわけか。

紙面はシンプルなレイアウト——というと聞こえはいいが、コード系に全部同じ等幅書体を使っているため、関数名なのか、任意値なのか、単なる文字列なのかが区別が付けずらい(前述のようにClojureの関数名はどうも覚えにくいため、余計にそう感じる)。 日本語本として読むからには頭のコンテキストスイッチの切り替えをそれほどしなくて済むよう、任意値のところは日本語になっていてほしい、せめてイタリックなどを使ったほうがよかったのではないかと思う。文章自体はこなれていて読みやすいだけに残念なところだ。

全体を読み通した感想としては、「Clojureってなんか不気味……」という形容しがたいもの。でも、柔軟性の高い言語な上に、必要に応じてライブラリの揃っているJavaコードを呼べるのは便利そうではある。何とも言えぬ不気味な感じは拭い切れないものの、『情熱プログラマー』にもあるように別世界の知識を得るために飛び込んで使ってみることも必要かと思う今日この頃(Do it now!)。

2010年02月26日

『情熱プログラマー —ソフトウェア開発者の幸せな生き方—』



/

でびあんぐるとして共同監訳した書が刊行されました。

本書は、Chad Fowlerの前著『My Job Went to India』(邦訳版も同名)の改訂版です。 前著ではオフショアによる職喪失の危機に対してプログラマはどのように生き残りを図れるかということに重点が置かれていましたが、今回の改訂ではタイトルも改め『Passionate Programmer(情熱プログラマー)』となり、よりポジティブに、プログラマ人生をどうやって充足したものに変えていくかを綴ったエッセイ集となりました。

前著と同じエッセイもいくつかありますが、一新された部分も多くあり、前版を読んだという読者でも十分に楽しめる内容になっていると信じます。今回の邦訳では、角谷さんやレオさんらの素晴しいレビューア陣の助力を得て、前版よりもさらに魅力的な文章へと磨かれています。

本書の内容は基本的にいわゆる"マッチョ"系で、「下を向いてるだけじゃだめだろ! さぁ、やろうぜ!」という、疲れきった心身だとちょっとこたえるくらいのアツさ、まさにカバーの「赤い葡萄畑」(ゴッホ)から感じるような熱気に満ちています。しかしながら、その本質は本書末尾のエッセイのタイトルでもある「楽しもう」ということであり、人生を自分で選択して楽しいものに変えていくためのプラクティスなのです。

本書の主な想定読者はプログラマですが、紹介されるプラクティスの大半は、どんな職業あるいはどんな人にも応用可能でしょう。「自分が一番の下手くそ」だと感じる最良のグループに参加する、心の師匠を持つ、本番の日のために日々練習する、自身の行動を毎日自問する、失敗し学習する、顧客やマネージャを彼らの分野での専門家と考えて学ぶ、昨日より今日はよくなろうと努める、楽しむ、……。すべてをこなそうとしなくても、Chadが勧める行動を1つ2つ始めていくことで、退屈でぼんやりしていた人生が少しずつ明確に見えてくると私は思います。私の行動原理には、『My Job Went to India』『情熱プログラマー』が少なからず影響しています。

2010年01月28日

『OpenCL入門 —マルチコアCPU・GPUのための並列プログラミング』



/

最近編集・DTPを担当した上記書籍が刊行されました。表紙も中身もクールなので、ぜひ手に取っていただきたいと思います。

既存のCPU/MPUの処理能力の向上が頭打ちになる中、昨今大きな注目を集めているのがGPGPUプログラミングです。GPUはCPUの補完的な機能として画像処理を専門に担当するプロセッサとして開発されましたが、高速性と高度な描画表現の要求に応えるべく進化の進んだ結果、単純ながら多数の演算装置を持つ超並列計算機としての性質を持つようになっています。 GPGPUプログラミングは、GPUをグラフィックではなく汎用目的として、フーリエ変換やデジタル画像・音声処理、各種のシミュレーション、クラスタリングといった並列計算に用いるものです(たとえばNVIDIAはグラフィック出力ではなく計算のみに特化したGPUも製造しています)。

GPGPUプログラミングでの問題は、プロセッサ、コンパイラ、組み込み環境の有無といった違いに応じてそれぞれプログラムコードを対応させなければならず、移植性が低く、学習しづらいことでした。そのための解決が「OpenCL」です。OpenCLは、C言語を拡張した並列プログラミング言語およびそのランタイムAPIをセットにした環境です。ほぼC言語と同じ感覚で、プロセッサの違いを意識することなくプログラムコードを記述でき、移植性と学習の容易さを提供してくれます。また、パフォーマンスを最大限に引き出すチューニングも可能です。OpenCL環境はLinux、Mac OS X、Windowsと主要な各種OS向けに提供されています。

本書は、この新しい技術基盤であるOpenCLを解説した日本初の書籍です。 著者陣は並列計算やCellプログラミングの分野で高い技術力を評価されているフィックスターズ社のメンバーで構成され、技術的内容にかけてはまず安心と言えます。 すでにバリバリとGPUプログラミングを使い込んでいる方には物足りないかもしれませんが、OpenCLの概要、並列化の概念、言語仕様と既存CコードのOpenCL化のテクニック、フーリエ変換、画像処理、市場シミュレーション、パフォーマンスチューニング、とOpenCLを始める基礎となる知識が盛り込まれており、入門として適しているでしょう。

2010年01月25日

『HTC Tattoo』

海外でのモバイル環境としてそろそろちゃんとSIMフリー端末がほしくなった。iPhoneでもJBすれば一応できるが、iPhoneのJB+SIM unlockはいつまでできるかはわからないし3.1でのunlockは副作用もあるのであまりやりたくない。それに、iPhone、あるいはGoogle Nexus Oneあたりは高額なので、ひったくりやスリの多い地域で持ち歩くのはちょっと躊躇する。 ほしい機能としては、SIMフリー、通話、Google Maps、メール、フルブラウザ、カメラ。TwitterやIRCができればなお良し、というところ。

ということで、Android 1.6塔載で小型、廉価となかなか条件の揃った「TC Tattoo」を購入してみた。

輸入業者は1ShopMobile.comで、US$での決済。本体が$309で送料$25の計$334。今はドル安なので、下手に欧州などで現地購入するよりも安い。クレジットカード決済もできるようだが日本のカードだとうまくいかないこともあるらしいので、Google checkout経由で申し込んだ(1/20午後)。Google checkoutだと運送保険が付けられないようなのだが、まぁ壊れるものでもあるまい、と。1/21夕にはEMSの追跡コード付きで発送連絡。香港から航空便、22日夜には税関を通過して、23日の午前には配達がきていた。早い! この日は東大のBSPに参加していたので、再配達をお願いし、無事に受け取り。


梱包はかなり厳重で、iPhoneっぽい元々の箱をぷちぷちで巻き、それをさらにビニール質の梱包袋でくるんでいる。もちろん中身はまったく平気。製品としてはイギリス仕様らしい。


ご開帳。本当にiPhoneみたいなセットである。本体にはすでに(やや厚めの)保護フィルムが貼られている。付属品は、micro SD 2G(内蔵)、充電/データ通信用のmini USBケーブル、USBプラグのあるACアダプタとそのコンセント(イギリスプラグをアダプタに取り付け、その上に日本/USのアタッチメントを取り付ける形。プラグを付けたら二度と取れなくなった気配…まぁいいんだけど)、ステレオイヤフォン。あとは保証書と薄いマニュアル。


iPhoneと比較。厚みは同じくらいで、縦横サイズは2回りくらい小さい。スペック表によると、106x55.2x14mm、113gらしい。コンパクトでなかなかいいね。iPhoneと違ってストラップを付ける場所もちゃんとある。


SIMは裏蓋、バッテリを外して挿入する。とりあえずアクティベーションのためにソフトバンクの黒SIMを刺してみた。microSDを入れるにも同様に取り外す必要がある。これはちょっと面倒だね。


起動。HTCロゴ→Vodafoneロゴ→Androidの「見てるヨー」アニメーション(かわいい!)→HTCロゴ(このときに爆音でジングルが鳴る。音量調整も不可。JBしたら消せるんだろうか…)となって、ようやく操作できるようになる。起動まではわりと時間かかる。1分くらい?

マニュアルによると本当はここで言語やSIMやメールの設定などがあるみたいなのだが、無意識にスキップしてしまったのか、そのままホーム画面になった(その後誤って完全リセットしたら、ちゃんと設定手続きが出てきた)。

入っている言語は英語のみ。ファームはAndroid 1.6、ベースバンドは13.29.55.3H_3.35.07.31、カーネルは2.6.29-gf922713、ソフトウェアバージョンは1.67.161.18。 通話は問題なくできる。クリアだし、コンパクトな分扱いやすい感じ。パケットは怖いので試していない。USBモデム化してテザリングすることもできるっぽい。Linuxで動くかどうかは不明だけど。 あれ、SDカードが認識されていない?

とりあえずアクティベーションは終わったのでSIM戻すか、と思ったところでたいへんな事態。裏蓋がまったく開かない。最初のときにはすぐに開いたのに、「Androidマークを押しながら上にスライドして開けろ」というマニュアルのとおりにやってはみたものの、がっちり噛んでいてらちがあかない…。しょうがないので手持ちの精密ドライバで無理矢理隙間を作って開いたけれども、早速傷物にしてしまったヨ。ちなみにTattooは「着せ替えケータイ」っぽい売り方をしているようで、今回傷物にした部分も含めてケース全部交換して好きなものにできるようだ。検索するとカラフルなのがいっぱい売られている。日本では買えないけど。 SIMは外し、SDカードを刺し直し。開けるために力をかけた際に完全リセットがかかってしまい(メニューと電源ボタンを長押しでこうなるようなのだが、上から押しつければそりゃ両方押されるよな…)、前述の設定手続きが出てきてた。さっきいろいろ設定したものが全部消えててちょっと泣ける。SDは認識された。


デフォルトではいろいろ不足なので、Androidマーケットで無料アプリ(有料はdocomo SIMかJBしないとだめっぽい)をいくつかインストール。 端末自体は英語モードではあるけれども、フォントはUnicodeのものが用意されている(ちょっと中国語っぽいが)ので、Android共通として適当なツールさえ入れれば日本語の使用はほぼ問題ない。 日本語入力として比較のためにsimejiとopenwnnの両方。リーダの性能を見るためにVTextViewer。メッセージロケールを追加するmore locale2。そのほかにToggle Settings、AK Notepad、ES Task Manager、AndChat、Google Newsなど。 Twitterのクライアントはデフォルトでpeepというのが入っていた。それほどは悪くない感じ。メールもデフォルトのMailでとりあえずIMAP+SMTP Authの設定ができた。

期待していた機能は全部あり、すばらしい。小さく軽いので、日本で出しても売れそう。 あまり速いプロセッサではないので、動作としてはキビキビよりももっさり感はある。画面は小さい(2.8" TFT-LCD)が、可読性には問題ない。このQVGA(240x320)だとアプリによっては対応していないみたいね。バッテリは3時間ほど遊んで半分くらい消費。G1同様に毎日充電すれば困らない程度かな。

デフォルトの入力(英語)もなかなか使いやすい。タイプ時に振動でお知らせするのだけど、その振動は、Wiiのコントローラで画面外に出したときのような「もこっ」とした感触がある。アルファベットは入れやすいけど、数字の入力にはちょっとまだるっこしいかも。とはいえ、何も見ずに使ってみただけなので、用意されているチュートリアルをちゃんと実践すればいいのかな、とは思う。simejiとWnnはどちらもそれほどは違いはない。画面が小さいぶん、ちょっと打ちにくく、ミスタイプしやすい。フリックより携帯打ちモードのほうがいい気もする。画面の上のほうの感度がやや低いので、Notificationなどはメニューからいったほうがよさそう。ダブルタッチは対応してないみたい。

Wifiは11b/g。まぁ使用用途的にも特にこれで困らない。Bluetooth 2.0はそのうちヘッドセットがちゃんと動くか試したいところ。オーディオフォーマットはMP3やAAC、WMA9などの主だったもの、ビデオはMPEG4、H263、H264、WMV9に対応。SDに普通にベタでファイルを置くだけで、iTunesみたいな管理はしてくれない。Flashも未対応。

FMラジオが付いているけれども、90MHz-110MHz帯なので、日本の放送はほぼ入らない。ハックして使えるといいんだけど、ハードウェア的なものっぽいよな。コンパスや加速度センサもあるみたいだけどいまいちどうなるのか不明。


カメラはいまいちというか、「いまに」くらい。解像度は高いが暗くて感度も低いためぶれやすく、W53Sあたりとあまり変わらない。さっと撮るにはiPhoneのほうがいいね。

iPhoneから乗り換える!という類のものではないけれども、海外旅行に持っていって現地プリペイドSIMを刺すという使い方ならベストに近いものじゃないかと思う。rootもすでに取れる雰囲気らしいが、元に戻せる保証がないので今のところは手を出さず。中国フォントもそれほど気にはならないし。


裏蓋を開けるのに精密だと傷だらけにするわりになかなか開かないので、ホームセンターでコーキングヘラを買ってきた。100円ショップも見たんだけど、ケーキナイフ・もんじゃヘラ・スクレーパーあたりでは薄さが不足してだめっぽい。少々でかいがこのコーキングヘラを使えばぱちぱちと開けられるようになった。これで勝てる。ステンで外観は刃物っぽいので、機内持ち込みは駄目だろうな…。

2009年11月26日

『The R Tips 第2版』



/

データ解析ソフトウェア「GNU R」の解説書。Rは数値統計解析用のフリーな言語環境で、マルチプラットフォームで動作し、大きなデータ集合の高度な演算のほか、グラフィカルライブラリと連携してグラフ描画などもできる。機能拡張のための「パッケージ」も各種開発されており、CRANライブラリからダウンロードできる。

もともとは2005年に九天社から発行されていたものだけれども、この出版社が倒産してしまったため、原稿を引き上げて加筆修正し、改訂という形でオーム社から新たに発行された。 私は編集・組版として制作をお手伝いさせていただいている。 旧版からそれほど大規模な変化があるわけではないが、読みやすさはだいぶ上がっているのではないかと思う。裏側では、今回数式にTeX2imgを使ってみたり、Windowsメタフォーマットの図版の加工にいくつかスクリプトを用意したりといったチャレンジもしてみた。

著者はWindows、私はDebian GNU/Linux((r-baseメタパッケージでひととおり配備される)という環境で検証作業を進めたが、本書掲載の例を実行するだけでも、Rの強力さと構文の簡潔さには驚くものがある。たとえばこんな感じ。

# グラフの出力例
> curve(sin(x^2) * exp(-x^2), -pi, pi)}
> curve(sin(x^2) * exp(-x^2), -pi, pi, n=20)

CRANからの追加機能のインストールも簡単だが、Debianの場合はdebパッケージとしても揃っていて今もunstableではどんどん追加されており、実にお手軽。 東京エリアDebian勉強会でもR(など)入門のセッションが開かれるなど、今なにやら統計解析が熱い雰囲気である。

2009年10月30日

SENHEISER BluetoothステレオヘッドフォンMM 200



/

iPhone用に購入して使用している。ペアリングなどの設定は至極簡単。曲再生の音質もこのクラスで悪くないほうだと思う。電話がかかってくると(本体の呼び出し音のほかに)ピピピっという音が鳴り、ヘッドフォンの再生ボタンを押せば通話できる。マイク音質も相手方で問題ない模様。iPhone OSの制限上、可能な操作は再生/一時停止、ボリューム調整のみ。巻き戻し/早送りができないのはちょっと痛いが、気になるなら「VMCSettings」あたりを調べるといいと思う(お勧めではないし本質的な解決ではないが……)。有線のときと違ってiPhoneまわりがごちゃごちゃしないのは嬉しい。インナーに付けるパッドは大きさの異なる3種類が用意されている。充電はUSBケーブルで、ACアダプタも使える。1日2時間程度の使用でバッテリ警告が出る前に充電してしまっているので、本当にどの程度持つのかは調べていない。

とはいえ、欠点もいくつかある。最大の問題は音量。iPhoneはBluetoothにはLINE OUTで音を出すため本体のボリューム設定は効かないのだが、ヘッドフォン側で調整可能な最低音量がかなり大きく、音源によっては辛い。代理店に問い合わせをしてはみたものの、ファームウェアへの要望として上げてはくれたそうだが対応される見込みがあるかはなんとも言えないとのことだ。音源を全部音量下げた形で作り直すか、iPhone/iPodのイコライザで少しでも音が丸くなるものを選択することになってしまう。今のところイコライザの「Small Speaker」でしのいでいるが、後ろからくる車や自転車の音を聞き逃すことがあるのでちょっと危ないかもしれない。

もう1つの問題はラグで、これは無線のためにしょうがないのだが、曲再生・停止に0.3秒くらいの遅れがあるのはよいとして、通話でもこの微妙な遅れが発生しているようで、衛星中継のような会話の噛み合わせズレが起きることがある。こちらはそういうものだという意識であれば済む話なので、音量に比べれば大きな問題ではないかな。

日頃から音漏れするくらいの音量に慣れている方なら、まったく抵抗のない製品だと思う。

2009年09月19日

『Xen徹底入門 第2版』



/

前版に引き続き、制作のお手伝いをさせていただきました。 前版ではごく数章のみのヘルプだったため、最終的な成果物の品質に関して非常に忸怩たる思いがありました。 そこで今回の改訂にあたっては、いくつかの章の編集担当のほか、(終盤になってではありますが)文章全体の修正にかかわらせてもらいました。時間的・職分的な事情のために実現できなかった心残りはいくつかありますが(内容構成に冗長・淡白なところがあったり、似た内容が別々の章で繰り返されているなど)、前版よりもずっと本として読みやすくなっているのではないかと思います。

本書は、Linuxでの仮想化機構の雄である「Xen」を全般にわたって解説したものです。 プラットフォームとしてCentOS、Debian GNU/Linux、それにopenSUSEを用いて、 Xenの特徴である準仮想化、完全仮想化、マイグレーションといった機能を詳細に説明するほか、 LVMやNFSブート、iSCSI、VNETといった周辺技術についての踏み込んだ紹介、 各ドメインのセキュアな運用方法、と「徹底」と名乗るだけのボリュームを誇っています。 最終章にはXenの商用製品Citrix XenServerのガイドもあります。

Xenでの仮想化環境を計画あるいは運用されているという方には必携でしょう。

2009年06月15日

『iPhoneアプリケーションプログラミング』



/

iPhone自体は所有していないのですが、組版のお仕事で本書にかかわりました。

iPhone本はいろいろ登場してきていますが、本書はそういった中でも、著者がプロフェッショナルな書き手兼元Appleという点で、とてもわかりやすい書籍だと思います。 著者のこだわりの1つとして、本書を購入した方にはブラウザ版のドキュメントも入手できます(カバーにクーポンが付いています)。

組版においても本書ではいくつかのチャレンジをしてみました。XMLによる機械組版はいつもどおりですが、これまでのReVIEW経由ではなく、著者がXHTMLで記述〜XSLTでXML変換までを担当し、これをAdobe InDesign向けにこちらで修正を加えて、データ投入するようにしています。ファイルのやり取りはすべてSubversion上で行いました。マスターデータをXHTMLとする、という約束事ができているので、初校〜入稿のプロセスもスムーズに進んだと思います。また、コラムや側注の処理などにも改善を施しました。InDesign+XMLから独立テキストフレームを扱うのはまだまだ課題が多いですが、たとえば側注に独立テキストフレーム+アンカーを使うようなスクリプトを作ったので、今後活用できそうです。

表紙もモノトーンのクール系でなかなか良い感じですね。

2009年04月21日

『DEBUG HACKS』



/

takesakoさんがすでにレビューを書かれているけど、私のところにも献本いただいたので(ありがとうございます!)、ひととおり読んでみた。

オライリーのHACKSシリーズは、「単発だとブログのネタかWeb記事くらいにしか商業的にできないよねぇ」というちょっとニッチな小ネタ話題をある大まかなテーマで網羅的に収集している。「基礎知識から徐々にステップアップして…」といった構成のがっちりした書籍に比べると情報が散在してわかりにくいという欠点はあるけれども、「〜をしたい」という目的ドリブンな読み方・調べ方には便利だし、著者が身軽かつ楽しく自分が好きなものを書けるという利点があると思う(ただ、本書については発行スピードが最優先だったのか、日本語の品質にちょっと首をかしげるところも散見されるが)。

本書はその名のとおりコードの「デバッグ」がテーマだ。本書の「はじめに」でも述べられているように、プログラミングの入門書はあっても、デバッグの入門書というのはこれまで存在しなかったジャンルだ(テスト手法やコードレビュー手法などは人気だが)。本書ではフリーソフトウェアにおけるデバッグツールの代表格のgdbの使用方法を詳細に説明するほか、x86/x86-64のアーキテクチャおよびアセンブリの知識、valgrind等のツールの使用方法などを紹介する。gdbについて実践的に記述された書物というのはそれだけでも貴重だ。

ページの多くを割いて説明しているのが、LinuxカーネルおよびGNU/Linuxユーザランドアプリケーションのデバッグだ。吉岡氏を始めとする著者陣はすべてMiracleLinuxの社員で構成され、特にカーネルのデバッグについては序文を寄稿されているMatz(まつもとゆきひろ)氏が言うように「歴戦のプログラマが経験から獲得したバグの見つけ方・直し方が満載」である。Oopsの解析、クラッシュダンプ、ロックやセマフォの解決、OOM Killer、プロファイリングなど、著者陣の血から得られたLinuxカーネルのデバッグハックが数多く盛り込まれており、価値が高い。「Linus gitリポジトリを追いかけたらもう直ってました!」というオチが多いのは涙を禁じ得ない(古いカーネルを保守し続けるという業)。

GNU/Linuxについて深く記述されているということは、逆に言えば、MacOS XやWindowsといったほかのOSのプログラマにとっては、本書をデバッグの参考書として使うにはだいぶ物足りないものに感じるだろうということだ。本書が『BINARY HACKS』に「インスパイヤ」されて生み出されたように、『DEBUG HACKS MacOS X編』『DEBUG HACKS Windows編』といった書籍が登場することを期待しよう。

GNU/Linuxにかかわっている職業プログラマおよび趣味プログラマには、持っておいて損はない1冊だ。

2009年01月16日

SONY『VAIO TypeZ』オーナーメイドモデル

いろいろとストレスぎみだったので、散財。まぁLet's Y2もだいぶくたびれてきたし。軽くて画面広くてSATA SSD積めるもの。Let'sの後継はアサッテのものしかないし、LenovoはもうThinkPadではなくなるし、NECもSharpもケチくさいものしか出さないし、DELLの軽いのは出てくるのがいつかわからんし、HPは重量について考えるつもりはないらしいし……ということで、選択肢が絞られた中でエッジなのはこのVAIO TypeZくらいかなぁという判断。競合のThinkPad x200sは、最近のLenovoのあまり良くない噂と画面がZの1600x900というスケールにはさすがに見劣りということで脱落した。

TypePには目もくれず予約注文サイトでなんとか注文したわけだが、20日の到着予定が早まって本日到着。

P9600 2.66GHz、Vista Home Premium、スティックACアダプタ、標準バッテリ、HDD 250G/5400 rpm、1600x900液晶、DVDスーパーマルチ、指紋/TPM塔載、日本語キーボード、ラインストームカバーという構成。

HDDはIntel SSDに交換前提とした。BDはせっかくHDMIが付いてるので悩んだが+5万はやっぱり高いよ。そのうちプレイヤーが安く出るだろうからそれ待ち。指紋はLinuxではまだ利用できないらしいけど、それほど高くないので付けてみた。でかいと評判の標準アダプタの代わりにスティックにしてみたものの、これもかなり大きい。ヌンチャクみたいだ。ラインストームは黒塗装の木目っぽい感じかな。

バッテリを付けずに持つと本当に軽い。バッテリを付けるとY2と変わらなくなってしまう(1.4kg)のは残念だが、劇的なエネルギー革命がないとこれは難しいだろうなぁ。

1600x900の画面はかなり広いのだが、タッチパッドがあまりよくないので動きはちょっとやりづらい。Bluetoothが付いているのでそれで接続するマウスを探したほうがいいかもしれない。ちょっと奇妙なボタンキーボードはしばらく使ったら慣れてはきた。

まずはリカバリDVD2枚をDVD-Rに焼く。1枚目を焼き終えたところでWindows Updateダイアログに食われて間違えてリブートしてしまったが、ちゃんとリカバリ作成ツールは覚えていてくれて2枚目から再開することができた。よくできてる。

64ビットVistaといっても、当然ながら見た目も操作感も変わらない。タスクマネージャで見ると32ビット動作をしているプログラムはかなり少なめ。こう簡単にDebianでもbiarchできるといいんだけどなぁ。

しばしVistaを使ってはみたが、ここから何をしたらいいのか途方に暮れる。とりあえず上海をやってみたがすぐ飽きた。 DebianインストールはSSDに変えてからと思ってたけれども、Debianも入れてしまうか。

BIOSアップデートツールに27GBも必要なのは困るのう。

『Mtron SSD 1.8" ZIF 32GB』



/

Amazon経由だと妙に高いけど、別のところ経由でヒットラインからもっと安く買えた。

旅行などで持ち歩くためのモバイルPCのLoox U50X/Vの1.8" HDD(ZIF PATA)が遅いわ熱がこもるわでロクなことがなかったので最近はHDDを外してUSBメモリを使っていたのだけど、容量もあまり大きくない上に1つしかない貴重なUSBポートを塞いでおまけに邪魔なので、とうとうSSDに交換することにした。

1.8"でZIF接続なSSDはグリーンハウスのが安いのだが、これはコネクタの都合でLooxには接続できない。ということで動作報告のあるこちらのMtron SSDにしてみた。16GBのほうがだいぶ安いけど、せっかくなので32GB。

Loox自体の交換は簡単で、裏板を外して差し替えるだけ。HDD用のセロファンカバーと足を付けるとうまく戻せないが、SSDはプラスチックケースに入ってるので接触する心配はないと判断し、カバーと足はつけないことにした。

BIOSからはPATAのhdaとして普通に見える。32GBだともともとのVistaを入れたらいっぱいになってしまうし、このマシンでVistaを起動したのはたぶん5回以内なので、全部Debianに設定。ハイバネート領域用にスワップは確保するが、メモリ1Gあることだし、fstabでの自動マウントからは外す。パーティションはext3として、relatimeをオプションに指定した。

体感はかなりイイ。元のディスクはCached reads: 464.91MB/s Buffered disk read: 15.21MB/sという速度だったのに対し、Cached reads: 467.31MB/s Buffered disk read: 74.28MB/sと、速度が向上している。OSやアプリケーションの起動は確実に速くなった。ときどき一瞬止まるような動きをすることはあるが、これは前でもなっていたし、むしろCPUやI/Oコントローラの部分の影響があるように思う。熱くなることもないし、音も本体のファンだけになってかなり静か。あと、ほんのわずかではあるが軽くなった。

さっそく、押し詰まった業務状況を打破すべくPDFを開いて監修作業をするという素敵な通勤ライフを満喫している(とほほ……)。

2009年01月12日

『zsh最強シェル入門』



/

私を含め多数の開発者が愛用しているUNIX用高機能シェルのzsh。そのわりと唯一的な入門書として出版されたのが本書だ。ちなみに著者の中島能和さんはOpenVZ徹底入門を終えてすぐに本書の脱稿をこなすというパワフルな執筆能力をお持ちで、つくづくうらやましい。

入門と名のつくとおり本書はzshの超絶変態な使い方にはそれほど立ち入らず、「シェル」の入門書として、基本的な使い方から内部コマンド、プロセス管理、zshならではのシェルスクリプト、zshと連携して使うのに便利なscreenコマンドの紹介といったトピックで構成され、丁寧かつコンパクトに説明されている。

プロフェッショナルなzsh使いには物足りないかもしれないが、zshというなんかすごいシェルがあるらしいので使ってみたい!という入門者向けにはハンディなリファレンスとして役立つだろう。

ときに本書はReVIEW+InDesignによる編集組版の第三弾。OpenVZ本のご紹介のときにも述べたように、今回はキートップのフォント処理、線引き吹き出しの処理を実現し、繰り返し作業の軽減を図った。編集は米国遊行中の朝晩にこなすというなかなか無茶な進行ではあったけど、ノウハウがたまってきたおかげで無理なくスケジュールに乗せられたと思う。現在進行中の第四弾はさらに改良を進めており、同僚もこのツールを使い始めたので一気に(ごくごく内部で)ブレークする気配。

2008年11月16日

デジタルメモ『ポメラ』



/

パートナーが購入。オレンジカバーは売り切れで、黒か白かということで黒を選んでいた。実のところ3シリーズあっても色が違うのは画面裏のカバーだけで、それ以外の外枠はどれも黒、キーボードはどれも白というのは共通。

用意している機能はテキストエディタのみという単純なぶん、軽量(370g)で立ち上げも素早い(キーボードを展開して電源ボタンを2秒長押しして起動)。熱もほとんど出ない。640×480の画素数のモノクロLCDは、バックライトがないので暗めだが、電車の中や照明のある室内ならまぁ問題はなさそうなレベル。画面的にはPalmに近いかも。

キーボードはUMPCのようなものとは違ってフルキーボードに近いサイズで、わりと打ち易め。数字行部がちょっと縦が狭くなっているのが気になるくらい。ただ、スペースが左寄りなため、パートナーの手のサイズだと、スペースを打とうとすると今度はBackSpaceやEnterが遠いということになってしまうようだ。女性向けも狙っているわりには課題か。

変換エンジンはATOKで、マッピングはMS-IME(デフォルト)互換とATOK互換を選べる。 わりとハメなのが、変換で候補が数字(「1. 合う」「2. 会う」など)とともに出てくるものの、数字キーを押すと「1」のように入力されてしまう。数字表示は飾り? また、ショートカットキーでCtrl+Hが入力中はBackSpaceとして効くのだが、そうでない場合には検索になってしまう。ショートカットがカスタマイズできるといいのだけど、文具であると割り切っている商品の性質上か、カスタマイズ項目はほとんどなくて、画面の白黒反転設定、文字サイズ、変換マッピング設定、辞書編集くらい。

電池は単4×2本(別売)で、SANYOエネループでも動作した。ACアダプタは付属も付けるところもない。

PCとのやりとりにはUSBまたはMicroSD。MicroSDは持っていないのでUSBのみでの使用だけど、単純にUSBメモリとして見えるようだ。POMERAディレクトリに文書名として付けた名前がそのままWindows形式のテキストファイルとして置かれる。

何かちょっとした物書きアイテムはほしいんだけど、紙はデータ化できないし、携帯は入力が不便だし、PCは重いし、……という悩みを持っているときには便利そうな文具だと感じた。

2008年11月08日

『Canon EFレンズ50mm F1.8 II』



/

なんか禁断のレンズ沼へ足を突っ込んでしまったらしい。

先日の友人結婚式でnnnさんが単焦点いいよ!と宣伝していて興味を持った。Canonのこれは安いし費用対効果での評価もいいようだしと購入。

手持ちのEOS Kissに装着。プロテクターには「あわせて買いたい」にも出てくるKenko 52S。「おもちゃみたい」との評価もあるとおり、プラスチックのガワは安っぽいけど、それほどひどいものでもない。AFではわりと大きなジコジコ音がして、ピント合わせでもかなり暴れる。壊れやすいかもしれないがまぁ使い捨て的にというところか。軽いのはたいへんすばらしい。ちょっとしたスナップ写真旅行のときに活躍しそう。

F1.8効果は大きい。室内でこれまで間接照明付きで撮っていたものを天井光だけで同じ明るさに撮れる。寄れないのが難点ではあるけど、普段撮るような範囲ではそれほど困ることはないかな。昨日の夕食からはこのレンズで撮るようにしてみた。しばらくこれで遊んでみよう。まだボケを狙って作るのは難しいけど、確かにおもしろい。

2008年11月06日

『OpenVZ徹底入門 バーチャルデータセンター構築完全ガイド』



/

私にとってはReVIEW+XMLによる編集組版第二弾。アミカケがちょっと濃すぎ&ベースラインからちょっとズレてるのは反省点として、今回はQuarkExpressからの変換ではなく最初からInDesignテンプレートを使えたので、わりとすっきりした作業だった。傍注処理もタグ情報を元に行うようにしてみた。いくつか不完全な点はあるものの、手でチマチマ作業するよりははるかに高速。なお、今月末か来月の編集組版第三弾ではキートップや、コード説明部分吹き出しの処理も実現したのでお楽しみに(?)。

さて、本書は仮想化ソリューションのひとつである「OpenVZ」の徹底入門だ。OpenVZはLinuxで動作するOSレベル仮想化技術で、カーネルを共用することで、オーバーヘッドのきわめて少ない高速なゲストOS環境を提供できる。よって、XenやVMwareのように別のOSを起動することはできないけど、そういう場面ではVMware Serverを使えばいいしね。ちなみにEtchでは公式とは別のリポジトリでパッチ適用済みカーネルが配布されていたけど、Debian Lenny以降ではlinux-image-2.6-openvz-*パッケージが公式に収録されているので楽々インストールできる。

私もいくつかのマシンでOpenVZを使っている(OpenVZというよりマシン自体の不安定さでちょっと苦労しているが…)。chroot並みに軽量で、かつデバイスやプロセス空間が丸々見えてしまうchrootよりもセキュリティ的に堅牢であり、今後の普及も期待できる。

OpenVZでのゲストOS環境(コンテナ)の構築はきわめて簡単。どのくらい簡単かというと、15章立ての本書で、OpenVZ自体のセットアップと使い方の説明は、第3章と第4章ですっかり済んでしまうのだ。

とはいえ、それで終わってしまっては徹底入門を名乗ることはできないだろう。そこで筆者の中島氏と里浜氏は、得意とするCentOS Linuxディストリビューションを特にピックアップして、本書の基盤に据えた。『CentOSサーバー徹底入門』と言ってもおかしくない(ちなみにユーザー向けの『CentOS徹底入門』(翔泳社)は同中島氏が執筆)ほどの細かな説明をしつつ、OpenVZの仮想化機能を使って1つの実マシン上で「データセンター」を構築してみせる。

レガシーな複数サーバーを最近のパワフルなマシン1つにまとめたいと思っているサーバー管理者、CentOSで各種のサーバーを構築したいと思っているユーザー、OpenVZについての書籍媒体での説明を望んでいる全読者向けの1冊。

2008年11月02日

『Manage It!』



/

久々の共同監訳作品。良書の多いPragmatic Programmersシリーズから今回オーム社より邦訳の運びとなったのは、ソフトウェアプロジェクトのマネージャやメンバー向けの成功ガイドとなる『Manage It!』だ。

本書は、プロジェクトを当初からうまく運ぶようにするための必要な手続きや、問題を抱えているプロジェクトを良い方向へと導く解決策を、筆者Johanna Rothmanの豊富な現場経験をベースに提案している。プロジェクト憲章を作成する。リリース基準を定める。曰く、ライフサイクルを設計する。インチペブルで見積る。スケジュールゲームを状況に応じて回避する。適切なチームを構築する。リズムを保つ。会議を有効にする。ダッシュボードを作成する。テストを統合する。プログラムを管理する。適切にプロジェクトを完了する。プロジェクトのポートフォリオを作成評価する。これらが極めて実ケースに類似した例を交じえて紹介され、実行を促す。

ソフトウェアプロジェクトに関わっている人なら、本書の内容を何らかの形で応用し、悪いプロジェクトを良いプロジェクトへ、良いプロジェクトを最良のプロジェクトへと転換できるだろう。

2008年09月11日

オーブンレンジDailycookコンビニフラット17L『ER-F3』、IHジャー炊飯器『SR-HA101-S』

不慮の事故で電子レンジを放棄しないといけないはめになったので、電子レンジ新調のついでに、以前に落下して蓋にヒビの入っちゃった炊飯器も新調することにした。レンジも炊飯器も10年以上も使っていた年代物で、ちょうどいい頃合ではある。



/

設置場所の都合上、電子レンジは現状維持の16〜17L程度となる。色は白モデルと黒モデルがあるが、白モデルは白というより「ぶち」なので、黒を普通選ぶと思う。

このクラスで本機が出色なのは、ターンテーブルなしのフラットタイプなこと。ターンテーブルにはとかく良い思い出がない。ハートマン軍曹なら「俺がこの世でただ一つ我慢できんのは……レンジの中で回転せずにひっかかってるやつだ!」とぶち切れてるだろう。庫内ぎりぎりの冷凍サンマ。昨晩のおかずを入れた、ちょっと大きめのお皿。ごくたまーにコンビニ弁当。あらゆるひっかかる。溝にゴミが溜まるので、衛生的にもよろしくない。

そこでフラットである。もうレンジは普通ターンテーブルなしのフラットであるべき。一度フラットの便利さを亨受すると、ターンテーブルには戻れないと思う。

私自身はオーブン機能はほとんど使うことはなく(前から使ってる主オーブンがある)、レンジ機能が主なので、スペースを食わない片開きになっているのはありがたい。付属のトレイを焼くのにオーブンモード(250度まで。連続8分が経過したら200度に落ちる)を使ってはみたものの、かなり熱くなっていた。

食材自動判別的な機能はないみたい(もともとあれはあまり当てにならないけど…)。お手軽な方法としては、スタートキーを連打することでより長くチンできる。解凍はグラム指定が必要。とはいえ、10gボタンと100gボタンを適当に押して調整するだけなので、それほど大変ではない。今のところレンジ調理的なものは試していないけど、パン発酵向けに30度または40度の発酵モードがあるので、いずれこれは試してみたい。

若干不便なのは、省エネを理由に「扉を閉めた状態から開けないと電源が入らない」こと。これまでは使用後は臭いなどがつかないよう開けっぱなしにしてたのだけど、この場合、次回使用したいときには「物入れる→扉閉じる」ではダメで、「物入れる→扉閉じる→扉開ける→扉閉じる」をしないといけない。まぁ閉めるようにしておけばいいんですけどね。



/

炊飯器は、新モデルが出ている都合上、電気屋では安売りしていた。 IHで5.5合炊き。サイズがかなりコンパクトで、ほかの製品によくあるアメフトヘルメットみたいにゴテゴテしていないのは嬉しい。色はamazonの画像よりももっとシャンパンゴールドに近い。

ダイヤモンド微粒子はよくわからないが、釜はそこそこ重い。蓋は取付と取り外しはワンタッチで悪くない。でも取付はちょっとコツがいるようで、ときどき落としてしまう(落ちても構わずに閉めればカチっと取り付けられることが判明)。どちらも食洗器での洗浄は禁止となっている。表面加工のおかげで今のところは米つぶがくっつくことなく、綺麗に掬える。

炊飯は浸水時間まで含めて計算してくれるので、浸水を手作業で行う必要はない(手動も可)。玄米、発芽玄米も炊ける。銀シャリモードでだいたい56分。炊けるとピーピー鳴るので、一度開けてほぐす(こればかりは手作業)。添付のしゃもじはなかなか使い勝手がいいのだが、大きすぎてマグなどには入らない。ちょっと困る。

炊き加減だが、いつも食べている「秋田こまち」はふっくらした仕上がりとなり、たまたま残してあった前の炊飯器のごはんと比べると味わいがまったく違う。これはすごい。もっと早くIH買っとけばよかったか(笑)。

玄米も炊いてみたけど、こちらはそれほど大きくは変わらないものの、圧が強いぶん中が柔らかく仕上がって食べやすい。

すでにIHで炊いている人にはそれほどアピールする点はないかもしれないけど、なかなか良い炊飯器だと思う。

2008年07月30日

『実践Common Lisp』



/

“実践”である。しかも著者のPeter Seibelによれば“すごいソフトウェアを書く方法をお見せ”してくれるらしい。

512ページというボリュームを持つ本書は、1958年に考案された「Lisp」の血筋と伝統を持ち、かつ甘んじることなく最先端を追う言語「Common Lisp」を、みっちりと説明している。

前半部分は、一般的な言語書籍とそれほどスタイルは変わらない。レコード、S式、関数、マクロ、コレクション、リスト、ファイルI/O、オブジェクト指向、FORMAT、例外、パッケージ、シンボル、LOOP、とCommon Lispの言語構造が次々と紹介される。これらはダラダラと続くのではなく、『プログラミングRuby』と同様に説明の合間には随時コードスニペットが差し込まれており、説明内容をすぐに試せるように配慮されている。

実践編としては、第9章でマクロなどの知識のおさらいとしてユニットテストの実装、第15章でファイルI/Oのおさらいとファイルパス取り扱いの手法としてパスネームライブラリの構築を行う。そして「そろそろ本気を出そうか」とばかりに第23章からは怒涛の実践が続く。ベイジアンスパムフィルタ、バイナリファイルデータの解析、MP3音楽ファイルのID3タグパーサ、AllegroServeによるサーバーサイドWebプログラミング、MP3音楽データベース構築、Shoutcastストリーミングサービス、Webプレイリスト、HTML生成ライブラリ実装。Common Lispの応用力の広さに驚かされる。

付録には、邦書独自の内容として、日本語処理固有のエンコーディング変換の説明およびライブラリの提供、本書語句の訳出に利用された訳語一覧が用意されている。短いながらも利便性は高いだろう。

本書の環境は、Common Lisp(SBCL(Steel Bank Common Lisp)など)、Emacs、SLIME(Superior Lisp Interaction Mode for Emacs)、ASDF(Another System Definition Facility)といったものを含めたLisp in a Boxというセットを推奨しており、現時点ではOS X 10.4(PPC/Intel)、GNU/Linux x86、Windows向けのものが提供されている。もちろん、たとえばDebian GNU/Linuxであれば、「aptitude install sbcl emacs slime cl-asdf」という感じで同等のものを構成できる。

なお、装丁の絵はカンディンスキーの「白いジグザグ形」をあしらってアートな雰囲気だが、カバーを外すと今度は洋書っぽいシンプルクールな仕立てになっているので、ご購入された方はぜひチェックを(いずれも日本独自)。

2008年07月02日

* 『ネオフレックスLCDスタンド』



/

パートナーの使い始めたDELLモニタ(20" 2001FP)の標準スタンドは、目一杯下げてもかなり高い位置にあるため(30cmくらい?)、上向き加減でずっと見るために体が疲労しやすいという問題があった。幸いこのモニタはVESA標準に従っているので、スタンドを交換するだけで済みそうだ。

ということで、目一杯低くできるもので、アームではなく(アームは付ける場所が難しいし、机に付けると振動で使いにくそう)スタンドのものを…というチョイスがこれ。

組み立てと取付は簡単で、ドライバー1つで可能。土台と柱をネジ止めし、モニタのスタンドをボタンを押して外してから金属パネルを取り外して(本当はこれが使えるといいんだけど形状的に無理だった)、つまみ付きのネジで柱とモニタを留める。傾きと上下はバネが中に入っていて、標準ではかなり固め。傾きはちょっとゆるめておいた。上下はかなり長いドライバじゃないと入らない位置にあるため断念したが、モニタを取り付けてみるとわりとスムーズだったので、19"以上のサイズの重量なら特に問題はなさそう。

見た目や土台の重量からすると意外に安定感があり、土台はDELL標準スタンドよりも薄くてキーボードに足を付けて載せられるくらい。20"モニタの場合、最下段まで下げる(力を加えるだけで滑らかに動き、ブレることもない)と、下のアキが5cmくらいになるまでに低くできる。ピボット回転も可能。最下段だと横から見るとちょっとカッコ悪いが、正面や後ろでは気にならない。

モニタの高さが高すぎて肩凝り・首凝りに悩んでいる人にはオススメかも(7.5cmまたは10cmでのVESAスタンドに交換できることを要確認のこと)。

2008年06月08日

『独習Java 第4版』



/

監訳に携った独習Javaはこれで第4版になりました。私自身はもうほとんどJavaは使っていないのですが、Java技術のほうは未だ勢い衰えることがないようです。

原書のTeach Yourself Javaは初版のみの刊行しかなされておらず、「追加・修正を入れるように」という改訂には毎回苦労します。原書が改訂していてそれに追従だったらずっと楽なのですが。独習Javaのメインターゲットは教育機関なので、「全面的刷新」なるものは歓迎されません。そもそもJavaの言語部分はあまり変わっていないので、現状の構成で行く限りは大して変化のしようもありません。

今回の改訂にあたっては、Java6の機能を含めるようにという指示の下、わかりにくいと思われる部分の説明の改善、技術動向の追加や、明らかに時代遅れ(習得してもあまり意味がない)と思えそうな箇所の削除・修正を施しました。未だにコードに間違いが見つかるというのもしょんぼりな話ですが、いくつかそういったバグも潰しています。本当はもうちょっとアレもコレもというものはあったのですが、その説明、例、練習問題、章末問題をほかからコピーせずに無から作り出すとなると、なかなか厳しいものがあります。 一新を期待していた方々には申しわけないですが、原著者のジョゼフオニールに改訂セヨと圧力をかけてくださいね(笑)。

諸々の事情で、作業に費せる時間も(いつものように)かなりタイトだったのですが、今回から製作や改訂の作業をもっと簡単にできるように工夫をしてみました。

今までの独習Javaの製作進行では、プレインテキストで監訳作業を行ったあと初校以降はすべて紙と組版ツール上にしかデータがありませんでした。このため、改訂が決まると、組版ツールからテキストデータをダンプして、また書体情報を付け直して、という、出版業界ではわりとよくあるケースだけど普通の方々には信じがたい手法をとっていました。コードもそのテキストからコピペし直すわけです。付録CDとのファイル内容同期もできません。

今回は、青木峰郎さん作のReVIEWフォーマットという簡易タグフォーマットを利用してReVIEW→XML変換→InDesign半自動組版→PDF出力という過程を通し、テキスト上の修正があったときにはすべてReVIEWデータ側を直すという方法をとりました。これで、以降の改訂はすべてReVIEWデータだけを直せばよいことになります。半自動組版で手動で調整しなければならないところはいくつかあるものの、節名に長体をかけるとか、表のタブを調整するとかといった程度になるべく留めるようにして、できるだけ組版データ独自の修正は加えないようにしています。レイアウトについては改善の余地はまだ多くあるものの、既存の独習シリーズからそれほど違和感のないものには仕上がったかと思います。コードはReVIEWのinclude機能を使い、原稿もCDデータも同一のものを利用するようになっています。

また、翔泳社の担当編集様にSubversionを使っていただくことで、青焼きに入るまでペーパーレスかつ迅速なデータのやり取りを行うことができました(ほかの編集の方々もSubversionなりgitなり何らかのVCSでやり取りできると嬉しいのですが…)。 今回がほぼ初となるReVIEWやSubversionによる作業・出力方法を許諾くださった担当様にこの場で御礼申し上げます。

2008年06月02日

『アウト・オブ・コントロール』



/

大学の先輩にして今は吉備国際大学准教授の大谷卓史氏より、ご執筆された書籍を献本いただいた。

本書表題の『アウト・オブ・コントロール』は、制御が不可能であるとともに、誰かのコントロールがいらないという状態を指し、その具体例としてWinnyとYouTubeを筆者は挙げる。

ご存じのように、匿名でファイルをやり取りする共有ソフトに始まったWinnyは、そこに放流される著作権無視の不法データがゴシップメディアにおもしろおかしく祭り上げられ、プライバシー情報の流出を招くワームを呼び込むこととなり、はては経済・国防すら揺るがすさまざまな事件の犯人として俗趣味と敵意を一身に受けている。 本書は、このWinnyに特にフォーカスし、Winnyの開発背景と技術、Winnyが起因の1つとなったコモンズと著作権制度、社会的見地からの匿名性を論ずる。Winnyウイルスによるデータ流出について読んでいたつもりが、いつのまにか著作権や匿名性といったちょっととっつきにくい話にすんなり入っていたというなかなか巧みな構成である。

Winny作者の金子氏は技術的関心と著作権制度改革を動機として開発を開始したが、やがて現行著作権と調和する提供者と利用者が互いに利益を得られる新しい社会システムを構想していたのではないかと筆者は述べる。「IT思想犯」と評される、初期の過激な著作権制度改革者のイメージを引き摺り続けたのが、いささか首をかしげる罪状「著作権幇助違反」での逮捕に至った原因ではないかと筆者は主張する。

Winnyはネットワーク帯域、コモンズを食い潰す者としても論議を呼び、電気料金のような従量制の導入という、これまでの定額ブロードバンドという料金体系を見直す検討もなされている。また、著作物の流通手段としてWinnyを始めとする現行のP2Pを見ると、著作者や流通業者の手を離れてアウト・オブ・コントロールとなっている。現在はデジタル著作物については著作権法の枠での法的コントロールが主流となっているが、筆者はデジタルに即した新たなコンテンツ産業新興法制度を構築していくのが望ましいとする。

最後の章では、匿名性を取り上げ、Winnyの議論からは離れて、到達困難性のための匿名(名前の隠匿ではなく、説明や謝罪、刑罰、責任、支払いを要求される可能性からの退避)と印象操作のための匿名(自己に関する情報の隠匿、脚色、秘密、漏洩の操作)を説明する。これらの匿名は功罪あわせ持っており、たとえば自己への自由、プライバシー、自律的行為には欠かせざる存在と言えるが、匿名者が非匿名者を攻撃したときにそれが非対称性になること、リスクを負わない好き勝手にできるが故に人生の決断ができていないかもしれないこと、万能の監視者になると同時に誰もがその監視される対象ともなり得ること(たとえば学校裏サイトやポルポト政権)をその罪の一例として筆者は挙げ、「匿名性の権力を自覚して自分たちを律する」ことが匿名の暴力化へのささやかな処方箋であろうと述べている。

なお、YouTubeについては、「はじめに」でいくらか言及した内容があり、その後の章でも登場はするのだが、若干掘り下げが物足りない感がある。米国でGoogleがYouTubeをバイアウトしたことでアウト・オブ・コントロールに変化はもたらされたのか。YouTubeは米国や世界のネット社会や実社会――「実社会」という対比が気になるなら非ネット社会とでも言うべきか――にWinnyのように何らかの変革をもたらしたのだろうか。とはいえ、それはおそらく本書の主眼たるテーマではないかもしれない(続編に期待しよう)。

その他細かいツッコミとしては、オープンソースソフトウェアをいまどき「ソースコードが公開されたソフトウェア」とまとめてしまうのは正直勘弁してほしい(ダラダラ書く必要はないし、本文のテンポを崩したくないなら「正確には…」といった注釈を入れてほしい)のと、氏/氏なし("47氏"はしょうがないとして)や私/筆者の表記が揺れているのが気になった。

250ページ弱で判型もコンパクトであり、縦書きなので通勤・通学途中でも読みやすい。2008年4月刊行の本書はギリギリまで内容を最新情報に合わせており、Winnyが一石を投じたネットにおける権利議論の「今」を知るには絶好の参考書だ。

2008年05月25日

イー・モバイル『D02HW』

長年契約はしていたものの、利用がほとんどなかったWILLCOMを解約した。とはいえ外出時(会議や旅行途中など)のための何らかのデータ通信はキープしたかったので、維持費がそこそこ安くて通信速度もはるかに速いイーモバイルに乗り換えることにした。

使用環境がLOOX UかLet's Note Y2なので、端末としては本当はCF+PCMCIAアダプタという組み合わせが最適なのだけど、D01NX IIはLinuxでの動作はあまり期待できなさそうなため、動作報告が十分になされているD02HWを選択した。

イーモバイルには各種料金プランがある。次のように理解したがこれで合ってるだろうか(新2年契約前提)。

  • データプラン: 4,980円でパケット数/バイト数にかかわらず利用可能。月にコンスタントに1GB以上の通信をする(ニコニコ動画を毎日見るとか)人向け。
  • ギガデータプラン: 1GBまで3,980円。超過すると一気にはね上がって最大9,980円までになる。月にコンスタントに50MB以上1GB以下の通信をする人向け。ビジネス系をターゲットにしてるのかな。
  • ライトデータプラン: 11MBまで1,980円、超過して最大5,480円。メールを中心にした利用かな。
  • スーパーライトデータプラン: 3MBまで1,000円、超過して最大4,980円。月に数回使う以下の頻度向け。

ということで、利用方法的にスーパーライトデータが適切そう。使うときは4,980円(←これでもWILLCOMの固定料金よりちょっと高いくらい)、使わないときは1,000円で済むということだな。プリペイドサービスのemチャージというのもあるのだが、これは3ヶ月で最低3,000円という結局スーパーライトデータプランと同じ上にいざ使いたいときに1年間の有効期限が切れたら再契約という面倒そうな代物なので候補外とした。

D02HWはUSB接続型のモデムで、少なくともDebianカーネル2.6.24にはドライバも内包しており、接続してすぐに使うことができる(もしかしたら1回WindowsなりMacintoshなりで接続アクティベーション(?)みたいなものが必要かもしれないけど。最初はWindowsでやってみた)。接続するとUSBストレージ(Windows/MacOS向けのウィザードおよびデバイスドライバが入ってる)と、シリアルポート/dev/ttyUSB0と/dev/ttyUSB1が見える。この2つの使い分けはなんだろう? 設定はpppconfigを実行し、次のとおり。

  • 設定名: provider (デフォルト接続名)
  • DNS: Dynamic (動的)
  • 認証: PAP
  • ユーザー名: em
  • パスワード: em
  • シリアルポート速度: 115200 (もっと速くできるんかな?)
  • 回線種別: Tone
  • 電話番号: *99***1#
  • シリアルポート: Manual→/dev/ttyUSB0

あとは「pon」を実行すれば接続できる。「poff」で接続終了。

WILLCOMは自宅では電波をうまく取れないこともあったんだけど、イーモバイルのほうはさっくり取れて速度も悪くない。たまの旅行にもちょうどよさそうだ。

『トランスポーター2』



/

おもしろかった! 細かいところは気にせず、頭を空にして疾走とアクションとエスプリを大いに堪能すべし。

製作脚本にリュック・ベッソン、監督はルイ・レテリエ。元特殊工作員の「運び屋」フランクは、連邦麻薬対策委員長の息子ジャクの通学を送迎するというなんということのない平和な役目に。しかし、ウイルス感染テロを目論む殺し屋たちに親子が狙われ、ジャックを守ると約束したフランクは、たまたまフランスから訪米していた友人のタルコーニと共に解決に臨む。

とまぁストーリーはともかくとして、スピードを大いに堪能できるカーシーン、静動小気味良くてご都合だろうがなんだろうが吹っ飛ばしてしまうアクション、吹き出してしまうようなエスプリの効いたセリフ、常にクールな主人公、カッコ良くキレたレディ、とエンターテイメントに溢れた良作。細かいことは気にしちゃ負けだ。

2008年05月24日

『ローレライ』



/

原作はいいらしいんですけどね、原作は(まだ読んでないけど)。

第二次大戦末期、広島原爆投下後。日本海軍軍令部の朝倉大佐は、絹見少佐にドイツの秘密潜水艦伊五○七艦長の任とこれ以上の原爆投下阻止を命じる。寄せ集めながらも、感応能力を持つ少女パウラによるローレライシステムにより、米艦隊を次々と撃破。しかし、朝倉には秘密の目論みがあった。

ローレライが動くところや艦隊といった外面シーンではCGが全面的に使用されているんだけど、静止画として見ればアマチュアCGコンテストで入選しそうなレベルではあるものの、動画は昭和ウルトラマンのミニチュアに。アヒルちゃんが隣にプカプカ浮かんでいてもおかしくない。

役者陣もベテラン陣若手取り混ぜて、皆一生懸命役をこなそうというのは伝わるんだけど、どれも「演じてる」だけで、そこから作り出される人格がまったく感じられない。役所広司が絹見役を演じてます、妻夫木聡が征人を演じてます、柳葉敏郎が木崎を演じてます。どこまで見進めても、そのまま。原因のほとんどは脚本。いくら寄せ集めとはいえ下位の者が上の者に立てついても鉄拳の1つも飛ばないぬるぬるな軍規律。「体罰は絶対にいけません」ですかね。青臭いにも程度があるだろうというセリフの数々。ちらほら紛れ込む(悲劇のつもりの?)ずっこけシーン。

良い点は……うーん、米駆逐艦フライシャー艦長の面構えや話し方(「Mr.〜、」)はイイですよ。右翼にも左翼にも叩かれないよう中庸にしたらこんなんできましたけど、という映画。

そういえば世界各国(米国も中国もロシアも)、軍を格好良く描いた映画や番組を作るものだけど、日本の戦後自衛隊ではなかなかないものだねぇ(戦国自衛隊は内戦の上にちっとも格好良くないし、ベストガイはトップガンの劣化コピーだし…)。

2008年03月09日

eSATA/USB2.0対応外付型ハードディスク『RHD-UX320』



/

仮想マシン上でも検証した末、結局InDesignの各種の不安定っぷりはAdobe Creative Suite CS2がVista対応でない(CS3以降での対応)にあることがどうやらはっきりしてきた。現状ではVista上で一度InDesignが落ちるとOSを再起動して運良くデータを開き直せるかどうかというレベルなので、どうにも使いものにならない。内蔵HDDはこれ以上パーティション分けするのは厳しいので、Windos XP用に外付ディスクを購入することにした。使っているマザーはASUS P5VD2-MXで、JMicron SATAコントローラのeSATAが外に出ているので、ここに接続すれば起動ディスクとして利用できる、はず。

外形はけっこう大きい。縦にも横にも置けて、ゴム足が4つ付いている。ディスクを納めているケースはRHDシリーズ共用なので、外してディスクを交換したりケースを複数用意したりできるようになっているのは嬉しい。このタイプには珍しくACアダプタではなく電源内蔵になっていて、コンセントまわりもすっきりできる。また、常時ONか活線状態によって自動ON/OFFを行うかのディップスイッチが用意されている(自動にしているが今のところ特に問題は出ていない)。

付属品としてはUSBケーブル、eSATAケーブル短/長、SATAの内部コネクタをeSATAにひっぱるPCIフルサイズのブラケットが付いている。家のはミニケースなのでハーフにもできるとよかったんだけど…。

実際のインストールは予想外に大変だった。

  • マザーのBIOSバージョンが古くて、デフォルトのVIA SATAのほかにJMicronを有効にすると再起動やシャットダウンができなくなってしまった。これは新しいBIOSに更新することで正常に動作するようになった。
  • Windows XPのインストールCDにはAHCIドライバが入っていない(FDドライブもない)ので、IDEモードにしてインストールする必要があった。デバイスドライバを入れればAHCIに戻しても大丈夫。AHCIドライバ組み込みXPインストールCDの作成というのもある。
  • Windows XPのインストールで内蔵側のMBRが上書きされてしまった。しかも結局ディスクが違うのでXPをブートできないし…。内蔵側のディスクをBIOSで見えないようにして、XPをインストールし直し、MBRも外付けのほうを使うようにしてインストールを完了させる。その後BIOSを戻して、Debianのインストーラのレスキューモードを起動し、grub-install --recheck '(hd0)'でGRUBを入れ直した。
  • さらに内蔵側のVistaの起動領域も上書きされてしまった。VistaのインストールCDでレスキューして復帰。GRUBは特に作業する必要がない。
  • さらにこのままだとXPを起動するのにBIOSメニューからでないと行けないので、GRUBを設定。
    title Windows XP Professional
    map (hd0) (hd1)
    map (hd1) (hd0)
    rootnoverify (hd0,0)
    chainloader +1
    makeactive
    
  • 今度はDebian上でのsd*の順序が変わってる…。GRUBでsda→sdbにroot=オプションを変更し、レスキューモードで起動。/etc/fstabを修正した。なんかハイバネーションが動かなくなったなぁ。

ということで、ひとまずトリプルブート環境の構築は完了。

ディスク自体は速いし、家の環境で感じる限り音は静か(ケースファンの音のほうがうるさい)。 ディスクの玉としてはバラクーダのST3320820ASが載ってるみたい。

Timing cached reads: 5034 MB in 2.00 seconds = 2522.06 MB/sec
Timing buffered disk reads: 230 MB in 3.02 seconds = 76.11 MB/sec

2008年03月04日

『プログラミングErlang』



/

先月に献本頂く。ありがとうございます。

本書は「Erlang」というプログラミング言語を、初期開発者自らが記した入門書だ。ちょっと高いのが難点だが、Erlangという言語に興味があったりすでに触り始めていたりするなら買って損のない1冊だろう。

Erlangは随分とけったいな言語だ。
ステートメントの区切りはピリオド。うーん。
「文字列の各文字はLatin-1(ISO-8859-1)文字コードで表現される。」えー。
変数とは言っているけれどもそれは一度しか代入できない定数じみたもの。「X=X+1みたいなのはどう表現するのだろう?答えは簡単だ。まだ使われていない名前の変数(例えばX1)を新しく作ってX1=X+1と書けばよい。」えーえー。

ほかにも大文字と小文字で注意しなくちゃいけないとか、一見するとどうにも取っ付きが悪い。理解を助けるべく対比するためのCのコードなどもときどき登場するのだが、頭のコンテキストスイッチがうまく働かなくてかえって混乱しそうだ。いっそ割り切って、従来型逐次言語の教育を受けていない人向けのスタンスを採ったほうがよかったんじゃないだろうか。

しかし、この取っ付きの悪さにめげなければ、素敵なご褒美が待っている。Erlangでは1つひとつの機能をモジュール化することに重点が置かれている。定数化された変数も、再帰やリストを使えば、値を動的に操作できる。無名関数で自由自在に関数を定義できるし、関数の引数に関数を渡すこともできる。引数の処理も多態性がある。

そして本当におもしろくなるのは8章の並行プログラミングからだ。Erlangはプロセスと呼ばれる仮想マシン(OSのプロセスとは異なる。またプロセス同士はメモリを共有しない)をいくつも起動して、メッセージパッシングによってデータをやり取りすることでシステムを組み上げることができる。プロセスとの通信はPIDで固有のものを指定したり、グループ、あるいはブロードキャストを行える。そして11章では、並行プログラミングをさらに広げて、多数のノードで動作する分散プログラミングへと読者を導く。Erlangの考え方さえマスターしておけば、並行から分散も、大規模処理へのスケールも、シンプルなコードを保って実現できるというわけだ。なお、20章にはマルチコアCPUでの動作も書かれているが、これも特段の修正が必要というわけではない。SMP対応版のランタイムを使うという以外は、プロセスをなるべく使ってCPUを働かせろといったErlangのプログラミングTipsとなっている。

なまじほかのプログラミング言語を学んできただけに取っ付きが悪いErlangだが、並行プログラミングというパラダイムや、そのスケール性は興味深い。

2008年02月15日

『フードプロセッサーでお菓子革命―あっけないほど簡単な新しいお菓子のレシピ』



/

バレンタインデーにパートナーから贈られたレシピ本。

パイ、タルト、クッキー、スコーン、パウンドケーキ、チーズケーキ、ゼリーといったものをフードプロセッサで手早く(かつモノグサに)作る方法がいろいろ載っている。Amazonのレビューにもあるように、工程がこと細かに書いてあるわけじゃないので、いくらかの素養があって補完の効く人向けかな。 タルト皿やケーキ型とかがちょっとほしくなってきた。

大まかなレシピ説明(でもフードプロセッサ自体、そんなに「細かい」ものではないしね)の埋め草には、筆者の国際線乗務員時代の経験談や、(おそらくは筆者の自宅の)ガーデンとキッチンの写真などがはめ込まれており、本の作りとしてちょっとおもしろい。

2008年02月07日

『逆引きUNIXコマンドポケットリファレンス』



/

OSSTechの武田さんと弊社社員陣による共著、私は監修という立場での参加。 もともとは社員のみで行うという前提でのかなり前の企画だったのだけど、紆余屈折の末にさまざまな方々にご協力いただく形となった(あれ、同僚には名前入れておきなよと言ったのに、どこにも掲載されていないな)。

「逆引き」の名のとおり、「ファイルを検索する」「バックアップからデータを復元する」といった目的や機能の見出しから、それに対応するコマンドが提示されるというスタイルになっている。対応OSとしてはFedora、Debian、FreeBSD、Solarisと多岐にわたり、530ページの中には多数のコマンドと差異についての注意が盛り込まれている。

特に他機種環境下では役に立つであろう1冊。

2007年12月17日

『アジャイルプラクティス』



/

監訳は、各方面で高名な角谷さん木下さん

レビューアとしてさらに多くの人々がかかわっていて、私は編集のお手伝いとして参加。210数ページの薄い本なのに、コミット数1,274というアジャイルな製作で、弊社による下訳から大きくブラッシュアップされた、とても読みやすいものに仕上がった。

本書は、「アジャイルなソフトウェア開発」を主眼として、アジャイル(継続的で協調的で重要度の高い作業に従事できる)開発手法の全般を取り扱っている。アジャイルを実現する45のプラクティスの中では、思わず誘惑に駆られてしまいそうな悪魔の囁きと、それを撥ねのける力となる天使の助言が攻めぎ合う。1つひとつのプラクティスは短いながら要領良くまとめられており、その1つか2つを実行してみるだけでも、硬直した思考や行動をほぐすのに役立つだろう。

表紙はピーテル・ブリューゲルの「叛逆天使の墜落」。天使(ミカエル)と悪魔(ルシファー)との戦いはここから始まっているわけだ。ちなみにオーム社既刊の『ハッカーと画家』の表紙も、同ブリューゲルの「バベルの塔」。

2007年11月28日

『Code Craft』



/

ここしばらく編集に携っていた1冊が発売。本書『Code Craft』は、『Code Reading』、『Code Quality』に続くプログラマー向けの実践的技法を説明するシリーズだ。実は著者が違うのでシリーズじゃないんだけど。

シリーズの前2書がコードを取り上げて詳細に見るのに対し、本書は良きプログラマーとしての心構え、コードの書くスタイル、テスト、設計、それにチームでの協業といった事柄を、著者のGoodliffe氏独自のユーモアを混じえた文で紹介している。厚みはあるけれども、内容はテクニカル的にそれほどヘビーなものではないので、肩が凝らずに楽しみながら読むことができるはずだ。特にチームや同僚の観察とその対策については、プログラマーならずとも一読の価値があると思う。

監訳は『Code Quality』同様に後藤正徳氏、鵜飼文敏氏、平林俊一氏、まつもとゆきひろ氏。いつもの対談もあるので、本書を購入された方はぜひカバーをチェックいただきたい(それに今回は外も中も表紙が素敵なのだ)。

2007年11月27日

『ハイブリッド式加湿器HD-9001-H』



/

これまで使っていたSANYOの加湿器が3シーズン目にしてセンサー周りの故障でダメになり(検索してみると、このタイプのはそういうものらしい)、同程度の価格の中からこのダイニチのものをチョイスした。

大きさは前のSANYOとほぼ同じで、胴体がやや細くなった代わりに高さが少し出た感じ。水を入れない状態で6kgと軽め、ハンドルもしっかりしていて持ち運びはしやすい(タンクに水を入れるとさすがに不安定なので、タンクと本体は別々で運ぶよう推奨されている)。色も白とグレーで馴染みやすい。タンクの出し入れも上面から簡単にできる。

換気フィルタおよび加湿フィルタは背面からの交換となる。換気フィルタ側のツメがやや固め。加湿フィルタは大容量な雰囲気を醸し出しているが、樹脂の段々だけでSANYOのような覆いはないので、潰して捨てるのは楽そう。

デフォルトの湿度設定は50%だが、60%にして動作を開始してみる。ハイブリッド式なので、湿度センサーに基づいてヒーターが動作する(動作音は特にない)。現在の湿度は本体前面に表示される。標準モードではかなり風量が強いが、音はそれほどうるさくはない(熱くもない)。これを本製品の一番の売りである静穏モードにすると、ほとんど聞こえなくなるが、ハイブリッドヒーターは継続動作する。ヒーター動作時は200W程度で、電気代が気になりそうなときにはヒーターを切って気化式にさせることもできる。

エアコンをかけながらだと、部屋の広さ的にこの機種でも60%にさせるのは難しいようだけど、それでも壁掛けの温度計を見ると50%強までは加湿できているようで、部屋に入ったときには乾燥した感じもなく、鍋で湯を沸かしてしのいでいたときのような結露もない。

フィルタは1シーズンごとの交換が要求されているが、本体自体には5年保証が付いている(ただし外箱を保管するように書かれている)。

2007年11月11日

『アジャイルレトロスペクティブズ』



/

「カタカナ化過多」という評価もあるとおり、1文中でカタカナのほうが漢字・ひらがなより多いのではないかという1冊。意味があってのカタカナというよりも、オレとトゥギャザーしてサクセスしようゼという印象を受ける。その上に、ガチガチの硬い文体かと思いきや中途半端に軽い表現が混ざるなど、首尾一貫しておらず、読みにくいという世の評価には賛同せざるを得ない。

さて、レトロスペクティブズ=ふりかえりという意味らしいが、内容としては「いかに建設的に反省会を開催するか」ということになるだろうか。時間を浪費せずに話しやすい場を作り、事案で発生した問題点を収集し、どう対策すべきかを検討し、決定し、参加者に感謝して感想を求め、次回に繋げる。このような会議の繰り返しによって、チームを結束し、状況を把握し、問題解決と成果物の品質向上を果たそうというわけだ。

アジャイルというとなんとなくソフトウェア開発の世界に結び付けたくなるが、本書の内容はソフトウェア開発に限るものではない。というよりも、ソフトウェア開発向けの内容であれば間違いなく紹介されるであろう、コンピュータによるさまざまな支援技術は、ここには一切関与せず、ホワイトボードや紙と鉛筆によるアナログな手法がすべてである。チームを相手にするコンサルタントや人材開発部門、ミーティングの進め方に悩むチームリーダーやマネージャには得るところの多い本となるだろう。技術者にとっては退屈な面も多いだろうが、顧客(や上司)との会議を今よりもマシに、あるいはあなたの日々の活動を生産的なものにする上で役立つ実践方法もいくつかある。

なお、「あなたが言葉」(決め付け、非難)を「私が言葉」(気付きや経験)に置き換える(第3章「レトロスペクティブのリード」)、というのは見識として興味深く、今後実践していこうと思う。本書の例:「お前がちゃんとやってれば目標を達成できたんだよ!」→「私が怒っているのは、目標を達成できなかったことだ。」

2007年11月06日

『Java Expert #01』『Java Expert #02』



/


/

最新Java技術を取り扱った、技術評論社のムック。最近のJava情勢のキャッチアップにと#02を購入したよーと某所で呟いていたところ、その話を聞いた編集長から#01を献本いただいた(ありがとうございます)。#01は今年の春に、#02は最近出たばかり(というか奥付が現時点で未来)ということで、その内容には旬を期待できそうだ。

「ワンランク上のJavaエンジニアを目指せ!」というアオリ文句が付けられているとおり、ターゲットはすでにJavaを使っているエンジニアで、扱う内容もいわゆるエンタープライズ系、Web系が大半だ。

具体的には、#01ではNetBeans+Ajax+JSF、Seesar+Teeda、Hibernate+Kunia-Dao+JPA、GlassFish、と完全にこの手の話で固められている。#02ではTeeda、GlassFish、NetBeans、S2JMS、tugboat、pirkaとやはりエンタープライズ系が主だが、JRuby、JavaFX、OpenJDK、J2SE7動向といったやや毛色の違う記事も含められている。

エンタープライズ系、しかもWebアプリケーションの裏方的なものを、限られた枚数の中でおもしろく書くというのは難しいとは思うのだけど、2冊におけるどのエンタープライズ系記事もJavaエンジニアではない私にはやはり退屈というか、「へぇすごいな」という感覚は得られなかった。 もちろん現場でバリバリとJavaを使っているターゲット開発者の方々にとっては「これはすばらしい、導入してみよう」というものはあるのだと思う(まぁたとえばDebian本をJavaエンジニアに見せたらやはり眠気を抑えるのは厳しいだろうし…)。

これに比べると、JRubyやJavaFXの技術動向はたいへん興味深いものがあった。「ブラウザで動くアプレット」などというのは考古学的代物になってしまい、AWTはおろかSwingでさえも聞かれなくなって寂しい思いをしていたのだが、これらの技術によって、再びJavaのユーザーインターフェイス系の話題が活気付くことを期待したい。

なお、#02にはJavaの父であるJames Gosling御大へのインタビューが掲載されている。「もし仮に明日から仕事をしなくて良いと言われれば、作りたいソフトウェアや研究分野のリストはたくさんありますよ。……おそらく1日が48時間で、寿命が1,000歳ぐらいないとすべて実現できないでしょう(笑)」とまだまだ血気盛んですばらしい。私も見習わねば。

2007年10月21日

『Just Right!』



/

いまさらだけどジャストシステムの校正ツール『Just Right!』を購入。私の所属する会社では編集チームメンバーのほとんどが利用しており、手放せないの声が高い。Windowsユーザーで文章にたずさわっている人は必携。

本製品は、ATOKに代表される「正しい日本語」へのコンピュータ技術にこだわりを持つジャストシステムが製作した校正ツールである。校正というのは文章における誤字脱字、不適切な言い回し、表記揺れなどを直して読みやすく正しい文章に変換する作業で、私みたいな「編集者」の任務の半分以上はこれだ。また、著者・広報・翻訳など文筆にかかわる人にとっても品質の高い文章を作る上で校正は必須の作業と言える。

ただ、英語のスペルチェッカなどに比べると、日本語の校正支援ツールについてはあまりない。Microsoft Wordの提供する校正支援はそれなりに利用できるが、本格的な業務レベルで使えるかというと微妙である。

Just Right!の校正内容は、二重敬語、同音語、重ね言葉、呼応表現、慣用表現、表記揺れ、括弧の対応、文体統一、商標、スペルチェックなど詳細にわたり、それぞれのチェックの有効無効の設定ももちろん可能だ。追加の校正ルールとスペルチェックはユーザー辞書に登録することができ、用途に応じて辞書を切り替えられる。表示された校正に従ってその場で直すこともできるし、一覧を印刷することもできる。
実際にちょっと使ってみたところでは、デフォルトの設定はやや細かすぎるようだ。このあたりは有効無効を調整しながら自分に最適なものにさせていくということだろう。校正実行自体は速いが、各校正結果の移動の動作はやや重く感じる。校正、表記揺れ、括弧対応のそれぞれの結果はタブ化されているのは素晴しい(これらは確かに別個の作業なのだ)。

これ自体はスタンドアロンアプリケーションだが、WordやOutlook(Expressは駄目っぽいかな?)といったMicrosoft Officeのメニュー、あるいはInternet Explorerの入力フォームから内容をJust Right!に送る機能がセットアップされている。

英語のスペルチェッカも前述のとおり内蔵しているが、同僚の編集者はスペルチェッカについてはMicrosoft Wordを使い、『Just Right!』のスペルチェッカはオフにして日本語のみの検査に使っているということであった。

入力ファイルについてはテキスト(SJISまたはUTF-8)のほかにPDFをサポートしているが、PDFを変換したテキストはたとえPDF内では連続する段落行でも勝手に改行してしまうことがあるようだ。比較したところでは、Xpdfのpdftotextでテキスト化して日本語文字間で発生することがある余分なスペースを切り取るようなフィルタスクリプトで変換したほうが精度が良いことがわかった。
私のところでは、Internet Explorerを使いWebインターフェイスでPDFをファイルアップロード→フィルタでテキスト化→textarea領域にテキストを表示→「校正実行」でJust Right! を呼び出し、というちょっとしたCGIを作成して便利に使っている。

特筆すべきこととして、本製品のライセンスの寛容さがある。一般的な1人(法人の場合は従業員1名)あたり1台というほか、1人あたり同時に使用しないという条件で複数台、あるいは責任者の管理のもとで1台に複数人という使い方も許諾されている。その代わり、ネットワーク経由での実行は禁止されている(ただ、リモートデスクトップはその性質上これに該当しないと思われる)。Webサービスなどの内部で自社サービスのように使われないようにという保険だろう。

版を重ねて実績のあるソフトウェアである。何より、相手がJust Right!を使ってチェックするかもしれないと思うとうかうか気が抜けないので、編集プロダクションにはマストアイテムであることがわかった。まぁ日記くらいはJust Right!なしに気楽に書こう(笑)。

2007年10月05日

au『W53S』(ソニー・エリクソン)

買い換えようにももうジョグはなし……と困っていて、夏モデルからずっと待っていたこれに機種変した。なにぶん前の機種が61カ月前に最初に契約したA3014という、WINにもなってない&ACアダプタも共有以前のものでしたというものなので、インプレッションは多分、今どきの携帯を使い慣れている人とは違うだろうということをあらかじめ言っておく。

変更は近くのauショップにて。色は黒を選択。価格は端末で10000ちょい-ポイント2500。MY割などの割引系は行わず。場所によってはもっと安いところもあるだろうけど、このへんだと多分最初の時点ではあまり変わらなそうかな。このauショップではパネルはすべて取り寄せになっており、1週間くらい必要(価格は750〜1200円くらいだった)。プラン説明などを聞いて時間は20分ほどかな。電話帳とEZwebのお気に入りはデータ移行されていたけど、メモ帳とローカルにあるメール関係は移行されないみたい。

付属品としては、デフォルトパネルと交換できるクリアパネル1枚(でも傷つきやすいという噂あり)、マスストレージ化用のUSBケーブル、共通AC向けの充電スタンド、外出しヘッドフォン。

では、さっそく試用。まずは肝心のジョグ。モックで触ったときには爪楊枝みたいで頼りない感じだったんだけど、実物では大きさ形は同じものの、操作感はA3014からの移行でまったく違和感を感じないし、とてもスムーズ(まぁずいぶん経ってるし……)。

トップ画面は、デフォルトの時計がGoogleみたいにカラフル。フラッシュニュースが上部1行で何やら入れろ入れろとうるさい(情報料/通信料無料らしいので入っておいた。ニュースと天気はけっこう便利かも)。背景や配置、音はテーマとしてまとめることができ、サンプルもいくつか入っている。やや全体に女性ターゲット向けなのかな?という感じ。音設定はデフォルトでは音量小さめかな。外部スピーカはそれほどすごくいいわけでもなし。まぁ着信音が聞ければいいよ。ランプは少なくとも赤〜紫〜オレンジの範囲なようだ。あと、少なくとも黒モデルではボタン下の発光はオレンジ。これも寒色系にできるといいんだけどな。テーマによっては、メニューに入ってトップに戻るときにややモッサリすることがある。頻繁に移動しなければそれほど気にすることでもないけど。

日本語入力にはやはりジョグが威力を発揮する。入力時にはアプリボタンでPOBOX漢字/カタカナ/数字を選び、EZボタンで記号入力になるようだ。画面が広くなって辞書も強化されたので、入力はたいへんすばらしい。やはりこうでないといかん。

ACは結局購入しなかったのだけど、手持ちのサードパーティのUSB給電ケーブルで接続してみたところ、無事に充電できた。ただ、半分のバッテリの充電を完了するのに2時間かかったけど。ボタン側本体の横のフタを開けて接続するのだが、このフタはそのうち摩耗して切れちゃいそうだ。mrmtさんによると購入即ニッパ切断らしい。
そういえば付属のUSBケーブルでは充電できるのかな……駄目だった。ちなみにDebianではマスストレージとして見えず、ttyACM0という疑似シリアルデバイスになってしまった。

外部メモリカードは、MS DUO/PRO DUOで、ディスプレイ側の横に刺す。PRO DUOの1GBを電気屋で買って入れておいた。なんかちょっともっこりしてペコペコするようになったような……。トップメニューから「メモリスティック」を選んでフォーマットやデータコピーなどを行える。

カメラで写真と動画を撮影してみる。携帯だしCMOS200万画素ならこんなもんじゃないのというところ。動画も音をけっこう拾えていた。まぁカメラにこだわるならEXILIMモデルにするとか、別にコンデジでもイチデジでも持ち歩くとかしたほうがいいんじゃないかと思われる。

ということで、今日1日いじってみた限りでは、欠点らしい欠点は特には見当たらなかった。トップページへのモッサリくらいかな。軽量でFelicaとメール、それにジョグがあればいいという人には最適。ただ、ワンセグなし、ATRACなし、電子コンパスなしといったあたりがないと許せない人には駄目。とっても「普通」の携帯だ。

さて問題になるのが今後の料金コース再検討。もともとCDMAOneのコミコミOneエコノミーだったので、引き継ぎ的にプランSにしておいたのだけど、WIN化して一瞬でパケットを消費しやすくなってる分、プランSS+ダブル定額ライト1000円のほうが安全な気がする。今日いくつかパケットを使いそうなことをしてみたので、明日の統計を見て検討しよう。

2007年10月04日

Underworld『Obilion with Bells』



/

なんと5年ぶりとなるUnderworldの新アルバム。11月の来日公演を控えその挨拶代わりということか。

これまでのアップテンポな楽曲に比べると、今回はマッタリダーク、ちょっとスピリチュアルなものが多い。Crocodile、Beautiful Burnoutが「いつもの」Underworldっぽいかな。Glam Baucketもいい。Ring Roadは…これはイギリス風ラップなんだろうか。あら、Jal to Tokyoは入ってないのか。

これでリズムに乗るのは厳しそうだけど、夜のBGMとして流すにはけっこういいし、聴いているうちにだんだんとはまっていくような感じ。しかし11月深夜のメッセ、過去のアップテンポダンスナンバーではなくこのアルバムナンバーだけしかやらなかったらマッタリしたまま凍死してるかも…。