November 19, 2004

Skype社に問題解決能力はあるのか?

Skypeはなかなか優れたソフトウェアで、多くの人と高品質の音声で会話することができます。そのうえSkypeOutという機能で、有料とはいえ世界各国の公衆網(PSTN, Public Switched Telephone Network)に電話をかけることすらできるのです。ですから私も気に入って使っていました。

しかしSkypeOutには大きな問題があります。数ヶ月前からVISAカードでの支払いシステムがぶっ壊れてしまい、世界各国で通話クレジットを購入不能な状態がずーっと続いているのです。日本でも同様のようで、私も買うことができないでいます。

このことはフォーラムでも多くの人が指摘していますが、一向に改善する兆しがないどころか、公式のアナウンスすら全くありません。それによって多くのユーザが利用をあきらめて、別のソフトウェアを導入しています。

支払いができないような重要な問題を解決できないのも大きな問題ですが、なにより最悪なのは、問題を認めて解決への方針を示そうとしないSkype社の姿勢です。無責任かつユーザを無視した姿勢であり、このような業務能力では、今後ともどのような問題がおきるかわかりません。

Livedoorが日本に導入するつもりらしいですが、日本からVISAで支払いができないのに、いったいどうするんでしょうね。さてはて。

Skype社ではカード詐欺防止に全力をそそいでいるために問題が発生していると一部で匂わせていますが、だとしたらクレジットカードが問題なく使えるその他のオンラインショップなどはどうなっているんでしょう。なぜSkypeだけ使えないのだ?

Posted by arai at 09:36 PM | Comments (1)

November 09, 2004

Syntactic Salt Considered Harmful

さて政治的に正しくないことを書いたあとは、技術的にレベルの低いことでも書いてごまかしましょう。なんかダメなことばかり書いている気もしますけど、どうしてなんでしょうね。

無難な言語であるJavaですが、気持ちよいプログラミングを妨げる言語仕様がいくつかあります。ここでそれらを批判するとともに、Syntactic Saltは良くないと主張します。

1. キャスト構文を強制される

Javaではオブジェクトのダウンキャストをするときに、必ずキャスト構文を書かなければなりません。しかし、ダウンキャストはそれほど避けるべき行為なのでしょうか。確かに、なるべくポリモーフィズムで解決するほうがエレガントですが、それはクラス設計の大幅な見直しを伴う作業であり、ダウンキャストするのが面倒であるとしても何かヒントが得られるとも思いません。

そもそもJavaの言語仕様(5.0以前)では、ListなどのCollectionを使うときには、必ずダウンキャストが必要になるわけです。それなのにいちいち、foo = (fooclass) list.get(1)などとしなくてはいけないため、血圧が上昇してしまいます。

この状況はgenericsで改善されるのが幸いです。しかし、わざわざsyntactic saltを使い、初心者プログラマを戸惑わせ、熟練プログラマをいらいらさせるメリットはどこにあるのでしょうか。

2. throwsを書かされる

やりたいことは分かります。でも基本的には「どんな例外が投げられるのかが、一目で明らかになる」という言語仕様を実現するためにthrowsを強制すべきとは思いません。コンパイルオプションなどによっては、未処理例外の一覧が表示されるといった機能で良いはずです。

たしかにJDBCなどのCloseが必要な処理があるときに例外処理を忘れないというメリットはあるかもしれません。でも、そもそも希少リソースの解放問題と、例外処理は本質的には関係がないはずで.... エラーが発生することを考えれば、いずれにせよfinally節で処理されるべきであって....

throwsが強制されて一番恐ろしいことは、未熟練プログラマがなんでもかんでも例外をcatchして、その処理を無視してしまう可能性です。また、throwsを書くのが面倒くさいために例外のクラスをきちんと定義しなかったり、全てのメソッドにthrows Exceptionを書いてしまったりという恐れがあります。

熟練プログラマにとってはthrowsはイライラのもとでしかありません。百害あって一利なし。Syntactic Saltを廃絶しましょう。

3. byte型がunsignedじゃない

これはいわずもがな。byte型を符号付きで使う場面を思いつきません。unsignedがないと、bytewise,bitwiseな演算ってものすごくやりにくいんですよね。なんでbyte型をunsignedにしなかったんだろう?

Posted by arai at 03:01 AM | Comments (1)

November 09, 2004

love code

またしてもしょうもないことを思いつき、世間様の顰蹙も恐れずに新しい記事を書きます。どきどき。今回は恋愛対象のnotation技術の開発です。

geek codeの恋愛対象版ということでlove codeです。絶対すでに作っている人がいそうだけど、見当たらないので....

自分の属性はgeek codeで記述すればよいとして、お相手の属性をlove codeで記述するわけです。二種類のマークアップをメールのシグネチャにすれば、メールを送るだけで運命の人が見つかってしまう!なんて素晴らしい発明なんでしょう!

真面目に(それも英語で)作成していたら本気で悲しくなってきたので、適当にすこしだけ日本語で書きます。

Sexual Orientation

Sf!= 異性愛の女性求む
Sm== 同性愛の男性求む
Sftmts 女性から男性へのトランスセクシュアルの人求む
S!f!m 男性でも女性でも無い人がいいです
S! 無性の人求む
S* なんでもいいです
S? よくわかりません
!S 性的関係なんて私とは無縁です

Glasses

G+++ 眼鏡かけてない人と付き合うつもりはありません
G++ 眼鏡かけている人にばかりどきどきします
G+ 眼鏡かけてる人って知的でいいですよね
G うん、眼鏡もわるくないけどね
G* 眼鏡なんてかけさせちゃえばいいんじゃない?

Age

A++++ 年齢が二倍の人とつきあいます
A+++ 年齢が一回り上とかいいですね
A++ やっぱり年上じゃないとだめです
A+ 年上って素敵かなって思います
A 同い年くらいがいいかな
A- 年下がかわいいなって。
A-- 年下じゃないとだめです。

この項をこれ以上つづけると幇助罪で捕まるのでここまで。

Language

L++++ ラテン語とリンガラ語とシンハラ語くらいはね。
L+++ やっぱり5か国語は
L++ せめて3か国語くらい?
L+ 母国語と英語ができればいいんじゃない。母国語が英語ならもう一つ。
L 母国語ができればいいとおもう
L- 外国語ができるなんて非国民なんじゃないの。

Education

Ephd++++ dr. strange love?
Em++ いまどき修士はあってもいいかもね。
Emd+++ お医者様とか定番でしょ?
E- 学校に長く行くような実務的じゃない人はきらいです

Finance

F++++ せめて一回はIPOしててよね
F+++ マッキンゼーとか、そのへんで
F++ きっちり稼いでくれる人ならいいかな
F+ せめて自分のぶんくらいは....
F 金くらい自分で稼ぎますよ
F- お金なんて人を堕落させるって
F-- 全財産はたいてインド放浪しようってば

library

l++++ 家が図書館になってる人求む
l+++ 蔵書が1000冊くらいの人はいるよね?
l++ 月に5冊くらいは読んでいて欲しいかな
l+ まあ、読書する人であれば
l- 本の虫はきらいです
lf fiction
ln nonfiction
la academical, technical, professional

おかしいなあ、なんか履歴書みたいになってきましたね。Dress, Shapeとかはgeekcodeのをつかってもらうとしても、やっぱり、もう少し肉体的なことも入れたほうがいいのでしょうか。

Build

B++++ 州知事みたいな人がいいです
B+++ ラグビーとかやってる人がいいなあ
B++ スポーツしてる人じゃないと
B+ なんか運動してればいいかな
B ふつうでいいんじゃない
B- 筋肉質の人は嫌い
B-- 筋肉なんてないひとがいいです
B* anabolic steroidを輸入すればいいんじゃない?

breast

b++++ イタリアの国会議員みたいな人がいいです
b+++ 両手に余るくらいは欲しいよね
b++ 片手に余るくらいかなあ
b+ まあ、ふくらんでいればいいです
b こだわりません
b- ちいさいほうがよいです
b-- 大きい胸は私の女性恐怖症を悪化させます
b* 手術すればいいんじゃない?

うーん、そろそろ書くのに勇気がいるようになってきました。もうやめます。
みなさんのlove codeをコメントで教えてください。待ってます。

Posted by arai at 12:29 AM | Comments (4)

November 01, 2004

CF-R1信者がCF-R3を買う

午後にPanasonic Letsnote CF-R3が届きました。まだあまり触っていませんが、動作は高速で申し分ないようです。そしてVGAコネクタがつき、バッテリーも強化され、もう言うことなしです。残念ながらキーボードまわりは、あまり改善されておらず、やや使いにくい印象です。トラックパッドのボタンはクリックしにくくなっていました。慣れれば変わってくるかもしれませんが。

Panasonic Letsnote CF-R1も素晴らしいノートPCです。私はこれまでDEC HinoteUltra II, Compaq Aero, Thinkpad, VAIOなどを使ってきましたが、本当の意味で満足した初めてのノートPCがCF-R1です。これまでのノートPCには、それぞれの機械に特色がありました。

DEC HinoteUltra II(DHU2)は超高級機で、ハイスペックかつ軽量薄型小型というものでしたが、今考えれば重量は2kg、大きさはA4の分厚い雑誌くらいありました。スペックもかろうじてWindows95が動く程度のPentium 120MHzでしたっけ。でも衝撃的なマシンでしたね。

Compaq Aeroは安価なサブノートPCで、よくできていました。ただDOSの時代がすぐに過ぎてしまったので、あまり活躍することがありませんでした。そういえば、なんと液晶もモノクロでしたよ。今となっては考えられないですね。

VAIOは悪い思い出です。SONYはPCが何なのかを分かっていないのでしょう。壊れやすく、動作が遅く、不安定でした。他人のVAIOをみても、いつもそのような状態なのでVAIOシリーズは良くないのでしょう。誰かがVAIOを買うことになったら、なんとしても止めることにしています。

そうしたなかCF-R1はすべてにおいて画期的なマシンでした。フルスペックを維持しながら、驚愕の軽さとバッテリー容量、そしてサイズも小さいのです。

いままでノートPCを日常的に持ち歩いて、メモ書きや喫茶店での仕事などに使えたらいいなあ、などと夢想していたことが現実に気楽にできるようになったのです。ノートPCは普段持ち歩かないという人が多いですが、それは気楽に持ち運べないからですね。僕も持ち歩く使い方など実際には考えてもいませんでしたが、CF-R1を買って、どこにでも持ち歩くようになりました。

そういうわけで、私はLetsnoteの虜になってしまい、他のノートPCを買う人を見ると不幸でならないのです。福岡在住のSさん(会社役員)などは、Thinkpadを買ったがために、福岡中の喫茶店で「電源使わせてもらえませんか?」と聞いてまわり、すっかり有名人になってしまう始末です。

こうした不幸を二度とおこさないために、私は立ち上がり、ノートPCを買う人をみれば、実力行使をしてでもLetsnoteを買わせるべく決意したのです。みなにLetsnoteの喜びを伝えるという崇高な使命に胸が震えます。

Posted by arai at 02:41 AM | Comments (8)

November 01, 2004

Obama議員演説

そういえば米国の議員の演説をまともに聞くのは、もしかしたらこれが初めてかもしれません。そして、これは聞く価値のあるものだと思いました。演説というのは、このようにあれば人の心を震わせるのだなと。当たり前な内容だからこそ、かもしれませんね。

C-SPAN演説のビデオ(RealVideo)を見ることができます。演説の和訳はこちらに

「アメリカの中心にあり、リンカーン大統領を生んだ偉大なイリノイ州を代表し、この党大会でお話をさせていただける事を深く感謝します。

今夜わたしがここにこうして立っていることは、非常にありそうにない事であり、特に名誉と感じています。というのも、わたしの父親はケニアの小さな村でヤギの世話をしながら、薄っぺらい金属製の屋根のついた小屋で勉学に励んだ末にアメリカに留学生として来た人でした。彼の父親、つまりわたしのおじいさんは、イギリス人植民者のために召使いとして働いていた料理人でした。」 [macska.orgより] からはじまります。

とてもわかりやすい英語ですし、ぜひ聞いてみてください。

Posted by arai at 01:50 AM | Comments (0)