Diary?::2006-11-23

00:30

Epiphany、セッション機能が付いてないのかよ! もしかして自分でセッションを書けと? それはなんていうか凄く面倒臭いなあ。誰か書いてないかなあ。

と思ったら Tab Session Management extension for Epiphany にあった。いちいちセッションの保存をしないといけないのがアレだなあ。アプリケーション終了時に何かしらフックできないかなあ。気が向いたら調べる。

数分後追記: うーむ、コマンドラインオプションでセッションを復元すると、ウィンドウの大きさがちと変になるな (条件があるかは不明)。まあ別にブラウザは PC の電源を入れている限りは立ち上げっぱなしだから、別にあんま問題ないんだけど。それよかセッションの保存を忘れることの方が問題だな。反面、セッションの使い分けが出来るのはいいかもしれない。普段のブラウジング用と開発用のワークスペース用でセッションを使い分けるとか、これは俺にとってはありがたいな。 Firefox よりもリソースを食わないようなので、二つぐらいプロセスを立ち上げても問題ないかな?

02:12

やはりというか何というか、使っていくうちに不満点が出てくるものだなあ。

今のところ不便なのはこの二点。何かねーかなと思って調べたら、やっぱりありました、 Third Party Extensions for Epiphany。ここで俺の必要としてるものは全部揃うかな。

……って、タブの Undo はバグバグ過ぎて公開自粛だってよ。

17:35

思うんだけどよ、言われなきゃ学習しないエンジニアってそれ意味あんのか (即答: 無いね! 早く死ぬか転職すればいいのに)。それってつまり、格闘家が自発的にトレーニングしないとかミュージシャンが自発的に練習しないとか、そういうレベルの話だろ。計算機科学に関する何かを学ぶことを「仕事」「義務」と思ってるうちは、まぁそんな野郎は信用したくても出来ないね。お前はエンジニアになったからシステム作ってるんじゃないだろう。システム作りたいからエンジニアを志したんだろう? そのためのトレーニングが苦痛じゃなかったからこうして仕事をしてるわけだろう?

だから何かしら技術的なことを学ぶのは苦痛では無いのだが……。でもなあ。 Excel の使いかたを調べるのは苦痛だ (ていうか表計算以外に Excel を使うな!)。

19:02

前から書いている通り俺はテレビを持っていないが、何でそれだけでみんなびっくりするんだ? テレビが国民共通の娯楽みたいな認識があるのかなあ。だったらそれは凄く嫌だなあ。

20:34

タブブラウザを名乗るなら、 target=_blank は新しいタブで開け! まったく、何でこういうところでわかってないのかなー。

21:46

仕事で Java を使っていて目にするメソッドオーバーロードの使いかたは、次のような使いかたが殆どである。

public void setData(String name_, String address_, String nick_) {
  this.name = name_;
  this.nick = nick_;
  this.address = address_;
}

public void setData(String name_, String address_) {
  this.setData(name_, address_, "");
}

これは例えば Python では次のように書ける。

def setData(name, address, nick=""):
  self._name = name
  self._address = address
  self._nick = nick

つまり別に必須でない引数のデフォルト値を与えるために Java ではメソッドオーバーロードをしなければいけないわけだけど、これは非常に煩わしい。この例は必須でない引数が一つだけなのでまだましだが、これが三つ四つとなっていくと次のような事態を招く。

/* a 以外は全部オプション */
public void foo(ObjectA a, ObjectB b, ObjectC c, ObjectD d) {
  ...
}

public void foo(ObjectA a, ObjectC c, ObjectD d) {
  ...
}

public void foo(ObjectA a, ObjectB b, ObjectD d) {
  ...
}

public void foo(ObjectA a, ObjectB b, ObjectC c) {
  ...
}

public void foo(ObjectA a) {
  ...
}

デフォルト引数とキーワード引数というアイディアは偉大だ。

22:53

俺が家族愛とか愛国心にいまひとつピンと来ない理由は、つまりは何を愛するのかってことを自分以外の誰かが決めるということがバカバカしいというのもあるんだよな。子供は親を選べないし、そもそも生まれる国は選べないし、合同結婚式の参加者は結婚相手を選べない (一応拒否権はあるが、宗教における拒否権が建前なのは経験則上よく知っている)。

それにしても統一協会は酷いなあ。この電波集団のたちが悪いところはナショナリズムを煽って反日思想を刺激して、それを信仰の原動力の一因にしてるところにある (詳しいことを調べる気力がないので覚えている範囲で書くけど、確か従軍慰安婦だの殉死した兵士の霊が悪さをしているとかいう話があった)。俺は実際に戦争を体験した人達が戦った相手を個人的に怨むのは仕方がないと思うのでどーでもいいが、それを次の世代に引き継がせるのは心の底からゲスな行為だと思う。そしてそんなゲスのシンパが政治家や芸能人にも洒落にならない数いるってのは、これは多分どんなホラーよりも恐いことだ。

23:28

マウスジェスチャーのデザインについて。

Epiphany ではマウスジェスチャーが次のように定義されている。

戻る
進む
ディレクトリを一階層上へ
上左上
ホームへ
上左下
リロード
上下
中止
左上
新しいウィンドウ
新しいタブ
閉じる
右左右
下右
フルスクリーン
下左
次のタブ
上右
前のタブ
上左
ソースを見る
左下右下
上右下

最初にはっきりさせておきたいことは、良いマウスジェスチャーとは何かってことだ。俺が考える良いマウスジェスチャーの定義は次の通りである。

以上の観点からはツッコミどころが何箇所かある。「新しいウィンドウ」なんてまず使わんだろうに、よりによって「上」という一等地が割り当てられているのは明らかにミスである。「ディレクトリを一階層上へ」も酷いなあ。特にページ内のナビゲーションリンクがダメなページの場合、このジェスチャーがかなり重要なんだけど。キーボードショートカットが Alt + Up というのに対して明らかにおかしいだろ。リロードと中止が対になってないのもなんだかなあ。「閉じる」「ソースを見る」に複数のジェスチャーが割り当てられてるのもアレだ。とくに「閉じる」、右左右って正気かよ。

一応、 /usr/share/epiphany-extensions/ephy-gestures.xml を編集してカスタマイズできるようだけど。でもなあ、最初っからもう少し理性的なデザインにしてくれよと思う。

ところで Epiphany のブックマークシステムは割合面白そうだけど、もうブックマークは Web アプリで管理した方が圧倒的に有利だよな (ブラウザの乗り換え、マシントラブル、学校やネットカフェ、宿泊施設での利用など)。もちろん Web サービスの乗り換えってのもあるんだが、大体は OPML でインポート/エクスポートするとか逃げ場があるでしょ。ブラウザのブックマークはそれよか状況が悪い場合もあるからな。そして何より、ブックマークに HTML としてアクセス出来ればシームレスな操作性になる。これは結構無視できない部分だと思う。

23:46

自分でもしょっちゅう見過ごしてしまう部分に、戻る進むはそれぞれ左と右でいいのかってことがある。これは横書の文章は左から右へ流れることから来てる思うんだけど、実のところそうでない (つまり右から左の) 文化圏の人達もいるからな。そういう人達にとって、今のウェブブラウザはどうなんだろう。俺の推測が間違ってるのなら、あんま問題じゃないと思うけど、ビンゴだったら違和感を持ってる人達がいそうだなあ。それともみんな気にしないで使ってるのかな。

数分後追記: この理屈だとスーパーマリオシリーズはアラビア語圏では問題ありってことになりそうだな。流石にこれはないかな。

Written by Kuwata Chikara
Creative Commons