mixi「樫村晴香」コミュニティ

Posted by yatsu Sun, 08 Jul 2007 05:15:54 GMT

mixi「樫村晴香」コミュニティの管理人を前任者から引き継ぎました。

これで、私が管理するコミュニティは「大西巨人」、「栗本慎一郎」、「樫村晴香」の3つになりました。コンピュータの人なのに!

さて、樫村コミュを引き継いだはよいものの、樫村氏は超寡作の人で何をやっているのか全然わからないので、やることがありません :)
樫村晴香のページ(保坂和志公式ページ内)だけチェックしておくことにします。

樫村氏共著の新曜社ワードマップ『資本主義』すら絶版なので、樫村晴香の本というものは存在しないと思われます。 樫村ウォッチャーは、雑誌に発表された短文と対談、ネット上のテキストを拾い集めなければなりません。

対談であれば、保坂和志『言葉の外へ』に、保坂氏との対談(と呼ばれる講義)が収められていて、おそらくこれが最も入手しやすいものです。

Posted in ,  | no comments | no trackbacks

Path Finderとターミナルの連携 (pfコマンド)

Posted by yatsu Sat, 09 Jun 2007 15:49:21 GMT

Path Finderをメインとして使用していて、ときどきターミナルを開く場合、Path Finderの下ドロワーを使えば、現在のパスでターミナルを開いてくれるので、不便は感じません。 また、Path Finderの外のターミナルを使用している場合も、そのターミナルにフォルダをドラッグ&ドロップすれば、末尾にスペース1つを付けて貼り付けてくれるので、連携は完璧です。

ところが逆にターミナルをメインとして使っていて、ときどきPath Finderを使う場合、カレントフォルダをPath Finderに渡すのが不便です。

open -a "Path Finder" <フォルダ>

のようにフォルダを指定してPath Finderを起動することができますが、すでにPath Finderを起動している場合、ウィンドウが新たに開かれてしまうのがいやです。

そこで、以下のpfコマンド(シェルスクリプト)を用意しました。

#!/bin/sh

if [ "$*" != "" -a -d "$*" ]; then
  dir="$*"
else
  dir=`pwd`
fi
open -a "Path Finder"
osascript -e "tell application \"Path Finder\" to reveal \"$dir\""

これは指定されたフォルダを、Path Finderの新しいタブで開いてくれます。 すでにそのフォルダをどこかのタブで開いている場合、そのタブに切り替わります。

使い方は、上記のコードを /usr/local/bin/pf などに保存し、以下のように呼び出します。

pf <フォルダ>

フォルダを省略した場合は、カレントフォルダが開かれます。

open -a "Path Finder"

の部分でPath Finderを起動しています。すでに起動されている場合は、Path Finderが前面にきます。

osascript -e "tell application \"Path Finder\" to reveal \"$dir\""

の部分でPath FinderにAppleScriptコードを送っています。 revealでパスを指定すると、そのパスでタブを開いてくれます。

Posted in  | no comments | no trackbacks

MacからWindowsにSwitchするためのツール

Posted by yatsu Thu, 07 Jun 2007 16:11:18 GMT

Macで使っているツールと同じ機能をもつWindowsツールを探しました。 他によいものをご存じの方、教えてください。

ツールの種類 Mac Windows
ランチャー (*1) Quicksilver Launcy
ファイラー Path Finder UltraExplorer
仮想デスクトップ VirtueDesktops WinDeskWide
仮想端末 Terminal.app Poderosa+Cygwin (*2)
ズーム(プレゼン用) Mac OS X標準 (*3) 梨ズーム
タイトルバーだけ表示 WindowShade X WinRoll
ビームカーソルの白縁取り (*4) Mac OS X標準 Snow Coat

(*1) タイプしたキーからインクリメンタルにアプリを探してくれるため、アプリの登録作業が必要ないもの

(*2) Cygwin用GNU screenはこちら

(*3) ⌘ + マウスホイール

(*4) これがないと黒背景のエディタでカーソルが見えない

Macのソフトを基準にして探しているからでしょうが、似たようなソフトがあるけれど、どれもWindowsの方が使い勝手がちょっと悪いという感じです。

あと、Growl, MenuMeters, PTHPasteboard PRO(フィルタ機能付きのPRO)に相当するものがほしいのですが、あるのでしょうか?

じつは、いちばん困っているのはIMEでAZIK入力ができないことだったりします。 AZIK for MS-IME のレジストリデータは完全でないので、かえって混乱しがちです。 ATOK買うしかないでしょうか?

Posted in ,  | 3 comments | no trackbacks

ruby-pytstをRubyForgeに登録

Posted by yatsu Mon, 04 Jun 2007 07:00:13 GMT

ruby-pytstのソースが行方不明になっていたので、RubyForgeに登録しました。

RubyForge: ruby-pytst

初めてRubyForgeに登録したのですが、WikiとSVNブラウザがエラーになります。なぜでしょうね?

ruby-pytstは、Wiki文章中のキーワード一括置換のために毎日使用していますが、半年以上、安定動作しています。

以下、READMEを載せておきます。

ruby-pytst

ruby-pytst is a port of pytst to Ruby. It is a implementation of Ternary Search Trie (TST) and it also supports scanning by the Aho-Corasick algorithm. It is built with SWIG.

This software is distributed under LGPL.

I have successfully built on the following environments.

  • (1) Mac OS X 10.4, Ruby 1.8.4 (Fink)
  • (2) Fedora Core 5, Ruby 1.8.4

tst_wrap.cxx in this package was generated on (1) with SWIG 1.3.19.

Author: Masaki Yatsu <yatsu at yatsu.info>

Installation

Generate the Makefile.

% ruby extconf.rb

Make it.

% make

Then, install it as root.

% make install

If you want to generate the Ruby wrapper codes from tst.i by yourself, execute the following at the beginning.

% swig -c++ -ruby -Iinclude tst.i

How to Use

There is no documentation at this point, but there is README.html of pytst in the doc directory.

There are examples in the example directory. You can run examples like this.

% ruby example/tokenize.rb

ruby-pytst supports following character sets.

  • ASCII ($KCODE = ‘NONE’)
  • EUC-JP ($KCODE = ‘EUC’)
  • Shift_JIS ($KCODE = ‘SJIS’)
  • UTF-8 ($KCODE = ‘UTF8’)

You have to specify $KCODE before you create a Pytst::TST.

There is the EUC-JP example in the example directory.

% ruby -Ke example/japanese_euc.rb

The option -Ke means $KCODE = 'EUC'.

See also

pytst:
http://nicolas.lehuen.com/download/pytst/

Ternary Search Trie:
http://en.wikipedia.org/wiki/Ternarysearchtries

Aho-Corasick algorithm:
http://en.wikipedia.org/wiki/Aho-Corasick_algorithm

Posted in ,  | no comments | no trackbacks

こんなプロジェクト管理ツールがほしい

Posted by yatsu Sun, 03 Jun 2007 23:46:26 GMT

僕の要求は変かもしれないし、こんな考え方じゃダメとか言われるかもしれないけれど、書いてみる。

  • プロジェクトのタスク管理と個人のToDo管理(GTD?)が連動
    • GTDツールでdoneにすると、プロジェクトのタスクもdone
  • タスクのプライオリティは単純に順番で管理
    • 上にあるものが優先度が高い
    • 緊急のタスクは「critical」とかタグを打てばよし
    • ドラッグで順番入れ替え
  • 着手ビューで着手順に表示(優先度とは別管理)
    • これもドラッグで順番入れ替え
    • 着手しているものをチェック(複数可)
      • 「おれ今これやってるから」(twitter感覚で)
  • タスクに所要日数の見積りを入力
    • 「誰が何日」で入力
      • 人によって所要時間が違うから最初から仮アサインしてしまう
      • アサインされる人が代わったら見積もり直し
    • 見積り日数がマイルストーンまでの日数を超えたらアラート
  • ソースレポジトリ、バグ管理システムと連動(IDで紐づけ)
    • ソースcommit時のメッセージにタスク番号を埋め込み(Tracと同じ)
    • タスクとchangesetがリンクされ、ソースレベルで進捗が確認できる

プログラマの立場から言うと、タスクの順番はなるべく柔軟に入れ替えて効率よくやりたい。→ 誰が何をやっているかちゃんとわかればよし。

線表はあまり必要だと思わない。 依存するタスク(あるチームの進捗が別のチームのタスクに影響するケースなど)も出てはくるだろうが、そのために線表を起こすよりは優先順・着手順の入れ替えで対処してしまいたい(ソフト開発/SIではそれほど依存はないと想定、スタブとか作るし)。

僕が関わるようなプロジェクトでは、こんなツールでうまく対処できるのではないかと思っています。

以下を試してみましたが、決定的なものは見つかっていません。作る?

Posted in  | no comments | no trackbacks

Review Boardを使ってみたのだけど……

Posted by yatsu Sun, 03 Jun 2007 12:59:52 GMT

Review Boardというコードレビュー・ツールを使ってみました。

[ZDNet Japan] Python/Django製のコードレビューツールを使ってみたに書いてあるようにインストールすればよいのですが、Mac, Windowsにインストールしようとしたため、ものすごく苦労しました。

Review Boardそのものでなくて、pysvnのインストールがつらすぎます。 Mac OS Xでビルドがうまくいかず、Makefileをこねくり回してなんとかビルドしインストールしてみたもの、import pysvnするとPythonがクラッシュ……。

それ以上調べるのはつらいので、Windows + Cygwin環境に入れてみようとしたのですが、今度はPILのビルドに

rebase -b 0x1000000000 /bin/tk84.dll

という謎の呪文が必要だったり、pysvnのコンパイルにminires-develが必要だったり、さんざん苦労したあげく、起動したらエラーであきらめました……。

結局、Ubuntu Linux 7.04を使って、やっとインストールが成功しました。 pysvnをビルドするためにlibc6-dev(libresolv.so)をインストールする必要がありましたが、それ以外はすんなりいきました。

で、使い方はドキュメントがないので、よくわかりません。

新しいレビューリクエストの登録は以下の画面で行います。

Subversionの場合、トップディレクトリでsvn diffして保存したファイルをアップロードすればよいのでしょう。Base Diff Pathは、「trunk」とか入れるのだと思います(trunk/branches/tagsの構成の場合)。

以下のように、diffのリビジョンの部分に日本語が入っているとエラーになります。

Index: javascripts/prototype.js
===================================================================
--- javascripts/prototype.js    (リビジョン 1)
+++ javascripts/prototype.js    (作業コピー)

LANG=C svn diff で回避しました。

Index: javascripts/prototype.js
===================================================================
--- javascripts/prototype.js    (revision 1)
+++ javascripts/prototype.js    (working copy)

以下の画面でレビュアーを指定して、説明を書きます。

レビュアーのアカウントでログインし直すと、以下のようにリクエストを確認できます。

えーと、ここからどうすればよいのかわかりません。 「Delete」ボタンしかないように見えるのですが……。 コメントを書き込んだりする機能とかないんですか?

使い方が間違っているのでしょうか……。

diffは画面上で以下のように確認できます。

まとめ

  • まだ使える品質でないようです
  • ドキュメントがないので、使い方がわかりません
  • インストールが大変です

Posted in  | no comments | no trackbacks

Vim環境構築とjst.vim (for TrimPath JavaScript Templates)

Posted by yatsu Fri, 01 Jun 2007 08:54:00 GMT

最近わけあってWindowsを使わなければいけない状況となりまして、テキストメイ党の私はエディタの選択に困り果ててしまったわけです。 E-TextEditorというTextMateクローンがあるのですが、フォントを変えられないなど、イマイチ。 Emacsはよいのだけど、elispでごりごり設定するのは、この歳になると正直しんどい。 設定が簡単で満足できる環境が作れるものを探した結果、Vimに落ち着きました。 エディタがVimのくせに、エディタ以外はXKeymacsでEmacsキーバインドにしているという変態具合ですが、それはよし。

以下の設定をしました(主にJavaScript関連)。

jst.vim

さて、エディタは決まりましたが、TrimPath JavaScript Templates(JST)を使うので、これ用のシンタックス・ハイライト機能がほしいです。

ということで、作りました。→ jst.vim

Vimのsyntaxディレクトリに放り込んで、~/.vimrc に以下の設定をします。

augroup filetypedetect
au! BufRead,BufNewFile *.jst setfiletype jst
augroup END

これで拡張子 .jst のファイルに対してJSTのシンタックスが有効になります。 拡張子 .html のファイルで使う場合は、同様の設定を .html に対しても行います。

eruby.vimを書き換えてでっちあげたもので、シンタックス・ファイルの書き方もちゃんとわかっていないですが、マークアップ({}${})の中のJavaScriptシンタックスも効いているようなので、とりあえず使えそう。

surround.vim拡張

surround.vim用の拡張を ~/.vimrc に書きます。

autocmd FileType jst let g:surround_123 = "{\r}"
autocmd FileType jst let g:surround_36 = "${\r}"
autocmd FileType jst let g:surround_37 = "${% \r %}"

上から、「{」,「$」,「%」キーに対応しています。 例えば「yss{」で現在行を {} で囲んだり、入力モードで「<c-g>s%」で ${% %} を入力したりできます。

ctagsでJavaScript使用

MMOをajaxで作りたい人のブログ: Javascriptの環境整備2。を参考に、~/.ctagsに以下を設定。

--jcode=utf8
--langmap=javascript:.js
--regex-javascript=/^(.*).prototype *= *(.*)/\1/o,object/
--regex-javascript=/^[ \t]*(.*) *: *function/\1/o,object/

これで hoge: function() {} のような関数定義も拾ってくれるっぽい。

javascript.vimの変更

JavaScript用syntaxをちょっと変更 | 東京嫉妬のようにjavascript.vimを書き換えると、JavaScriptのシンタックス・ハイライトが改善できます。

Posted in  | no comments | no trackbacks

Firefoxのクリップボードを拡張してみようかと

Posted by yatsu Wed, 11 Apr 2007 08:08:36 GMT

Firefoxのクリップボードを拡張してみようと思い、ここまで作りました。↓

ステータスバー右下のボタンをクリックするとブラウザウィンドウを上下に分割して下側に表示するFirebug方式です。

今できることは以下だけです。

  • カット/コピーされたテキストを10個まで保存
  • 以前にコピーしたものを選択することで、クリップボードに書き戻すことができる
    • ただし、プレーンテキスト形式になる

今のところ、まとめてコピーしてからまとめてペーストできるのがちょっと便利、といった程度のものです。

誰も使わないでしょうが、置いておきます。

将来的に、以下の機能を付けたいと思っています。

  • フィルタ機能
    • たとえば、Markdownの引用/コード/リストスタイルに変換
    • 画面上で定義可能(JavaScript/Regexp)
    • ページタイトル/URLを付加する
    • 画面下のエリアを左右2つに分割して、この機能のための場所をつくる
    • Undo/Redo
  • ブラウザを終了した後も内容を保存
  • 設定を保存

僕はネット上の記事を自分のWikiにコピペすることが多いのですが、そのとき、選択したテキストをMarkdownの引用にして、ページのタイトルとURLをつけてペーストできたら便利です。

たとえば、僕の前の記事の、

こちらからどうぞ:
http://yatsu.info/finkinfo/

という部分をコピペしたときに、

> [yatsu.info : Fink: gonzui, bdb-rb](http://yatsu.info/articles/2007/04/08/fink-gonzui-bdb-rb )
> 
> こちらからどうぞ:
> http://yatsu.info/finkinfo/

とできれば、僕にとって完璧です。

じつはMacの場合、PTHPasteboard PROという別アプリを使えば、ほぼ同等のことはできるのですが、上の例のようにページタイトルとURLは扱えません。

Rakeでxpiファイルを作成するために、以下の記事を参考にしました。

画像はfamfamfam.com: Silk iconsを使わせていただきました。

ところで、Firefox add-onsの公式ページに登録する方法がさっぱりわかりません。 まぁ、現状では登録できてもSandboxから抜け出る見通しが立ちませんが。

Posted in  | no comments | no trackbacks

Fink: gonzui, bdb-rb

Posted by yatsu Mon, 09 Apr 2007 04:22:08 GMT

gonzuiと、それが使用するbdbライブラリのfinkinfoを作成しました(探しても見つからなかったので……)。

こちらからどうぞ:
http://yatsu.info/finkinfo/

/sw/fink/10.4/local/main/finkinfo ディレクトリに devel, libs/rubymods のようにサブディレクトリを作り、その中に .info ファイルを置いて、fink install します。

% fink install bdb-rb gonzui

gonzuiはdaemonicに対応した方が親切だったかもしれませんが、今回は対応していません。

Posted in , ,  | no comments | no trackbacks

Intel/PPC対応MacUIM

Posted by yatsu Mon, 12 Mar 2007 13:04:17 GMT

ekatoさんがこちらで配布してくださっていますので、よろしければお試しください。

ちなみに、私はまだ試していません(ぉぃ

Posted in ,  | 2 comments | no trackbacks

Older posts: 1 2 3 4 ... 167