2006年 11月 01日

QuickSilver

なんかよくわかんないけど、いつのまにか登録したスクリプトが実行できなくなったりする。あとアイコンがおかしくなったりとか……
QS を再起動すればなおるけどうーん。

Finder

Enter 押すと rename になるのが気になるんだけど挙動変えられないのかなぁ。

Greasemonkey

GM は .user.js で終わっているからって HTML のページをインストールしようとするなよ><
content-type を読んで欲しい。あと ? 以降は無視してほしい。あとでソース読んでみよう。

Google Code Search Auto Pager

http://svn.lab.lowreal.net/lowreal/c/userjs/googlecodesearchautopage.user.js
あとでちゃんと lowreal.net にあげる……

Creammonkey をいぢる

ソースを含んでいるのでいぢれる

cd
cd src
cp -r /Volume/Creammonkey/Source Creammonkey
cd ~/Library/InputManagers
ln -s ~/Creammonkey/build/Release/Creammonkey .

で Xcode でプロジェクト開いてビルドすればいいみたい? よくわかんない。

でもってページロード時に毎回ユーザ JS をリロードするパッチ

--- /Volumes/Creammonkey/Source/CMController.m	2006-07-05 23:28:50.000000000 +0900
+++ CMController.m	2006-11-01 16:02:52.000000000 +0900
@@ -234,6 +234,7 @@
     }
 	
     // Eval!
+	[self reloadUserScripts: nil];
 	NSArray* ary = [self matchedScripts: url];
 	int i;
 	for (i = 0; i < [ary count]; i++) {

これだけ。ホントはメニューに Debug とかいうのを作って、それに応じて毎回読むかどうか決める方がいいんだろうけど、Safari は常用してないのでいいやって感じ。あとで簡単にできそうだったらやってみよう

Objective-C

vim の ft は objc

#import <stdio.h>
#import <objc/Object.h>

@interface HelloObj : Object
{
	char* name;
}

- (id) initWithName: (char*)yourname;
- (void) hello: (char*)yourname;
- (void) hello;

@end

//-----

@implementation HelloObj

- (id) initWithName: (char*)yourname {
	// self->name = yourname; // same
	name = yourname;
	return self;
}

- (void) hello: (char*)yourname {
	printf("Hello World! %s\n", yourname);
}

- (void) hello {
	[self hello:name];
}

@end

int main() {
	id obj = [[HelloObj alloc] init];
	// id obj = [HelloObj new];
	[obj hello:"Satoshi"];
	[obj free];

	id obj2 = [[HelloObj alloc] initWithName:"Taro"];
	[obj hello];
	[obj2 free];
	return 0;
}

無駄にクラス使った Hello World!

ところで、iconv が \n を含んだ文字列でエラー吐くのはなんなんだろう。

iconv \n

$ echo '\\n' |iconv -f utf-8 -t shift-jis
iconv: (stdin):1:0: cannot convert

nkf 使いましょう

2006年 10月 31日

test

Ruby/Cocoa で作った delegate のテストを書いてみたけど、どうしてもBUS Error で死んでしまうので諦めた。
NSApplication#run がくせものだ。run しないと Growl の click 通知うけとれない……

dsocks

名前解決をプロキシにまかせることってできないのかな

tsocks

現在の MacPorts の tsocks はちゃんと動くみたいだ

\t

vim に乗り換えた理由の8割はタブインデントのためです。

2006年 10月 30日

mabinogi エルフ

エルフ

ちょっと前にエルフを支援してアシスタントキャラクターを作った。ちょっと前っていうかだいぶ前だな……

でもってまちがえて17歳で作ってしまったので転生させた。っていうかそれも二週間前だ……

でレンジを 9 にした。IB とかカウンタとか、まず絶対必要なのもとってあるのでそこそこは戦える。が、アローリボルバー/レンジ1に慣れてしまっているので連射速度が遅くてしかたない。一回はずしたらほぼ確実に食らうしなぁ……ダンジョンでは戦えない。

それでなんとなく製錬をあげようと思ってちょっと掘ってみたけど、なんかやっぱルーチンワークが苦手なので (掘ってるときにいかにして自動化するかずっと考えてしまう) 露天で石買ってあげまくり中。それもめんどい。

あんまりやる時間ないなぁ。もっと死ぬほど暇になりたい。


正攻法でちょっと採掘をやりやすくする方法を書いてみる。

「コントロールパネル」の「ユーザ補助のオプション」の固定キー機能の設定で、Shift 5回連打で固定キーをオンにするチェックを入れておく。そして必要なときに Shift 連打して、 Alt キーを固定し発掘。

別に発掘じゃなくても、クモの糸ひろいでも使える。ずっと Alt キー押してるのめんどいし便利なのでおすすめ。

カーソル位置の色を取得 on Mac

AHL のアレをやりたかったんだけど、なんか簡単にできる方法あるのかなぁ……
Cocoa にまんまな API があるかと思いきやないっぽいので諦めて rubying した。
http://lab.lowreal.net/trac/browser/c/mac/copypointercolor.rb

screencapture で画像とって rmagick でカーソル座標の色をとってくるだけのスクリプト。QuickSilver で割り当てて使ってみる。

Battery

info = eval( `ioreg -w0 -l | grep LegacyBatteryInfo`.gsub(/=/, '=>').gsub(/^.*¥{/, '{') )

percentage = info["Current"].to_f / info["Capacity"] * 100
puts percentage

Yet another Growl binding

http://lab.lowreal.net/trac/browser/c/growl/growl_delegate.rb

click イベントをとりたかったのでちゃんと delegate するバージョンを作ってみた (完成度50%)。Growl.framework と NSApplication#run が必須になる。
フレームワークってどこに置くのがいいんだろう。

RubyCocoa ocid からインスタンスを作成

ってどうやるんだろう。

あ、違う。必要なかった