Peta Walkers

HOME: 少しまえのこと

2005.03.31(木) - Linuxでのクリップボード

 LinuxというよりMotifやQt, Gtk+あたりで実現される機能です。 いろいろな方式があるようです。

 GIMPは独自実装だと思っていましたが、単に遅延転送するために ペーストできるアプリケーションが限られているだけのようでした。

 Linuxでスクリーンショットを撮りたいのですがapt-get install ksnapshotに 失敗してしまいました。悪影響が無ければいいのですが。 とりあえず、わかったことはデフォルトではスクリーンショットが撮れないことと、 Windowsのようにクリップボードには入らないということですね。

 Lindowsではキツイですね。Firefoxインストールできないですし。 最新のディストリビューションで試したいところです。

2005.03.29(火) - Lindowsを再インストール

 今日はLindowsを再インストール。というのも、

#apt-get dist-upgrade

なんてよくわからないでコマンドを実行したためにLindowsがおかしくなってしまったためです。 なんとかしてFirefoxをインストールしたかったのですが、 努力の末、破壊したようです。 特に重要なデータは無いので再インストールしました。

 インストール後、ネットワーク関係を設定。ほとんどGUIで設定できます。 DNSを設定、 LANボードが2枚入っているので、eth1の方を有効にしました。 するとブラウザでインターネットに接続できるようになります。 /etc/hostsで自分のIPアドレスを登録しないとJavaで自分のIPアドレス、ホスト名を取得できないようなので、これも設定。 Lindows or Linuxが悪いのかJavaが悪いのか、それとも常識なのかはわかりませんが、 とにかく設定が必要です。

 Lindowsをインストールするとlilo.confが書き換えられてしまうので元に戻します。

#vi /etc/lilo.conf

 GUIのエディタではなぜか開けないようだったのでCUIのエディタで編集です。 coLinuxの/usr/bin/editor(本名不詳)が使いやすかったけど、 Lindowsではvi(ヴィ)へのリンクになっているようで、苦労しました。

 このページを参考になんとか編集。

other=/dev/hda1
        label="Windows"

この行をLinuxより前に持ってくる(元々はWindowsではなくMS Windows® XPが文字化けして入っている)。

#lilo

でブートセクタをlilo.confで書き換える。

Warning: Int 0x13 function 8 and function 0x48 return different
head/sector geometries for BIOS drive 0x80

たしかこんな感じの警告が表示され、非常にあせったわけですが、 検索したら「liloの警告文」という記事が見つかり、 問題ないということで再起動して確認...問題なかったです。

 あとはapt-get install gimpでGIMPをインストールしてみました。 これは問題なくインストールできました。 aptって便利かもしれませんが、Windows Update以上にハラハラします。

 もちろんペタクローンも動かしてみました。 今回はMotif用SWTの.soファイルをpetaclone.jarと同じディレクトリに入れて実行しました。

#export LD_LIBRARY_PATH=.
#java -jar petaclone.jar

一応動きますが、設定ダイアログをEnterキーで閉じたらJavaVMがクラッシュしました。 とりあえずここまで。道のりは険しいです。

 GIMPのインストール以外は少なくとも1回はやっているはずですが、全部忘れていますね。 落ち着いたらハードディスクを1個とリムーバブルケースを買って Linuxをもっと安全に試そうと思っています。

 追記: ペタクローンのフリーズの件はおかげさまで解決しました。 ご協力いただいた方々に感謝いたします。

2005.03.27(日) - CD や DVDの寿命は短い

 Hotwiredの記事「CDやDVDの寿命は意外に短い?(2004年5月6日)」によると 耐用年数ははっきりと書いてはいないものの、アルミニウム層が劣化してそのうち読めなくなるということが書いてあります。

 CD-Rなど書き込み可能なメディアは熱に弱いということで、耐用年数はさらに短くなるそうですよ。 大学の先輩が「CD-Rの寿命は数年」と言っていたけど、まるっきりの嘘じゃなかったわけですね〜。

 ただ、音楽CDは何回聴いても音質の劣化が無いから、 永久に不変というイメージが定着していないでしょうか。 普通の人はそう思っている可能性が高いですね。

 そうすると僕らが還暦を迎えるころには若いころの思い出は気づかないうちに再生不能になっているかもしれませんね。 寂しいことです。 もっとも、そんな未来にはCDとかDVDという化石を扱うハードウェアは存在しないでしょうが。 あくまでもCDとDVDはバックアップ用でマスターはハードディスクでしょうか? 常に複数のコピーを保持してリスクを減らしましょう。

2005.03.24(木) - ペタクローン0.8.4αリリース

 ペタクローン0.8.4αをリリースしました。 「ペタろうプロトコルでフリーズする」の原因、または原因の一つを修正しました。 ペタろうプロトコルだけでなくIP Messengerプロトコルでも発生したようでした。

2005.03.23(水) - 機能追加

 クリップボードから画像を添付する機能はいつでもペタクローンにマージして リリースできる状態ですが、ペタろうプロトコルでフリーズするバグが解決していないので、 このような状態での機能追加はちょっと気が引けてしまいます。

 技術的にはクリップボードからCF_DIB型のデータを取得して、 BMPのファイルヘッダを付けてそのままファイルに保存するだけです(Windows)。 Linuxでも同じことができるようにしたいと考えています。 久しぶりに起動してみたら画像をコピーできるソフトが1つも入っていない・・・

 あと、Firefoxをインストールしようとしたけど、インストーラが起動しない・・・ もう時代遅れのシステムになったのかなあ。 Linuxって何気にOSもマシンスペックも寿命が短いです。

2005.03.22(火) - 東京に行ってきました

 東京に日帰りで行ってきました。

2005.03.18(金) - クリップボードから画像を添付

 ペタクローンでクリップボードから画像を添付できたら良いと思いませんか? 例えばPrintScreenキーを押して画面やウィンドウをキャプチャして、 簡単な操作で添付ファイルとして見て欲しい人に送る、といった使い方です。

2005.03.17(木) - OperaがSVGをサポート

 ITmediaの記事「次期Operaブラウザ、SVGをネイティブサポート」 によるとOperaがSVGをサポートするそうです。

 MozillaもSVGサポートが有効なビルドがありますね。 いつの間にかFirefoxのビルドも追加されていますし。 ブラウザ(とくにIE)が標準でSVGをサポートするとWebのデザインは明らかに変わっていくでしょうね。

2005.03.16(水) - ペタクローン0.8.3αリリース

 ペタクローン0.8.3αをリリースしました。

2005.03.15(火) - ペタクローン0.8.3αリリース予定

 明日あたりにペタクローン0.8.3αをリリースしたいと思います。 GUI関連のバグフィックスになります。 フリーズの件はいまだに再現しないため、 直るかどうかは試していただかないとわかりません。m(_ _)m

2005.03.14(月) - Excel VBA: 常に表示されるコメントを追加()

 常に表示されるコメントを作成します。 しかも内容の大きさに合わせて伸縮するタイプです。 応用してフォントを等幅にしたり、太字を解除するものも作れますね。 背景色を変えたものを数種類用意して使い分けるとオシャレかも。

Sub 常に表示されるコメントを追加()
    ActiveCell.AddComment
    ActiveCell.Comment.Text Text:=""
    ActiveCell.Comment.Shape.TextFrame.AutoSize = True
    ActiveCell.Comment.Visible = True
End Sub

 Microsoft製品でわざわざ買いたいと思うのはExcelくらいです。 実際にMac版の Excel 5.0 は買いました。 セルの結合ができないふる〜いバージョンです。

2005.03.13(日) - ペタクローン0.8.2αリリース

 ペタクローン0.8.2αをリリースしました。

 フリーズの件は再現しないため修正できたかどうかは不明です。 実際にお試しいただければと思います。 この他にはペタろうから開封確認が送信されないバグを修正しています。

2005.03.12(土) - ペタクローン0.8.1αにフリーズするバグ

 私の環境ではまったく再現しないので困っているのですが、 ペタクローン0.8.1αにペタろうプロトコルを使用した際にフリーズするバグがあるようです。

 送信処理を行うとMessengerは成功か失敗かをGUIに通知しますが、 この通知が行われないとGUIはずっと応答待ち状態になりフリーズしているように見えます(設計が悪いです)。 MessengerのどこかでGUIへの応答処理を書くわけですが、どこかで応答処理が行われずに 送信処理を終了している部分があるはずですので探してみます。

 修正版はVectorでの公開を待たずにここでリリースしたいと思います。

2005.03.11(金) - Mozilla Suiteの終焉

 前からわかっていたことではありますが、

現在ベータ版までリリースされているMozilla 1.8の正式版はリリースされないこととなった

ということでFirefoxへの移行が具体的になったようです。 1.7が最終と言いつつ1.8ブランチがロードマップに見えたときは「えっ?」って思いましたが、 バックエンドのテスト用にリリースされているというだけあって、 Firefoxにはない機能が多く、見劣りする方になかなか移行できなかったわけですが、 今後はFirefoxの正式版にも取り込まれていくことになるわけですね。

Our plan for the Seamonkey suite is as follows:

  1. 1.7.xがMozilla Foundationによってリリースされ、メンテナンスされる最後のSeamonkey(Mozillaのこと)になります。
  2. Mozilla FoundationはSeamonkeyの開発を続けたいコミュニティのメンバーに対してインフラ(CVS, bugzilla, 開発ツール等)のサポートを提供します。 でもMozilla Foundationの製品としてのリリースではないことを明確にするために恐らく同じ名前は使えないでしょう。
  3. Boris Zbarskyは関係者の署名でコミュニティの移行計画を説明した公開書簡をMozilla Foundationに投稿しました。 Mozilla Foundationはこれを支持します。

Mozilla Application Suite - Transition Plan

 後半の一部を意訳してみました。 コミュニティによる開発は継続されるかもしれないですが、Mozillaという名前ではなくなるようです。

 私の場合、MozillaがSuiteである必要はもともとなく、 Firefoxが古いMozilla(のブラウザ)の軽量版にしか見えていなかっただけなので、 Mozillaの終焉はFirefoxのほうが最新になるということで良い出来事かもしれません。

2005.03.04(金) - Mozilla 1.8 Beta 1がリリース

 1週間ほど前ですが、Mozilla 1.8 Beta 1がリリースされています。 ようやくベータになりましたね。

 Operaのようにtarget="_blank"などのリンクが新しいタブで開くようになります。 今日はこれのやり方を紹介したいと思います。

  1. URLの入力欄にabout:configと入力してEnterキーを押す
  2. browser.link.open_newwindowをダブルクリック
  3. 値に3を設定する

 再起動なしで設定が反映されます。

 1は現在のタブにリンクを開きます。2がデフォルトの新しいウィンドウ、3が新しいタブです。 ちなみに私は1を設定しています。

 追記: 中クリックでリンクを新しいタブを開いたり、タブを閉じたりする操作にだいぶ慣れました。 たまにホイールを回してしまって別のリンクを誤爆しますが、非常に便利です。 今回の設定(値は1)と合わせるとリンクをどこに開くかを作成者の意図と関係なく自分でコントロールできます。

2005.02.27(日) - Microsoft Officeのファイルにアクセス

残念なことに、私の利用目的の範囲において、 Jakarta POI も JExcelApiも正常に動作しない場合がありました。 これは主に書き込み系における問題です。 - いがぴょんの日記ウェブページv2 - Jakarta POI も JExcelApiも、私の利用目的では正常に動作しない場合がありました

 去年の5月ごろですが、私もPOIを使ってExcelファイルの読み書きを試したことがありますが、 実用的な品質ではなかった記憶があります。

 いろいろ試した結果、Excelを読み書きするには JACOB(BSDライセンス)をおすすめしています。 ちょうど昨日1.9がリリースされていますね。特徴は

 POIとは正反対ですね。 POIはファイル形式を解析して不完全ながら何とかアクセスしているのに対して、 JACOBがとっているアプローチは安心できます。 Microsoftがファイル形式を変更しても対応できますし、 POIよりもリスクが低いと言えます。

2005.02.24(木) - 次の開発目標

 風邪をひいていて書けなかったことを。

 0.8.1では開封通知対応と最小化起動の暫定対応を行いました。 その他のご要望は残念ながら見送っていますが、 0.8.2から小刻みにリリースしたいと思っているので、 引き続き気長にお待ちください。

 IP MessengerログをサポートしてからIPmsgViewが使えるようになって、 保管箱の存在意義が減ったよなあ。

2005.02.22(火) - 風邪

 ようやく治まってきました。

2005.02.19(土) - ペタクローン0.8.1αリリース

 ペタクローン0.8.1αをリリースしました。

 Web上のリリースノートなどは先行して更新するつもりでしたが、木曜からの体調不良でしんどいです。 変更内容はダウンロードしたファイルのHistoryに全部書いてあります。

 メモ 〜 症状は、せき、のどの痛み、鼻水、悪寒、発熱、筋肉痛。 1月10日に使った薬は第一製薬の新ペルハイ錠。 今回は武田薬品のベンザブロックIP錠。 ベンザブロックはのどの痛みにはほとんど効かなかったけど、悪寒にはよく効きました。

 症状はインフルエンザに似てるけど違うから病院で長時間待たされるより家で おとなしくしてるほうがリスクが少ないかな、多分。

2005.02.16(水) - blancoDbがリリース/Struts勉強します(今さら)

 blancoDbという R-Oマッピングツール(O-Rじゃなくて)がリリースされています。 以前から「ソースコード生成タイプのR-Oマッピングを開発しませんか?」で 作られていたツールですね。

 Hibernate, JSF, Seasar, Struts(いまさら?)など勉強しなければいけないことが山盛り…。

 Strutsはいい加減、語れるようになっていないといけない気がしています。 魅力を感じないんですが、やってみたらすごく気に入った、というのを期待しています。

2005.02.14(月) - 一段落

 昨日、ペタクローン0.8.1αをVectorに申請しました。 早ければ19日、順当に行けば23日にダウンロードできるようになるでしょう。

 ところで今日、街を歩いていたら外国人に道を尋ねられました。 「○○ bank はどこですか?」とまあ、おおむね日本語だったわけなんですが、 一番近い○○銀行の場所は私もわからなくて案内できずじまい。 I continue to looking for. 力になれなくてごめんねー。遠くなら知ってたんだけど。 今度、時間に余裕のある時はDo you look for together?って言おう。

2005.02.09(水) - リリース予定

 今週末にペタクローン0.8.1αをVectorに申請します。 来週の土曜日くらいにはダウンロードできるようになると思います。

 去年の12月にすでにお伝えしていましたが、ようやく開封通知に対応しました。 BBSでご要望をいただいていた最小化起動も 不完全ながら対応しました。

 今度のリリースは内部的な変更が中心ですが、同時にファイル受信の安定化、 エラー処理の改善など重要な変更やバグフィックスを行っています。

2005.02.08(火) - 今までのパフォーマンスコーディングは既に古いかもしれない?2

 書き方が悪いのかStringBufferの方が少し速いです。 どっちにしろ私の場合、2つの文字列の連結はほとんど"+"演算子で書くようにしてます。

 せっかくなのでPerformance Myths Exposed(PDF)(パフォーマンス神話を暴く)も読んでみました。

Modern Java VMs favor common usage patterns and clean code.

 実装依存のチューニングはするなってことですね。

2005.02.07(月) - 今までのパフォーマンスコーディングは既に古いかもしれない?

んー本当に?

 これはバイトコードを見れば一目瞭然な訳だが、文字列結合は、"+"を使用したほうが1結合につきバイトコードが2命令減る(後は全く一緒)。元々そうだったのか、Javacが優秀になったのか!?

 ただ、J2SE1.4.2として結合された文字列が16文字を超える場合で、サイズをあらかじめ知ることができている場合は、StringBufferに初期サイズを与えたほうが確実に速い。 - nothin’ to lose ?

 パフォーマンステストを行ったコードが無いので何とも言えないですが、 J2SE 1.4.2なら一般的にStringBufferの方が速いでしょう。 J2SE 5.0なら"+"演算子を使うとStringBuilderで 連結が行われるので"+"演算子の方が速くなるらしいです。

 でも、ずいぶんパフォーマンスが改善されたから1.4.2ではほとんど差が無くなってるみたい。

2005.02.04(金) - SWTのDropTargetとFileTransfer

 添付ファイルをドラッグ&ドロップで登録するためにDropTargetとFileTransferを使っていますが、 SWTを3.0にしたあとドロップできなくなってしまい、ここ2日ほど悩んでいましたが、原因がわかったのでメモ。

まず、問題が出たDropTarget。

DropTarget fileTarget = new DropTarget(text, DND.DROP_DEFAULT);

次のようにするとうまくいきます。

DropTarget fileTarget = new DropTarget(text, DND.DROP_MOVE);

別に移動するわけじゃないからDROP_MOVEは変だと思うんですけどね。 って思ったら、Veronika Irvineさんが次のようにおっしゃってます。

Because you have specified DROP_DEFAULT:

    dropTarget = new DropTarget(control, 
        DND.DROP_DEFAULT | DND.DROP_LINK);

you need to implement

    public void dragEnter(DropTargetEvent event); and 
    public void dragOperationChanged(DropTargetEvent event);

What is happening is that you are dragging with no modifier keys pressed so the default operation is choosen. If you do not implement dragEnter and dragOperationChanged, then the default operation is assumed to be DROP_MOVE, however your drop target does not support DROP_MOVE so the target does not get involved in the DND operation.

In 2.1, this was handled inconsistently across platforms. In 3.0, it has been made consistent and will not allow the drop.

For more information see: http://www.eclipse.org/articles/Article-SWT-DND/DND-in-SWT.html

Bug 42033

 日本語で言うと、

 なぜならDROP_DEFAULTを指定してますから。

    dropTarget = new DropTarget(control, 
        DND.DROP_DEFAULT | DND.DROP_LINK);

あなたは

    public void dragEnter(DropTargetEvent event); and 
    public void dragOperationChanged(DropTargetEvent event);

を実装する必要があります。

起こっていることは、修飾キーを押さないでドラッグしているので デフォルトオペレーションが選択されたということです。 dragEnterとdragOperationChangedを実装していない場合、 デフォルトオペレーションはDROP_MOVEであると思われますが、 ドロップターゲットはDROP_MOVEをサポートしていないので ターゲットはドラッグ&ドロップ操作に関わることができません。

2.1ではプラットフォームごとに一貫性がない処理を行っていました。 3.0では一貫性があり、ドロップを許可しなくなります。

 仕様がきちんと決められたということですね。 あと、MOVEかどうかはDragSourceが決めていて、ドラッグ開始時はMOVEのつもりで ドラッグさせているからMOVEでいいんですね。

2005.02.02(水) - 寒い

 ここ数日寒い日が続いていますね。 パソコンを起動するとファンが異音を発します。 しばらくすると静かになるんですけれども。

 ペタクローンはもう少しテストします。

2005.01.21(金) - こんなやり方あるんだ

 とりあえずメモ。

2005.01.15(土) - ひさしぶりに「ペタクローン」でググる

 たまにチェックするようにしてます。

ペタクローンというソフトでは別名をつけることができる機能があるようだけど, メッセージを作ってからしか送信相手一覧が見れなかったり(presence確認ができない), 自分自身が送信相手リスト一覧に出なかったり(メモ代わりに使えない,自分の名前・グループ名が確認できない), 個人的には使い勝手がちょっと悪い。 - めもめも日記

 こういったフィードバックが落っこちているのでたまにググるんです。 上の動作はペタろうの仕様を模倣したものです。 IP Messengerのように使いたいという要望は以前にもいただいているので気には留めていますが時間が・・・

 少し驚いたのが次。

産業技術総合研究所(AIST)導入すべきオープンソースソフトウェアの調査(2004年3月)(PDF)

 目次では「ペタクローン」というカタカナが浮いてますね。 ペタろうの代わりとしてLindows対応のペタクローン0.7.7αを挙げています。

 AISTではみんなペタろう使っているの?という疑問も湧きますが、

ペタろうを女同士で使う → 男にも使わせる(それはもうすんなりと) → いつの間にか職場の事実上標準

という黄金パターンによって男が多いIT企業以外ではペタろうが標準だという職場は多いはずです。

 オープンソースでLinux対応だとこういうこともあるんですね。

2005.01.12(木) - Mac mini

 Mac miniがほしい。 元Macユーザーだったから、というのもあってとても気になります。でも、

という具合なので買い時を待つことにしました。 中古よりも安くてスペックもいいですね。 評判よければ人に勧めます。

2005.01.10(月) - 風邪

 風邪ひきました。鼻水、くしゃみ、のどの痛みが主な症状。

2005.01.06(木) - 謹賀新年

 あけましておめでとうございます。 今年もよろしくお願いします。

  1. ペタクローンを0.8.1にバージョンアップ
  2. いろんな技術に触れる
  3. 資格試験に合格
  4. 英語記事を翻訳(著作権関係とか大丈夫なんだろうか)

 こんな感じで考えています。 とりあえずは年を越してしまったものからですね。 今年も良い年でありますように。

HOME: 少しまえのこと