2006年 09月 13日

Ruby \r\n

File.open("foge", "wb") do |f|
   f.puts "\n"
end
File.read("foge") #=> "\r\n"

みたいな情況になる。なんでだ!! OS も Linux なのになぁ

原因判明。gsub! と File#puts の組み合わせがよくないみたいだ。

body = "\r\n"
body.gsub!(/\r\n/, "\n")
File.open("foge", "wb") do |f|
   f.puts body
end
File.read("foge") #=> "\r\n"

なんでだろ。body = body.gsub にすればだいじょうぶ

いまいち再現しないので迷宮入り

真夜中の gerry

やる気はありません

backtick

色変えられないかな

ls

どうでもいいけど!
alias lm="ls -altr" してて ls って滅多に使わない。

flavour

flavour の編集ってテキストエリア並べるのはダサいよなぁ。
theme 入ってればとくに考えなくてもいいんだけどなぁ。theme を入れない前提でやるとするとうーん

AHK on Ruby

Ruby でかけたらいいのに

vim syntax check

.vimrc

autocmd BufEnter * let b:status = ""
set laststatus=2
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']['.&ft.']'}\ %{b:status}%=%l,%c%V%8P

ftplugin/perl.vim

au BufWritePost * let b:status=substitute(system("perl -wc " . bufname("%")), '\n', " ", "g")[:90]

数ストロークごとに自動実行のほうがいいかなぁ。自動保存にすれば勝手にそうなるのかな。
もっと簡単な方法がある予感

perl-support いれてみた。: じゃなくて \ を先行するコマンドで迷った。without GUI ってパッと見 GUI なのか CUI なのかわからんよ!!
上の変更は削除して

au BufWritePost * call Perl_SyntaxCheck() | call Perl_SyntaxCheckMsg() | redraw!

を ftplugin/perl.vim に追記した。

getElementPosition

なにやら Opera でズレる

w3m

ちょっと使ってみる! 思ったよりおもしろい!

Notify::Reload

package Plagger::Plugin::Notify::Reload;
use strict;
use base qw( Plagger::Plugin::Notify::Command );

irssi

さらなる軽い環境を求めて irssi をちょっとやってみたけれど、わからなすぎた。チャンネルリストとか全チャンネルメッセージ一覧バッファって、重要ダネ!!

2006年 09月 12日

ひさ

しぶりに Ruby 書いたら File.read, File.readlines が便利すぎて泣きそう。
そして !!"" == true が面倒くさくて blank? がコアに入ってればいいのにと思った。

Ruby クイズ

以下のアスタリスクの意味はなんでしょう!

def func *
    puts "hogehoge"
end

というのをおもいついた。この場合括弧をつけるかつけないかで迷う。文字だったらつけるけど、アスタリスク一個の場合はつけないようにしようかなぁとか、いやでも特別扱いはよくないのか、というよりこういうケース殆どないから気にしないでいい気もするというか(ry

というか括弧つけないとどうもパースエラーになったりならなかったりなぞいからつけないとだめっぽい。

AHK

まらさんが言ってたけど、マウス位置のカラーピッカーが便利すぎる。
ふぉとしょか何かで適当に書いたやつを CSS 化するときのスピードが超あがる。やばい。

^!LButton::
	MouseGetPos, MouseX, MouseY
	PixelGetColor, color, %MouseX%, %MouseY%, RGB
	StringReplace, color, color, 0x, #
	clipboard = %color%
	ToolTip, %color%
	Sleep, 1500
	ToolTip
return

Ctrl Alt LClick に割り当て。一瞬ツールチップ出すようにして「コピーされたよ」感を出すようにしてみた。やばい。

blosxom

blosxom の編集ツールって作っててなんかむなしくなる。ただのオンラインファイル編集ツールになるもんなぁ。

ひたすら blosxom の構成決め打ちにしてみよう。

  • plugin のオン・オフと編集
  • 複数ユーザ管理

あたりがあるとよさげ

ERB

TT みたいな感じにしたいとき。ハッシュを渡して、ハッシュのキーがそのまま使えるような

def erb(template, stash={})
	b = binding
	stash.each do |k, v|
		eval("#{k} = stash[:#{k}]", b)
	end
	ERB.new(template).result(binding)
end

みたいにした。予約語がエラってたまにハマるgtlt

コーディングスピード

http://unknownplace.org/memo/2006/08/06#e002
これを見たときからいろいろ考えはじめて、やっと書く行為にうつすまでもわもわしてきた。もわもわ。こういう最初見たときは「ほー」ぐらいのが、ふと気が付くと頭のなかにちらついてもわもわしたりする。そんなもわもわ。
タイピングスピードがだめだめな時点で書きながらコード考えるっていうのは難しいけど、とりあえず、思いついたら書いてみる、ぐらいの心持にしようと思って、書きまくってる。書きやすい環境作りもしたりとか、例えばとにかく svn に突っ込んでいける環境とか、もろもろ

    • >

配列

数日ぶりに日本語配列にしたら混乱する。。これで家帰ったらまた混乱するんだろうなぁ。
こっちのPCを英語配列にしようと思いきや一部のキーがおかしいのでうまくかない。なぜかカナが入力されたりするし、うーん。

ack

インストールしてみた。便利!いままで grep の引数が覚えられなくて (先にディレクトリなのか、後にディレクトリなのか) grep を使ってなかったけど、ack なら大丈夫dane
install App::Ack

zsh share_history

なんか共有できないとおもいきや、append_history セットしてるとだめっぽい? コメントアウトしたら共有できた
FC5 の zsh だと C-r できない。。

:!

なぜか C-z して svn add とかやってたけど、:!svn add って普通にできるじゃんか!! と、あたまのわるいことをやってるようなひ
あと気がつくと zsh で C-r が効かなくなってなんやねんと思っていたのだけど、どうやら vi モードになっていたらしい。。.zshrc で bindkey -e して bindkey -D vicmd した。というのを、かみさま (そのなをとぴあさん) に教えてもらってやった。ありがとう><

YAGNI

これからは YAGNI を多用したいと思う。あしたできることはきょうやるな><

RO

RO の BOT 作る LL 対決

blosxom 編集 CGI

一応だいたいできたなぁ。

できること

  • ユーザ管理
  • プラグインオンオフ
  • エントリ投稿 編集

ほかにやりたいこと

  • プラグインの実行順コントロールも実装したいなぁ。こういうのは UI がアレなんだけど。。
  • フレーバー管理
2006年 09月 11日

tt

blosxom のテンプレートを TT に置き換えるやつをいろいろ試してる。一つのファイルにしてしまって [% FOREACH entry IN entries %] みたいにしたい。
ので、TT の process は一括して last に行うことになる。
でもって問題なのは、story テンプレートで使われることを想定しているプラグイン変数なんですよね。これって次々と変わっていくから、最後に一括して処理したいというこの場合、随時全て保存しておかなければならない。
ここで、プラグイン変数を全て保存しておこうとすると、プラグイン変数の名前を全て知っていないといけない。けど、どうやって知ればいいのかわからない。簡単にやる方法あるんだろうか。


ということで、回り道をし、発想を逆転させて、テンプレートパースを先にやる。
use Template::Parser して parse($text) すると Template::Document オブジェクトが帰ってくる。こいつの BLOCK にはコード化されたテンプレが入っているので、$stash->get ってなっている部分を正規表現 (!) で抜いてくる。
んでごにょると、テンプレートで使われているであろう変数名が余計なものも全部とれるので、この変数名を story テンプレートを通るたびに全てのプラグインからとってくる。かなり無駄だけど!!


http://mizzy.org/program/blosxomTT.html が似たような方法だったけれど、どうも Data::Dumper してみてみると、ちょっと変に連結されてしまったりするので、まるパクできなかった。

つかれた

$ cd
$ svn propset moe "zyosikosei" .

blosxom

  • meta プラグイン併用で text formatting rule を変更できるプラグイン
  • 投稿フロントエンド。wikieditish で結局いいじゃんとか思うけど

tt

動くようになった。

参照方法がちょっとキモいなぁ。
というか XREA に TT 入れるのめんどくさそうだからどうせ使わないだろうなぁ、と思った。無駄じゃん! インターフェイス作ったほうがいいじゃん!

それに plugin が対応してくれないと恩恵をうけられない。writeback を FOREACH でまわす、とかできないし。普通のフレーバーで十分だなぁ、と作ってから思う罠

はつおん

  • ばっしゅ
  • ぜっとしぇる, ぜっとえすえいち
  • しーしぇる
  • てぃーしーしぇる
  • えすえいち
  • ヴいあい
  • ヴぃむ
  • りん えす
  • ちぇんじもっど
  • ちょうん
  • えすゆーどぅー
  • えむけーでぃあー
  • あーるえむでぃあー
  • ヴぁいあぐら
  • でぃーあいえふえふ
  • きゃっと
  • ている えふ
  • てぃーえーあーる ぜっとえっくすぶいえふ (ただし入力時は xzvf)
  • えすえすえいち
  • えふすく
  • るびー
  • ぱーる, ぺるる
  • しーぱん
  • ぺちぺ
  • おっぱい