2006年 09月 14日

trac 位置変更

trac.lab.lowreal.net/trac って冗長なので lab.lowreal.net/trac にした。
実際のファイルも移動

  • /srv/www/trac.lab.lowreal.net/trac -> /srv/www/lab.lowreal.net/trac
  • /srv/www/trac.lab.lowreal.net/public/* -> /srv/www/lab.lowreal.net/public/*

Apache の設定も書き換えた。リポジトリも移動したいけどめんどい。。

YAML

Ruby の YAML って三個以上同じ文字列があると参照にしちゃうのか。。ハマった
これってオフにできないのかなぁ。可読性下がるし文字量多くなるしいいことなし。

違う。うそ
String.new str
してから突っ込むと正常になる。なんか変なパラメータがくっついてるっぽい?
str.to_s は self のコピーじゃなくて self を返すんだなぁ。。

str.dup と String.new も挙動違うんだなぁ。dup はインスタンス変数?もコピーしてる。当たり前か。どっかに書いてあった気もする

Perl split

split と join は区切りが先なんだ。。

ssh-agent

使いたい。けど、理解できないうちはこわくて使えない。どうすれば安全に使えるかちゃんと調べないとなぁ。
それと今パスフレーズ認証だから鍵認証にしないといけないし、鍵認証にするなら USB メモリ欲しいし。。

ちがう。SSH がわかってないなぁ。パスフレーズじゃなくてパスワード認証だった。
あとクライアントごとに鍵ペアつくっていい。なんか勘違いしてた。

ssh key

ひとつのコンピュータにつきひとつのペアをつくってあげるんだよなぁ。それの公開鍵をいろんなサーバに登録してあげる。
何度か作りなおしたりしててごっちゃになってるのが悪いんだよなぁ。DSA の鍵を作りなおしてちゃんと使うようにしよう。

ssh

## client host
$ ssh-keygen -t dsa
$ scp ~/.id_dsa.pub server:~/

$ ssh server
## ssh server host
$ cat ~/.id_dsa >> ~/.ssh/authorized_keys2

$ exit
## client host
$ exec ssh-agent zsh
$ ssh-add

ssh-agent は exec した zsh が終了するまで生きてる。
screen 起動するときに ssh-agent screen にすれば、環境が限定できていいかもしれない。やってないけど、そのうち試してみよう。
これで zsh の scp 補完とかがまともに使えるようになるなぁ。

セキュリティあげる目的で鍵式にするならパス式のほうはオフにしないとだめだよなぁ。USB メモリでひとつ秘密鍵持ち歩いて、それを ssh-agent にロードさせるのがいいんだろうか。
そんな気にすることじゃないんだけどさ!!

screen って起動しっぱなしだから、ログインセッションやろうかなってときに毎回 exec するのがいいのかなぁ (終わったらちゃんと終了させる)。ちょっとめんどいけど
そいで screen のウィンドウに環境変数があるときは文字を追加するようにして、ちゃんと agent の起動を監視できたほうが、安全っぽい。

pass

苦手なキーストロークをパスワードに含めると苦手じゃなくなるらしい
大文字を多めにしたパスワードを考えよう

co.blosxom

http://svn.lab.lowreal.net/lowreal/c/blosxom/coblosxom/
飽きた……
meta プラグインにちゃんと対応させて author 情報埋め込もうかと考えてたけどめんどくさい。
今度 blosxom っぽいの作るときは Perl で書こうと思う。

ssh-agent

putty

  • ssh-keygen で dsa キーを作って puttygen.exe でインポートして ppk に変換
  • pageant.exe に private キーを D&D して起動
  • putty の設定で [接続] [データ] で自動ログインのユーザ名を指定 [SSH] [認証]

++gerry

あんまりお腹痛くないのに

認証API

あるユーザがあるグループに所属しているかどうか取得できると、グループごとに一括して認証管理できて便器かもしれない、とちょっと思った。

ldr

新ジャンル 便意 が既読にならない。読みたびに便意

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 がアレなんだけど。。
  • フレーバー管理