2008年 09月 12日

gerry++

腹痛ではない

2008年 08月 28日

Firebug が暴走しまくったのでプロファイル新しくした

約半年ぐらいたった

2008年 08月 27日

CPAN LWP いれるときにミスって HEAD をつくってしまって放置していたけれどさすがにうざいのでなおした

Mac の filesystem は case-insensitive なので head と HEAD が共存できなくて、でもって HEAD を消せばなおるかなーとおもったら head が上書きされていたことに気付いて絶望した。

なんかもうどうしよもないので GNU coreutils をビルドして head だけコピーした。

$ wget  http://ftp.gnu.org/pub/gnu/coreutils/coreutils-6.9.tar.gz
$ tar xzvf coreutils-6.9.tar.gz
$ cd coreutils-6.9
$ ./configure
$ make
$ sudo cp src/head /usr/bin
2008年 08月 25日

gerry++

腹痛くないのに

はてなハイク用の IRC ゲートウェイ

例によって net-irc にバンドルされているので、net-irc の SVN head をとってきてください。

$ svn co http://svn.coderepos.org/share/lang/ruby/net-irc/trunk net-irc
$ cd net-irc
$ ruby examples/hig.rb --debug

で起動します。16679 がデフォルトになっているので、それに繋ぎにいってください。realname にユーザ名を、パスワードにハイクで指定されたパスワードを入力したらいけます。

  • follow しているキーワードとかユーザが #haiku に流れてきます。
  • チャンネルがキーワードに対応していて、join/part でキーワードを follow/unfollow できます。
  • join していないキーワードのも流れてきますが、そのときは #haiku に流れるようにしています
  • reply は @foobar でできる (ハイク側がそういう仕様みたいです) のと、> foobar というふうに reply したいステータスの部分文字列を指定することでもできます。
2008年 08月 18日

Perl のオレオレるーる

  • リファレンス以外代入しない
    • 必要なときだけデリファレンスする
    • デリファレンスしたものは代入しない
    • ($foo[0] や $foo{bar} は可読性が低いと思う)
  • @_ はできる限り my ($foo) = @_ の形で代入する。
    • 引数が一つでも
    • これも shift とか $_[0] とかがよみにくいと思うから
    • あと shift は破壊的だから @_ をさらに使うときにハマったりする。

[つづく]

2008年 08月 10日

GET http://www.cpan.org/modules/02packages.details.txt.gz | gzip -d | cut -d " " -f 1 

微妙にヘッダのよけいなのがのこる

2008年 08月 09日

非決定性計算

id:Gemma さんに教えてもらった。amb がスゲーんだよって話をしていて、amb ワカンネーつって、そもそも非決定性計算がなんなのか (用語的にまったく) わかってなくて調べたりきいたりしたメモ

  • 非決定性計算 → 非決定性は「曖昧」って意味 → amb/iguous
  • コード中で、値が曖昧なものは曖昧なままコードを書いて、計算結果をだす
    • その部分のコードだけ見ると、まるで答えが既にでているかのように見える
    • ↑ 宣言的なコードになる
    • パズルみたいなのがキレイに解ける。すごい
  • 中でやってることは総当たりだけど、実装法によって効率が変わる
    • バックトラックするために継続つかったりする
    • 遅延評価するとバックトラックと同じことになったりする → List モナドがほげほげ

適当な言語で実装してみよう。しかしほんとパズルとかやったことないな!

Perl: map にブロックわたす

メモ

my $l = sub {
	$_ * $_
};

my $foo = [
	map
		&$l,
		100, 200, 300
];

デリファレンスするのか! リファレンスそのままわたしてみて、わたせないとおもってた……

errormaker.vim と JS の syntax error 検知

まじべんり。いままでなんか syntax error が起きている気がするときは、手で js -s -w -C をうっていたのですが、激しくうちにくいので erorrmaker.vim でやれるようにしてみた。

#!/bin/sh
# vim:set ft=sh:
# ~/.vim/vimparse.js

# sudo port install spidermonkey
js -s -w -C $1 2>&1 \
	| grep ':$' \
#	| grep -v 'test for equality' \
" ftplugin/javascript/flyquickfixmake.vim  
" require spidermonkey
setlocal makeprg=$HOME/.vim/vimparse.js\ %\ $*
setlocal errorformat=%f:%l:%m
setlocal shellpipe=>

if !exists("g:javascript_flyquickfixmake")
	let g:javascript_flyquickfixmake = 1
	au BufWritePost *.js silent make
endif

配列やオブジェクトリテラルの最後のカンマとかも -s つけると検知できるので、ほんとべんり。ラッパスクリプト書いたのは、一部のエラーを無視したり、spidermonkey が入ってない環境でチェックするためだけど、まだ困ってないので特になにもやってない。