2006年01月20日

Greasemonkey に User Script をインストールしようとすると "NS_ERROR_FILE_NOT_FOUND" となりインストールできません

Greasemonkey をインストールしたことがない Firefox に 0.6.2 以上のものをインストールすると発生するようです。これは User Script の格納情報を記述するファイルがないために発生しています。以下の方法でインストールできるようになります。

  1. 利用している Firefox の Profile ディレクトリに移動、 Profile ディレクトリがわからない場合は http://www.mozilla.org/support/firefox/profile#locatehttp://www.mozilla-japan.org/support/firefox/profile#locate を参考のこと
  2. Profile ディレクトリ以下に "gm_scripts" というディレクトリを作成する、すでにあればそのままでよい
  3. gm_scripts ディレクトリに "config.xml" というファイルを作成する、中身は空でよい
  4. この状態で User Script をインストールしてみるとできるようになっている

2005年11月22日

MT は https に対応していますか?

基本的には利用できますが動作確認が甘いように見えます。以下を修正すると良いでしょう。(他にもあるかも)

diff -cr org/MT-3.2-ja-2/lib/MT/App/CMS.pm MT-3.2-ja-2/lib/MT/App/CMS.pm
*** org/MT-3.2-ja-2/lib/MT/App/CMS.pm	2005-09-28 09:47:00.000000000 +0900
--- MT-3.2-ja-2/lib/MT/App/CMS.pm	2005-11-22 17:20:47.795125216 +0900
***************
*** 2488,2494 ****
          if (!$app->param('cfg_screen') && $app->param('name') eq '');
      return $eh->error(MT->translate("Site URL must be an absolute URL."))
          if ($app->param('cfg_screen') eq 'cfg_archives'
!             && $app->param('site_url') !~ m.^http://.);
      require MT::Blog;
      return $eh->error(MT->translate("There is already a weblog by that name!"))
          if (grep { $_->id != $app->param('id')} MT::Blog->load({name => $name}));
--- 2488,2494 ----
          if (!$app->param('cfg_screen') && $app->param('name') eq '');
      return $eh->error(MT->translate("Site URL must be an absolute URL."))
          if ($app->param('cfg_screen') eq 'cfg_archives'
!             && $app->param('site_url') !~ m.^https?://.);
      require MT::Blog;
      return $eh->error(MT->translate("There is already a weblog by that name!"))
          if (grep { $_->id != $app->param('id')} MT::Blog->load({name => $name}));
diff -cr org/MT-3.2-ja-2/lib/MT/Util.pm MT-3.2-ja-2/lib/MT/Util.pm
*** org/MT-3.2-ja-2/lib/MT/Util.pm	2005-09-22 15:54:00.000000000 +0900
--- MT-3.2-ja-2/lib/MT/Util.pm	2005-11-22 17:37:26.610282232 +0900
***************
*** 930,939 ****
      return '' if ($url =~ /[ \"]/);
  
      # help fat-finger typists.
!     $url =~ s,http;//,http://,;
!     $url =~ s,http//,http://,;
  
!     $url = "http://$url" unless ($url =~ m,http://,);
  
      my ($scheme, $host, $path, $query, $fragment) =
          $url =~ m,(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?,;
--- 930,939 ----
      return '' if ($url =~ /[ \"]/);
  
      # help fat-finger typists.
!     $url =~ s,http(s?);//,http$1://,;
!     $url =~ s,http(s?)//,http$1://,;
  
!     $url = "http://$url" unless ($url =~ m,https?://,);
  
      my ($scheme, $host, $path, $query, $fragment) =
          $url =~ m,(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?,;

https サイトから Trackback されている場合、 mt_tbping の tbping_source_url に不正な URL が入っている場合があります。これはトラックバック一覧から修正することができます。

MT で Trackback をしたら "HTTP error: 501 Protocol scheme 'https' is not supported" というエラーが発生してしまいました

https の通信ができていないために発生しています。 perl のモジュールで Crypt::SSLeay を導入すれば解決されるかもしれません。 CPAN を利用するか Debian なら apt-get で libcrypt-ssleay-perl を入れればよいでしょう。

2005年11月09日

TypeKey を MovableType 以外のアプリケーションで利用することはできませんか?

アプリケーションが TypeKey の API に対応していればできます。 TypeKey の API は以下に説明があります。

http://www.sixapart.com/typekey/api/

アプリケーションが TypeKey による認証を利用するには以下が必要です。


  • TypeKey ユーザーとして登録を行い、 TypeKey トークンを取得しておく

  • アプリケーションの URL を指定しておく

TypeKey を利用することでアプリケーションはユーザーのパスワードを知らなくてすみます。ユーザーもアプリケーションにパスワードを流さなくてすみます。 TypeKey は認証した後、ユーザー名と e-mail アドレスのハッシュ値( SHA1 )を CGI パラメータにして指定のサイトに redirect してくれます。

TypeKey とは何ですか?

Six Apart が提供する TypeKeyはオンラインの認証システムです。 blog に対するコメントを書き込む際に認証させることができます。以下に説明されているサイトを挙げます。

2005年11月08日

Tropy はどのように使えばよいですか?

まだ世の中に登場してから間もない上、明確な目的を持って作られたわけではないようなので特定の使い方はありません。いろいろ実験してみるのがよいでしょう。ただし結城さんは Tropy 設計判断( http://www.hyuki.com/d/200511.html#i20051107092750)を公開されているのでそこから大きくはずれるようなものは避けた方がよいでしょう。試しに以下のようなものが考えられます。

http://cyclon.s11.xrea.com/vivatropy/

  • 過去の賢人(?)による知識を未来に簡潔に伝えるイメージです
  • Random というより次の知識というイメージだったので Next にしてみました
  • サインペンで書くイメージで書き切りとして Edit をなくしました(リンクをとっただけですが)
  • 知識をためるわけではないので 1 行入力しかできません
  • まだないですが item が 1 つ(もしくは 0 )の RSS を発行しても良いかなと思います

もともとの設計思想とちょっと異なりますが重要でも緊急性の低い「教え」みたいなものをためたり閲覧したりできるといいなと思いました。 Pull なんだけど Push な情報の摂取方法かなと思います。

Tropy とは何ですか?

結城浩さんが公開された無秩序な Wiki のようなものです。

http://www.hyuki.com/tropy/

2005年10月20日

MT ではテンプレートごとに出力文字エンコーディングを変更することはできませんか?

そのままではできないようですが Plugin を実装すれば可能です。

Plugin の実装には MT 付属のドキュメントの他に


Movable Type API Hacks その3 - プラグイン開発

http://www.sixapart.jp/movabletype/developers/naoya/archives/2004/11/movable_type_ap.html

MovableTypeのプラグイン作成(邦訳)

http://fenrir.naruoka.org/archives/000106.html


あたりが参考になります。(記事はちと古いか・・・)

2005年10月19日

PHP にはバイナリ形式の実行もあるのですか?

あります。 Zend Encoder (http://www.zend.co.jp/products/encoder/) によってテキスト形式の PHP スクリプトをバイナリ形式に変換することができます。

これを利用することでリバースエンジニアリングや改竄を防ぐことができます。また、実行には Zend Optimizer (http://www.zend.co.jp/products/optimizer/) が必要となるため、結果的に実行速度の向上も期待できます。

2004年02月12日

DRM とは何ですか?

Digital Rights Management の略で、デジタル著作権管理のことです。
web などインターネット経由でコンテンツをやりとりする場合に著作権に対するライセンス管理をする仕組みです。

Google で検索してみてください。
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=Digital+Rights+Management&lr=

2004年02月11日

HTTP でファイル中の位置を指定して method GET が呼べませんか?

呼べます。ただし HTTP/1.1 の web サーバーに対してです。
具体的には Range ヘッダをつけることで実現します。

RFC2068 が参考になります。

2004年02月10日

WebDAV とは何ですか?

Web を利用した分散ドキュメントを管理するのための HTTP 拡張プロトコルです。
RFC2518 が参考になります。