Sleipnirの件について

なんともお気の毒な話です。奪われたものが作者氏の下へ無事戻ってくることを願って止みません。

Sleipnirは今のところ総合的に最も優れたタブブラウザだと私は思っています。私が初めて使ったタブブラウザも確かSleipnirだったと思います。unDonutの開発においてもいろいろ参考にさせていただいてました。どこをどう参考にしたかはもう覚えてないんですが。しかしそんな優れた作品がこのような形で終わりを迎えるかもしれないというのはあまりに残念なことです。

ソースのバックアップについて言えば、まあ確かに外部メディアにバックアップがないというのは不思議な気もしますが、PCの故障と盗難を比較してみれば当然HDDが飛んだとかの方が身近ですし、私もこの件が起こるまでPCごと盗まれるというのは頭から抜けてました。ハードウェア的なセキュリティももちろん必要ということを心に留めておくことにします。

そう、これはどうでもいい話なんですが、ファイルのパーミッションにはやたらと気を遣うくせにログイン時のパスワードを紙にメモっておくとかありえません。某友人。しかも5文字ですか。

あ、unDonutのソースは二ヶ月おきにCD-Rに、一ヶ月おきにサーバーにバックアップしてるので一応大丈夫です。だれも気にしてないと思いますが。

Graphical User Interface

グラフィカル・ユーザー・インターフェイス、通称GUI。今どきはもうマウスだけで操作できないソフトは人が寄り付かないような風潮ですね。インターネットしかやらない友人なんかにDOSプロンプトといったところで何それ、といった具合です。

さて、次に二つのプログラムのソースコードへのリンクを貼っておきます。
http://www5.ocn.ne.jp/~minute/data/list1.txt
http://www5.ocn.ne.jp/~minute/data/list2.txt
これらのプログラムはどちらも「Hello」という文字を表示するプログラムです。前者は真っ黒なコンソールの上に、後者はウィンドウの上に文字を表示します。たったそれだけの違いですがプログラムの複雑さは桁違いです。プログラムはGUIで作られるのが当たり前になった今でも、プログラムを学ぶための第一歩はウィンドウとは無縁な真っ黒いコンソールから始まるのが一般的だと思います。

Windowプログラミングは決して敷居が低いものではありません。ウィンドウの大きさが変更できたり、文字のフォントや色や大きさ等を操作できたり、自由度が大幅に上がっただけに覚えるべきことも比例して増えています。ただし、決して高すぎるハードルでもありません。ちょっとした慣れで何とかなるレベルです。

別に何がどう難しいということも無いのですが、GUIの作成は面倒に感じることが多かったりもします。例えばunDonutのオプションに一項目加える場合の手順はこんな感じです。

  1. まず、リソースエディタというものでダイアログの上にチェックボックスを一個追加配置します。この作業はグラフィカルなエディタ上で行います。
  2. 次にプログラム内に、チェックボックスの値を記憶するための変数を用意します。
  3. オプション画面を開いた時には変数の値を→チェックボックスに反映させます。
  4. OKボタンが押されたときはチェックボックスの状態を→変数の値に反映させます。一般的にチェックボックスがONなら変数は1、OFFなら0という関係にしておきます。
  5. プログラムは特定の機能を実行する際にこの変数の値をチェックして処理を分岐させたりするように作ります。
  6. プログラムの終了時には設定ファイルに変数の値を保存するようにします
  7. 次回プログラムを起動する際に保存した値を読み込むようにします

たかだか一つの項目を作るのに6,7手順もの作業が必要なんです。もちろん面倒は嫌いなので、ツールやら開発環境の機能なんかを用いてある程度自動化しています。それでもいつも「もうちょっと簡単にならないかなぁ」とか思っちゃうんですよね。

今日も結局何が言いたかったのか分からない文章になりました。

Visual Studio .NET 2003

2004年も終わろうというのに今さらではあるけれどもVS2003を購入。とりあえずインストール。今どきというか何と言うか、垢抜けた感じのデザインになっていますね。

で、早速unDonutのプロジェクトをビルドしてみる。・・・「エラーの数が100を越えたのでビルドを中止します。」。もちろんこれは予想の範囲内です。ベースとなるライブラリのATLがいろいろと変わっているのは聞いていたので。これは時間をかけてコンパイルが通るようにしていきます。

では今度はMozillaをビルドしてみることにします。ソースを落としてきて、必要なツールを揃えて、環境変数を設定して、ビルド実行、と。・・・・「コンパイラは実行ファイルを作成できません。」。あれれ。上手く行かない。よく見ると何故かインストールもしていないgccというコンパイラを使用しようとしている。そりゃこういうときにもっぱら使用されるコンパイラgccであるけれども、今回使いたいのはVCのコンパイラです。何か設定漏れがあるのかなぁ。結局よく分からないのでこれもやめ。VC6の時は普通にコンパイルできた気がするんだけどなぁ。

結局、VBみたいにビジュアルなユーザーインターフェイス作成が出来るようになったのを確認して一日が終わりました。いつの日かこの環境を使いこなせる日はやってくるのでしょうか。

VC6の時も買ってから半年くらいはディスクの肥やしだったことを思えばまだましのような気もしますが。

unDonut一日一歩

最近メールの処理が何だか遅れに遅れまくってます。というかすっかり確認するのを忘れていました。約二週間分です。ありえません、普通は。大事なメールは別アドレスで来るので問題ないですが、雑誌からの掲載依頼やら質問メールやら何件か来てますねぇ。やばい。まじヤバイ。

まだ返信してないですが、素敵なunDonut用のアイコンが送られてきたのでご紹介します。というか、こちらをご覧ください。
http://yusaku.jugem.cc/?day=20041019
デフォルトのアイコンにしてしまってもいい出来栄えだと思います。とりあえず、スキンごとにアイコンを変えられるような機能を作ろうと思いました。

先日出したrelease12aにもバグがあるようで、manifestを置くとページ内検索が効かなくなるようです。もう直してあるんですがいささか確認したいことがあるので配布は明日にします。

(10/31追記) 上記のバグを修正したtest版をあちらで配布しています。バグに困っている人はお試しください。

とりあえず再開

掲示板の方返信終わりました。しんどい。まるで夏休みの宿題のようでした。

皆様にはいろいろとご心配をおかけしてすみませんでした。今は随分復調してほとんど生活も差し支えない状態です。開発のほうもぼちぼち再開しております。

先日出したrelease12のほうですが、あれは主に9月までにいただいたバグ報告などを元に作成していたバージョンです。実際には10月頭ぐらいまでに作業した分にちょこちょこと手を加えたものだったと思います。

ちょっと今マウスジェスチャーを含む右クリック関連の処理に微妙な不具合があるようでその対策を行っています。近日中に12a出せたらいいなぁと思うのですが、微妙かも。

ところで今日聞いた話ですが、タブブラウザ関連の脆弱性とやらでunDonutも当てはまるものがあるとか。
http://www.forest.impress.co.jp/article/2004/10/21/tabbrowsersecad.html

まあ言われてみれば確かに問題ありますよね。今まで全く気にも留めませんでしたが。タブブラウザ作者としてはどのような対策をとるべきなのでしょうね。ダイアログが表示される際にどのタブから出されたものなのかが分かれば何とかなるでしょうけど。できるものなのでしょうか。とりあえず、今すぐ脆弱性を突かれるなんてことは無いでしょうから
週末にでも考えることにしましょう。

ところでなんかもう掲示板一つじゃ状況を把握し切れません。バグと要望を分けたいなぁとか、もう少しタスクを管理しやすい何かが欲しい。CGI設置しようにもうちのISPのサービスはCGI禁止ゆえに断念。

要望受付一時中止

こないだも病院に行って診てもらったのですが、未だ調子がすぐれないためもう一度行ってみたところ、十二指腸の方に異常がみつかり現在治療中です。幸い程度は軽いらしく服薬による治療だけでいいみたいです。

そんなこんなで本業の方にも支障が出てしまったので、開発のほうはさらにペースを落とさざるを得ません。しばらくは健康に気を遣って過ごそうかなと。ということで新規要望の受付は少なくとも今月は停止させていただくことにしました。既に書き込まれている分についてはおいおい検討したり返信したりするつもりです。

unDonut一日一歩(9/30)

あらら、9月ももう終わりですね。最近胃が痛くて病院に行ってきました。特に問題は無いといわれましたがストレスがどーのこーの言われました。ストレスはたまってません。単純に不摂生な生活に問題があるのかも。

亀より遅いかもしれない開発スピードで作業中のunDonutですが次回リリースはもう少し先になります。大体release12として出せる分くらいの内容は整いましたが、release13か14に搭載予定の、ユーザー拡張メニュー機能の下地を作成中なのでそれがもう少し進まないと出せないですね。ユーザー拡張メニューに関してはhttp://d.hatena.ne.jp/undonut/20040825にも書いてあります。

release12は細々とした部分の修正という形です。その他地味ながら使えるかもしれない機能を少しばかり入れました。


前回のコメントに対して少し。unDonutではコンテンツのフィルタリングは行わない方針で行きます。その手の処理はproxomitron等で行ってください。