✖
やばい JS 書くのが面倒くさい。
やばい JS 書くのが面倒くさい。
こう、だんだん書きたいことが書けなくなっていくなぁ、と感じる。それが何を原因にしているかとかも分かっているけれど、書けなくなってしまっていく。余計なことを言う人や、全くレイヤーの違う人との関係性とか、そういうの。
ツールが簡単であればいくらでも書けるはずだと思ってたけど、そうもいかないみたいだ。やっと書けてこれか。他の方法を探すしかない。今まで甘かっただけだ。
一応リアルタイムで IRC ログが見れるようにはなった。
Firebug のコンソール開いてると面白いなぁ。
発言側のロジックも書いたけど、問題はインターフェイスだよなぁ。複数のチャンネル (chokan 側で配信を許可したもののみ) の切り替えとか。めんどい。
thread.rb の Queue を使うと結構スマートな感じにはなるけど、IRC のログをとるデーモンと、それを配信する httpd が一緒になってないといけないのがなぁ。
あでも httpd 側を drb で分離とかできるか。CGI が drb で chokan に接続して、Queue#pop すればいいのか。あれれ
あとは JS 側でどうするかのみかなぁ。だいたい。タイムアウトしてエラーになったら何秒か待ってとりにいくとかの待ち時間を指数的にしとくとかして負荷減らす作戦とかうんぬん
httpd が cgi プロセスを殺しちゃうと Queue を pop するスレッドがおかしくなるなぁ。drb で接続してプロセス分離したらうまくいくだろうか
暗闇にヤギを探して を読んだ。
moe と imifumeism を合わせたような。春樹を意識しているような。s/ヤギ/羊/g・井戸・猫・向こう側、とか、そういう系だしなぁ。夢が混ざってるし、ある意味ファンタジー?
ちょっと前半3分の1ぐらいがラノベにしてはリズムがちょっと悪くて読みにくかった (姉の物語的な存在意義がわかりません)。けど普通に面白かったといえば面白かった。
とかそういうのはどうでもよくて、ただ「洗濯機が変な音してるの」でちょっと期待したんだ。それはハズれて、別に普通に洗濯機が壊れた話だった。でも、2ページぐらい洗濯機がどうこうの話でドキドキした。これだけで十分な本だと思った。
関係ないけど生きてることと死ぬことに意味はないけど、自殺には意味がある派です。見方がちょっと違うから言葉遊びみたいだ。
もっと関係ないけど、 「食欲あるくせに 食べるのが好きじゃないなんて 矛盾しているよなあ」 が分かった。今まであんまり気にしてなくて、そのままの意味だと思ってたけど、なるほどなぁと。
DRb 経由で Queue を pop しようとすると dead lock 扱いになっちゃうなぁ。CGI のスレッド以外のスレッドがローカルにないせいかな。
からなず向こう側(謎)で pop すればいいみたいだ。
iTunes の共有を特定のやつだけ表示したいなぁ。某ネットワークに繋いだときどうでもいいのがいっぱいならぶのがちょっと気になる。
なんかソフトウェアアップデートしたら激重くなった。アクティビティモニタ見ても特に CPU もメモリも食ってないのに、スワップしてる感じ。
あと CPU 食ってないときでも 1.83GHz マックスなことが多くなった。なんでだろう。
kernel_task がやけにハリきってるみたいだけどなんなんだろう
見てると、メモリを一気に使ったり解放したりを繰り返すような挙動をしてる。そのせいで他のがスワップアウトしてるような。なんでそういう状況なのかはわかんないけど、アップデートしてシステムのなんかのデータベースをアップデートしてるんだろうか
日本語のチャンネル名どうしよう。チャンネル名は UTF-8 に統一するか
リロードしちゃうと、リロード前の XHR のリクエストが一番最初の発言を pop して握りつぶしちゃう、ので、発言が飛んでしまうことがある。うーん。
ロード時はちょっと多めに送って、タイムスタンプをクライアント側で比べてユニークにするとかが必要かなぁ。
そういえば DRb って一つのプロセスで複数のサービスってできるんだろか。URI 違えばいいのかな。
やっぱリクエストがタイムアウトしたりすると、Queue を pop するスレッドが残ってしまって、発言が飛んでしまったりする。解決するには直近ログを常に保持して、リクエストが失敗したときはマージするようにするとかやらないといけない。いろいろ変えないとだめだなぁ。
gems って標準添付されないのかなぁ。標準添付されないんじゃ gems をインストールするっていうのが面倒くさくてアレ……
一時限目の先生が遅刻厳しすぎ。出席カード配られるまで腹痛の我慢に必死
reload するたびに Queue の待ちスレッドがたまってしまってだめだな。待ちスレッド + 1 回 push してあげればいいだろうか。でもタイミング次第でアレそう。クライアントがロードされたっていうリクエストしてきたら Queue を作り直す方がいいっぽいなぁ。
num_wait が 0 以下になるまで削除することにした。しかし Queue の待ち先がさらに待ちをつくると無限ループになる危険性がある
腰が壮絶に痛い。これ大丈夫なんかな……
共有のほうのレイアウトが保存されないのがアレだなぁ。常時上のブラウザ?を表示しておきたい。
なぜか downy 聞きながらだとコードとかが普通より書ける。
今日おぼえた。sed こわい (正規表現の文法が違うのが) から、ruby とか perl つかう!
-i は出力をとってるので -n では $_.sub! だけだとだめ。逆に -n を使うなら puts なり print なりしてあげる。というのがポイントらしい! 今日もとぴあ様の助言がありました。
最後のSってなんだろう。
Good Dog Happy Men の Most beautiful in the world (全国流通版) をどうしても聴きたかったので買ってしまった。なぜか無駄に DVD サイズ。ハイライン版は持っていたので、一曲のために 1500 円はどうかと思ったけど後悔はしてない。Apple star story かっこいい。めちゃくちゃいい。
すっごいライブいきたくなった。まじで魔法
あと店頭で KOHL の「アンブレラ」のジャケットが好みだったので衝動買いした。KOHL あんまり知らないんだけど
ああ、そうだ。これ、TOWER RECORD で買ったんだけど、タワレコってナプスターと組んでるんだね。変なネコミミが店先に立っててなんのコスプレだろうと目を疑った。
ナプスターのキャラクターって fb2k のアイコンに似てる。
~/plagger
$ irb -rbdb
irb(main):001:0> a = BDB::Hash.open("irc.db")
BDB::Fatal: irc.db: unsupported hash version: 8 -- Invalid argument
hamachi のせいっぽい。終了したらよくなった予感。と思いきや違うようだ?
アクティビティモニタで見てても別に変化してるように見えない。けど黄色の部分がずんずん増えていってあるときいっかつして開放されるっていうのが繰り返されるなぁ。
sudo apt-get install libdb4.2-ruby1.8で読めるようになった。4.3 だとなぜかヘッダファイルとバージョンが違うと言われて起動できない。3 だと version8 は読めないとかいう謎のエラーになる。
少し前にちょっと書いた話の続き?
頭で考えている自分の意見とかって、少しずつ変わっていくものだから、バージョン管理したいなぁと思う。日記みたいに一次元でずっと書いていく形だと、意見が変わっときは「意見がここで変わりました」という日記を書かないといけない。いつ自分がそれについて言及したかを覚えていないと、だんだん日記全体の統一性が失われてしまう。「あれ? ちょっと前のこの話と矛盾してね?」みたいなのがでてきてしまう。
そんで今度は「前こういったから、今こう言うのはいけない気がする」とかなって考えが固着していく。よくない。
バージョン管理システムで自分の意見にバージョンをつけながら、更新していったら、そういうのが解決するかもしれない。「この時点の自分は確かにそう考えていたけど、今の自分とは違う」というのが明確になる気がする。バージョンごとに自分が輪切りになっていくイメージ。
でも実際やろうと思うといい運用方法がうかばない。ファイル名は何になるのか。どのタイミングでコミットするのか。意見って明確に分けられるものではないから、いくつかのファイルに意見が分散してしまう。ファイルの名前は何になるんだろうとか。
なんかいい方法ないかなぁ。
学校の先生ってなんであんな偉そうなんだろ。確かに偉いのはわかるけどさ、なんか雰囲気おかしい気がする。よくわかんないけど。なんかだんだん耐えられなくなってくる。「単位とらないといけない」感もすごく嫌だ。
UNIX オペレーティングシステムとかいう講義をあきらめることにする。どうしても評価方法とか、先生の挙動が受け付けない。
ネットワークプロトコルという講義もあきらめたいけど、こっちは確か必須なのであきらめられない。まさに「単位とらなきゃいけない」というアレ。
なんかコンピュータの扱いに学生よりも慣れていない人のように見える。環境がいつもと違うんだろうか。それにしてもビデオ再生ぐらいで何分も悩んだりしないと思うんだけど……
学校のいろんなところが気に入らない。低レベルなところだと外歩いてるとどこでもタバコ臭いとか (タバコ吸ってる俺ってばちょいワルでかっこよくね臭がするよ><) も。
学校っていう場は嫌いじゃないんだけど、中で動いてるものが気持ち悪い。
もっと余裕も持てたらいいんだけどなぁ。「お前必死だなっっw」とか言われてもその通りですとしか言いようがありません。
なんか the を無視するらしくてハマった。いくら探しても the pillows がありません>< みたいな。mt-daap の挙動がおかしいのかと思って再起動させたり、5分ぐらいやった。
すっごい使いにくいなぁ。でも複数のプロキシ切り替えられる拡張ないんだよなぁ。
ステータスバーのアイコンを左クリックで設定開くとかやめてほしい。Cmd-W で閉じないし (C-W で閉じる)
もっとシンプルにならないといけない。くだらないことが多すぎて、本質 (曖昧な言葉だけれど) が見えなくなってはいけない。
考えていることを全て言うべきではないけれど、思っていることはできるだけ言うべきだとも思う。どちらが正しいのか、未だによくわからないが、本当にくだらないことはくだらないと言うべきだ。そうしなければ一向に何もよくならない。くだらないことをまた誰かが繰り返す。
余計な話は時間の無駄だ。これもまた。
テキストにまとまっていれば30分ですむことを、それの倍以上もかけてやる意味はない。独学可能なことを学校でやる意味はない。そういうものは、必要なときに必要なだけ独りで、誰にも迷惑をかけずやればいい。
socks 経由させるのってどうすればいいんだろう……
だめだ。gimpshop も使いにくい。。。クリップボードって X 経由だとだめっぽいのかなぁ。
cd
ln -s ~/Library/Application\ Support/Firefox/Profiles/qhjh5wvc.default/gm_scripts .
お腹痛い
ログインしなくても駅名をあらかじめ設定してほしいので、test.user.js にとりあえず以下を書き加えた。適当過ぎ
var from = $X("//input[@name='from']")[0];
if (from) {
from.value = "unnko-";
}
日本語のコピーは sjis に変換しないとだめらしい
cat /tmp/vimyanktmp | iconv -f utf-8 -t shift-jis | pbcopyいい加減キーバインドに割り当てろって感じだw
sjis ってのが謎なんだけど。。
if has("mac")
map <silent> sY :call YankPB()<CR>
function! YankPB()
let tmp = tempname()
call writefile(getline(a:firstline, a:lastline), tmp, 'b')
silent exec ":!cat " . tmp . " | pbcopy"
endfunction
endifしてみた
export __CF_USER_TEXT_ENCODING='0x1F5:0x08000100:14'
して pbcopy が適切みたいです。
あがが。新松田一歩手前で起きた。死にたい。
16時ぐらいから今までオフラインという切なさ
なにやら唐突に共有が見えなくなった。hamachi は繋がってるみたいなんだけどなぁ。なんでだろう
HamachiX じゃなくて直接 hamachi たたいたらいけた。謎い
$ ruby -rtimeout -e "timeout(1) { p 10000000**10000000 }" やると返ってこない。
$ ruby -v ruby 1.8.4 (2005-12-24) [i486-linux] ruby 1.8.2 (2004-12-25) [universal-darwin8.0]
計算も重くて、切り替わらないけど、inspect ででかい数字を出そうとするとめちゃくちゃ時間かかるみたい? Bignum#to_s
学校の階段3 を読んだ。
メインの二人(二人?)に違和感。なんか今までとキャラが微妙に違うような。
護くんに女神の祝福を!〈9〉,護くんに女神の祝福を!〈8〉 を読んだ。
8はなんか全く面白く感じなくて困った。ラブコメをやってるんだけど、何だろうなんかうーん、甘過ぎなのかなんなのか、かなり読み飛ばしてしまった。
9は普通に展開させていく巻だったらしく、特になんともかんとも言わず最後まで読んだ。
護くんって、最初読んだときは、もっと暗い展開するんだろうかって思ってたけど、結局三大なんちゃらはユニークキャラみたいだし、他の脅威も結局のところラブパワー(てきとう)で乗り切っちゃうんだろうな、とか思った。
なんかあんまりこう、アレに感じるのは、たぶん主人公が才能豊かで、やたらハーレム展開するところにあるんだろうな、って思った。眠い。
あと5冊
あー
ハードウェアわかんなすぎ!
ubuntu on SC430 (SATA?) で smartctl
sudo apt-get install smartools
sudo smartctl --all -d ata /dev/sda1-d ata しないで実行すると、SATA はサポートされてないぜ、でも最近のカーネルなら大丈夫かもな -d ata つけてみなとか言われる。
Windows PC に入ってるデータも、全部 Linux 側に移したい。Windows の HDD が平気で60度とか行ってこわい
二個250GBのHDD買ってソフトウェア RAID1 にしようと思った。まだ買ってないしやってない。
今の SC430 には HDD が一個ついていてこいつの容量は 40GB。箱の中の下についているHDDディスク入れるところは一個だけあいてる状態。
なので、とりあえず一個を開いてるところに入れて、その一個だけで RAID1 を構成し、40GB をコピーして (ついでにパーティションを分け直す) から HDD を入れ替えてミラーリングという、のは、できるのだろうか。
不安点
Windows の方は D ドライブと C ドライブを分けていて、D をデータドライブにしているんだけど、この D ドライブをそのまま RAID 上のネットワークドライブにしたい。
久しぶりに 3 までたどり着いた。
起動したら IME 切ってくれたらいいんだけどなぁ。
Linux -> Windows 方向の smb がいつのまにか繋がらなくなった。
$ smbclient -L nina session request to NINA failed (Called name not present) session request to *SMBSERVER failed (Called name not present) exit 1
Computer Browser とかいうサービスを止めるとこうなるらしい。やれやれ
VBR なファイルはなんも言わずに無視するんだなぁ。ハマった
なんか他にもでてこないファイルがあるんだけど全く原因がわかんなくて困る。
羨ましくなんてないんだから! リンク貼らないのは羨ましいからじゃないんだからね! (Google 検索)
他のやばい系 (IRC ででてきたやつ)
煤 - Note のやばいヒット率はやばい異常
時かけの図書室の女の子は文乃さんです。断言
何気ない検索語で思わぬサイトがでてくると面白いですね。何気ないのかどうか謎ですが
@2006-10-17 06:35:26 追記
順位変動するだろうからメモ
@2006-10-18 15:31:24 追記
「文乃さん やばい」での現在の検索結果が煤 - Noteより上になったよ>< やったね!
IRC の nick と他のサービスとの id を簡単に関連づけられたらいいんだけどなぁ。
nick は変動するし、ircnet だととられたらとりかえすのがめんどいとかあるから完全には無理なんだろうけど……
nick じゃなくて mask で認識するとして、サービスの管理化の自分のページ (ex. d.hatena.ne.jp/id/about とか) に mask を書いておいてそれを見るとかだと、自分でどれぐらい緩いか管理できる、のかな。
IRC ログの公開設定を自動化したい。
でも誰かが mask を *!*@* とか設定したらみんな見れるようになっちゃうから、mask 自体にも制限つけないとだめか。
パーティションどのぐらいわけるべきかわからないな。分けなくていい気がしてきた。あとで変更するのめんどいし。システムの再インストールとかはまたそのとき考える。とか。うーん
日本語配列の MacBook を機会があってちょっと触ったんだけど、キーの幅がちっちゃいっぽくてタイピングできなかった。あと無意識に C-SPC 押して IME きりかえしてしまうのでだめだ。
朝の4時ごろから落ちてたっぽい。唐突に
原因がわからない。ルーター再起動で繋がった。syslog 追って見たけど特になにもなし、PPPoE も落ちた形跡なし。
VoIP 側は無事だったっぽい。特に再起動せずとも生きてる。
HDD 買おうとおもったんだけど、まとめてメモリも買おうかで迷う。2G にしようと思ってたけど、なんか別に 1G でもいい気がするし、うーん。
ちょっと前にりなざうで思いついたときに書き出したもの。今考えているのとは違う部分もある感じ。ちゃんと実践できないことがいっぱいあるなぁ……と思ったのでいつでも見れるように。
伊藤家の食卓見てて思ったけど、リサイクルって awareness が溢れてるんだなぁ。情報デザイン
sudo port install memcached
memcached -d -m 32 -p 11211これあとで終了するの忘れそう。32MB ぐらいならいいけど
むー test Cache::Memcached が全て失敗する。
全てじゃなかった。けどレスポンスのところは全部失敗してる。
Use of uninitialized value in string eq at /Users/cho45/.cpan/build/Cache-Memcached-1.18/blib/lib/Cache/Memcached.pm line 462. Use of uninitialized value in addition (+) at /Users/cho45/.cpan/build/Cache-Memcached-1.18/blib/lib/Cache/Memcached.pm line 893.
memcached -vv で起動しても、変な動作してるようには見えない。なんでだ……
Ruby-Memcached は動いてるから、memcached の問題ではないようだ。
MacPorts の perl5.8.8 が悪いのかと思って標準の 5.8.6 をひっぱりだして試したけどこっちもだめだ。
どうすれば動くんだろう。マジで困る
http://d.hatena.ne.jp/k12u/20060913#p1
これだ。確かに 10 秒とかにするとテストとおる。
sudo port uninstall memcached
sudo port install libevent
cd
cd src
wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
tar xzvf memcached-1.2.0.tar.gz
cd memcached-1.2.0
./configure --with-libevent=/opt/local --prefix=/opt/local
make
sudo make installで解決した。2時間ぐらいハマった。
というのを見落としてた。
/etc/hosts を書き換えるだけでよかったのか……
Alt-Cmd-F (Alt-Ctrl-F) Alt と Cmd の同時押しって苦手
http://www.apple.com/jp/support/itunes/shortcuts/index.html はダウト
Admin 権限ないときって、USB US キーボード繋いでも US キーボードとして使えないのかな
予定
構築メモ
SC430
BIOS で SATA を ON に。ポートごとの設定で、はずしたふたの裏に番号が図解してある。
sudo fdisk /dev/sdb > p Disk /dev/sdb: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes > n > p > 1 #パーテーション番号 > 1 #最初のシリンダ > +249500M > t # タイプ変更 > fd # Linux raid auto detect > a # ブートフラグ > n > p > 2 > [RET] > [RET] > t > 2 > 82 > p Disk /dev/sdb: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sdb1 * 1 30334 243657823+ fd Linux raid 自動検出 /dev/sdb2 30335 30401 538177+ 82 Linux swap / Solaris > w
とりあえず swap を有効にしてみる
$ sudo mkswap /dev/sdb2 Setting up swapspace version 1, size = 225545396 kB no label, UUID=269dcbba-b161-4002-9a4d-29fe964d61b6 $ sudo swapon /dev/sdb2 $ swapon -s
RAID1 を一つのデバイスを missing にして作成する
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing mdadm: array /dev/md0 started.
ファイルシステム作成 ext3
sudo mkfs.ext3 /dev/md0
作ったファイルシステムに現行システムをコピー
cd / sudo mkdir new-disk sudo mount -t ext3 /dev/md0 /new-disk sudo telinit 1 # syslog とか全部止めたりしてファイルシステムの使用を最小限に # ここからは ssh できないのでちまちまうってく # パーティションは一つしかないため簡単に cd / cp -ax / /new-disk
風呂
帰って来たら no space なんたらでコピーが止まってる。いろいろ見てみると、fdisk の時点で桁を間違っているという罠……いったん全てを巻き戻す。
sudo umount /new-disk sudo mdadm --misc --stop /dev/md0 sudo swapoff /dev/sdb2
で上のをやりなおし。記録とっててよかった。
cp まで終わったら
mkdir /new-disk/proc vi /boot/grub/device.map (hd0) /dev/sda (hd1) /dev/sdb grub-install /dev/sdb update-grub vi /etc/fstab reboot # ここでは sda1 の grub で起動した sudo shutdown -h now
ハードディスク入れ替え。古い方をはずしてからっぽのをつける。が、起動しない。GRUB がちゃんとインストールできていないようだ。
sudo grub grub> device (hd0) /dev/sdb grub> root (hd0,0) grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst grub> quit
これでブートはする。が、root fs をマウントできないでとまってしまう。うーん。なんでだろう。
って、fstab 書き換えたのって cp したあとじゃん。
マウントできない。で止まった後、BusyBox shell に落ちるので、mount /dev/md0 /tmp; chroot tmp; vi /etc/fstab して書き換える。
が、これでも root fs がマウントできないと言われる。
悩んだ挙句、/boot/grub/menu.list に書いてある kernel 起動オプションをにらむ。一番上の設定をコピって、sda1 をmd0 に書き換え。
さて起動するか。起動した。よしよし
でもって /dev/sda にたいして、fdisk とか
sudo fdisk
# 上と同じ
sudo mdadm /dev/md0 -a /dev/sda1
cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[2] sdb1[0]
243657728 blocks [2/1] [U_]
[>....................] recovery = 2.8% (6982720/243657728) finish=70.8min speed=55698K/sec
unused devices: <none>よさげ。
こっちのディスクにも grub をインストールしたら終わりかな。
あ、あと、sda2 も mkswap, swapon, vim fstab して書き換え。
mdadm --detail --scan >> /etc/mdadm/mdadm.conf dpkg-reconfigure mdadm
resync が終わっていたので、grub インストールしてシャットダウン。/dev/sdb を外して起動してみる。起動した。
つけ直して起動。cat /dev/md0 してみると、sdb1 がなくなってる。mdadm /dev/md0 -a /dev/sdb1 する。また resync がはじまる。
これでいいのかよくわからなす
hdparm /dev/sda とかやっても DMA かどうかとかの情報が見れないなぁ。
$ sudo hdparm /dev/sda /dev/sda: IO_support = 0 (default 16-bit) readonly = 0 (off) readahead = 256 (on) geometry = 30401/255/63, sectors = 488397168, start = 0
itete
スクリプトが読み込まれる順番ってどうなってるんだろ
七姫物語〈第4章〉夏草話 を読んだ。
数日間/何回かに分けて読んだ。読むたびに毒が抜かれて眠くなる(いい意味で)。ROOM と平行して読むのが通らしいけど、七姫読んでから ROOM 読むのはスイッチの切り替え手順的に無理でした。
全体的にどう展開していくか全然わかんないのが不安だけど、割とそういうのはどうでもよくて、それぞれの登場人物が、それぞれの視点での起承転結をもっているとか、そういうのが面白い。
たぶんこういうのは何回か読んで、毎回なんか感じるのが、いいんだろうなぁ。
あと4冊
unsafeWindow.open = function (url) {
GM_openInTab(url);
};
http://subtech.g.hatena.ne.jp/h2u/20061020/1161320952
souka ブックマークレットにすればいいんだ><
ついでにドメインもさかのぼれるようにしてみた。http://subtech.g.hatena.ne.jp/ -> http://g.hatena.ne.jp/
javascript:location=(function(){with(location){return pathname=="/"?href.replace(host,host.replace(/^[^.]+\./,"")):href.replace(/[^\/]*?\/?$/,"")}})();
javascript:location=(function(){with(location){return pathname=="/"?protocol+"//"+host.replace(/^[^.]+\./,""):href.replace(/[^\/]*?\/?$/,"")}})();
用件
ステップ
最終的に思ったポイント:実際ファイルコピーするのは最後にしよう。grub インストール前にファイルをコピーしてしまってハマった。
まず BIOS (起動時に F2 で入る) で新しく接続したドライブを認識するようにする。SATA の on/off
sudo fdisk /dev/sdb
> p
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
> n
> p
> 1 #パーテーション番号
> 1 #最初のシリンダ
> +249500M
> t # タイプ変更
> fd # Linux raid auto detect
> a # ブートフラグ
> n
> p
> 2
> [RET]
> [RET]
> t
> 2
> 82
> p
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sdb1 * 1 30334 243657823+ fd Linux raid 自動検出
/dev/sdb2 30335 30401 538177+ 82 Linux swap / Solaris
> w
とりあえず swap を有効にしてみる
$ sudo mkswap /dev/sdb2
Setting up swapspace version 1, size = 225545396 kB
no label, UUID=269dcbba-b161-4002-9a4d-29fe964d61b6
$ sudo swapon /dev/sdb2
$ swapon -s
RAID1 を一つのデバイスを missing にして作成する
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing
mdadm: array /dev/md0 started.
ファイルシステム作成 ext3
sudo mkfs.ext3 /dev/md0
grub install
sudo grub
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst
grub> quit
vim /etc/fstab で md0 をマウントするように
/dev/md0 / ext3 defaults,errors=remount-ro 0 1
proc /proc proc defaults 0 0
/dev/sdb2 none swap sw 0 0
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
vim /boot/grub/menu.list の上の方に追加。md0 を root とするように
title Ubuntu, kernel 2.6.15-27-386 (raid)
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-27-386 root=/dev/md0 ro quiet splash
initrd /boot/initrd.img-2.6.15-27-386
savedefault
boot
作ったファイルシステムに現行システムをコピー
cd /
sudo mkdir new-disk
sudo mount -t ext3 /dev/md0 /new-disk
sudo telinit 1
# syslog とか全部止めたりしてファイルシステムの使用を最小限に
# ここからは ssh できないのでちまちまうってく
# パーティションは一つしかないため簡単に
cd /
cp -ax / /new-disk
mkdir /new-disk/proc
シャットダウンして付け替える。ここから sda は新しい 250G のディスク
/dev/sda にたいして、fdisk して、mdadm -a で RAID に追加
sudo fdisk
# 上と同じ
sudo mdadm /dev/md0 -a /dev/sda1
cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[2] sdb1[0]
243657728 blocks [2/1] [U_]
[>....................] recovery = 2.8% (6982720/243657728) finish=70.8min speed=55698K/sec
unused devices: <none>
こっちのディスクにも grub をインストール
sudo grub
grub> device (hd0) /dev/sda
grub> root (hd0,0)
grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst
grub> quit
設定を保存して、メールの送信先を設定しとく
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
dpkg-reconfigure mdadm
で終わり。のはず。実際構築したときはいろいろハマって起動しなかったりした。grub のインストール手順がおかしかったのと、grub が渡す kernel 引数が悪かったせい。
それと頭悪くて fdisk の桁を一個間違えて RAID missing 構築までやってしまった。やりなおすために
sudo umount /new-disk
sudo mdadm --misc --stop /dev/md0
sudo swapoff /dev/sdb2
とかやって、fdisk しなおした。
root ファイルシステムがないとか言われて起動しなかったときは、ずっと待ってると BusyBox shell に落ちるのでそこでなおしたりした。 これは kernel 引数が RAID デバイスになっておらず /dev/sda を参照していて、sda は RAID に参加するまえでミラーリングされていなかったで、ファイルシステムが存在せずエラー、とかいうやつ。
mount /dev/md0 /tmp; chroot tmp
fstab の修正をして、/boot/grub/menu.list を修正した。
けど、menu.list のほうが、title がかぶっていてはダメらしく、めんどいので grub 中に edit して起動して、起動してから書き換えた。
そんなわけで RAID1 になりました。一度つけて外して resync の様子とか見たりしたり。RAID になったからって、別に表面所何かが変わるわけではなく、ハードディスク変えて容量が増えただけという感じ。
まだ慣れてないので、「バックアップとらないとなぁ」と不安になってしまったりする。「そういえば RAID 組んだんだからそんなに気にしなくても」とか打ち消したりとかなんとかとかとかとか。とかばっかりだなねる
sudo port install lighttpd
port でインストールするとバージョン 1.4.11
が、なぜか lighttpd は /opt/local/sbin にインストールされるので、bin に symlink
sudo ln -s /opt/local/sbin/lighttpd /opt/local/bin
Catalyst うごかしてみよう
svn co http://svn.unknownplace.org/public/library/perl/trunk/Catalyst-Helper-Lighttpd/ cd Cata.. perl Makefile.pl make make test sudo make install
cd hoge cd ./script/myapp-create.pl lighttpd ./script/myapp-lighttpd.pl
と思いきや symlink だとだめなのか。エラーでる。 -v を実行しようとかしてる。ソース読んだけどヨクワカンネので、
./script/myapp-lighttpd.pl -l=/opt/local/sbin/ligttpd
こんどは FCGI インスコされてねぇよと怒られるので入れる
sudo port install fcgi sudo cpan -i FCGI
起動してみる。できた。めでたし。開発はまた今度やってみよう。
どこアクセスしてもトップページになっちゃうな。なんでだろ。
[debug] "GET" request for "/" from "127.0.0.1"
あー 404 用のパッチあてないといけないスクリプトだからか。
http://typester.vox.com/library/post/fixes-enginecgi-for-lighttpd.html
のパッチを catalyst-with-lighty-404.patch として保存して、Catalyst プロジェクトのルートで
mkdir -p lib/Catalyst/Engine cp /opt/local/lib/perl5/site_perl/5.8.8/Catalyst/Engine/CGI.pm lib/Catalyst/Engine patch < catalyst-with-lighty-404.patch
した。patch コマンドの使い方わからん><
なんか消えてたので google cache から復元
用件
ステップ
最終的に思ったポイント:実際ファイルコピーするのは最後にしよう。grub インストール前にファイルをコピーしてしまってハマった。
まず BIOS (起動時に F2 で入る) で新しく接続したドライブを認識するようにする。SATA の on/off
sudo fdisk /dev/sdb
> p
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
> n
> p
> 1 #パーテーション番号
> 1 #最初のシリンダ
> +249500M
> t # タイプ変更
> fd # Linux raid auto detect
> a # ブートフラグ
> n
> p
> 2
> [RET]
> [RET]
> t
> 2
> 82
> p
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sdb1 * 1 30334 243657823+ fd Linux raid 自動検出
/dev/sdb2 30335 30401 538177+ 82 Linux swap / Solaris
> w
とりあえず swap を有効にしてみる
$ sudo mkswap /dev/sdb2
Setting up swapspace version 1, size = 225545396 kB
no label, UUID=269dcbba-b161-4002-9a4d-29fe964d61b6
$ sudo swapon /dev/sdb2
$ swapon -s
RAID1 を一つのデバイスを missing にして作成する
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing
mdadm: array /dev/md0 started.
ファイルシステム作成 ext3
sudo mkfs.ext3 /dev/md0
grub install
sudo grub
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst
grub> quit
vim /etc/fstab で md0 をマウントするように
/dev/md0 / ext3 defaults,errors=remount-ro 0 1
proc /proc proc defaults 0 0
/dev/sdb2 none swap sw 0 0
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
vim /boot/grub/menu.list の上の方に追加。md0 を root とするように
title Ubuntu, kernel 2.6.15-27-386 (raid)
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-27-386 root=/dev/md0 ro quiet splash
initrd /boot/initrd.img-2.6.15-27-386
savedefault
boot
作ったファイルシステムに現行システムをコピー
cd /
sudo mkdir new-disk
sudo mount -t ext3 /dev/md0 /new-disk
sudo telinit 1
# syslog とか全部止めたりしてファイルシステムの使用を最小限に
# ここからは ssh できないのでちまちまうってく
# パーティションは一つしかないため簡単に
cd /
cp -ax / /new-disk
mkdir /new-disk/proc
シャットダウンして付け替える。ここから sda は新しい 250G のディスク
/dev/sda にたいして、fdisk して、mdadm -a で RAID に追加
sudo fdisk
# 上と同じ
sudo mdadm /dev/md0 -a /dev/sda1
cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[2] sdb1[0]
243657728 blocks [2/1] [U_]
[>....................] recovery = 2.8% (6982720/243657728) finish=70.8min speed=55698K/sec
unused devices: <none>
こっちのディスクにも grub をインストール
sudo grub
grub> device (hd0) /dev/sda
grub> root (hd0,0)
grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst
grub> quit
設定を保存して、メールの送信先を設定しとく
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
dpkg-reconfigure mdadm
で終わり。のはず。実際構築したときはいろいろハマって起動しなかったりした。grub のインストール手順がおかしかったのと、grub が渡す kernel 引数が悪かったせい。
それと頭悪くて fdisk の桁を一個間違えて RAID missing 構築までやってしまった。やりなおすために
sudo umount /new-disk
sudo mdadm --misc --stop /dev/md0
sudo swapoff /dev/sdb2
とかやって、fdisk しなおした。
root ファイルシステムがないとか言われて起動しなかったときは、ずっと待ってると BusyBox shell に落ちるのでそこでなおしたりした。 これは kernel 引数が RAID デバイスになっておらず /dev/sda を参照していて、sda は RAID に参加するまえでミラーリングされていなかったで、ファイルシステムが存在せずエラー、とかいうやつ。
mount /dev/md0 /tmp; chroot tmp
fstab の修正をして、/boot/grub/menu.list を修正した。
けど、menu.list のほうが、title がかぶっていてはダメらしく、めんどいので grub 中に edit して起動して、起動してから書き換えた。
そんなわけで RAID1 になりました。一度つけて外して resync の様子とか見たりしたり。RAID になったからって、別に表面所何かが変わるわけではなく、ハードディスク変えて容量が増えただけという感じ。
まだ慣れてないので、「バックアップとらないとなぁ」と不安になってしまったりする。「そういえば RAID 組んだんだからそんなに気にしなくても」とか打ち消したりとかなんとかとかとかとか。とかばっかりだなねる
<
menu.lst 検索して
# kopt=root=/dev/md0 ro
を設定。アップデートはしってもいいように
ROOM NO.1301〈#8〉妹さんはオプティミスティック! を読んだ。
だんだん進むごとに面白くなってく、気がする。この巻は割と普通めだった。それでもバカっぽく書いてるのがいいなぁとか。
あと二冊
あとからファイルの追加ができないような…… rescan ってうごいてなくね
パーミッションのせいだった。samba 経由で直接書くようにしたから samba の厳しい設定がそのまま生きてた。
http://lab.lowreal.net/trac/browser/c/albumart/albumarts.rb
albumarts.rb -t /home/cho45/music
-t で指定したディレクトリの一層目をアーティスト名、二層目をアルバム名として AWS 検索をかけ、アルバムアートを _folderOpenImage.jpg とかいう名前 (-f で変更) で保存していく。
mt-daap でこれを配信しておく設定にしとくと素敵><
昼食とった直後にくることが最近多い気がする
mrtg ややこしので munin インストール
sudo apt-get install munin munin-node
/etc/munin/munin.conf の htmldir を書き換え。
ハードディスクの温度を取得させるために /etc/munin/plugin-conf.d/munin-node を書き換え。
[hddtemp_smartctl] user root env.drives sda sdb env.args_sda --all -d ata env.args_sdb --all -d ata
sudo /etc/init.d/munin-node restart telnel localhost 4949 fetch hddtemp_smartctl > sda.value 41 > sdb.value 45 > . quit
smart 情報もとってみる
cd /etc/munin/plugins sudo ln -s /usr/share/munin/plugins/smart_ smart_sda sudo ln -s /usr/share/munin/plugins/smart_ smart_sdb sudo /etc/init.d/munin-node restart sudo vim ../plugin-conf.d/munin-node [smart_*] user root [smart_sda] user root env.smartargs -d ata -a [smart_sdb] user root env.smartargs -d ata -a
obj.eval の挙動が気になるのでちょっと見てみた。仕様的には非推奨みたいなやつ (というかどこで言及されてるのが謎) だけど……
Fx1.5
obj = {}; obj.eval("a = 1"); obj.toSource()
//=> "({})"
obj = {}; obj.eval("var a = 1"); obj.toSource()
//=> "({a:1})"
obj = {}; obj.eval("this");
//=> [Window]Global オブジェクトは変化させない (変化させると思ってた)。this も変化しない。VariableObject が obj になるだけ?
Global が変わらないなら別にその obj で閉じた環境ができるわけじゃないだなぁ。
昼飯食べたらまた gerry
chokan にチャンネル名渡している人とれるようなメソッドは作ったけど、ログ側がめんどい。
チャンネル名渡して全員とれるのはどうかと思う気もする。けどどっちにしろ Drb 使うならわかっちゃうな
ていうかログのスクリプトはディレクトリ単位で acl 書いてるから、チャンネルとログディレクトリとの対応は書かないとだめだ。tiarra.conf を読んで対応させたらかっこいいけど
日記に gerry って書くとグラフ化するのがほしい。
なんていうか、もう、ね、って感じ。これはやばい。話が進むにつれてやばい。三巻の最後のほうとかなんなんだよw
ホロは言うまでもなく、しかしながら脇役好きなので羊飼いの女の子++
なんか思い出してみるとホントにホロ可愛くて困る。というかなんか最近前にも増して涙腺が弱くなってて困る。別にそういうシーンじゃなくてもくる。
最後の二冊終わり。
テーマは手動で GrApple (EOS) を入れ直した。
C-u C-k C-h がちゃんと効くgtlt
セッションの復元がわからなかったけどホームページの設定ドロップダウンだった……タブの項目をさがしてた
>> dir(FireBugEval.api);
["$0","$1","$n","$","$$","$x","clear","inspect","dir"]
>> FireBugEval.expr;
"FireBugEval.expr;" //=> 実行中のスクリプト文字列FireBugEval は一行実行するごとに毎回生成されてる。該当ソース (commandLine.js)
FireBugCommandLine.evaluate = function(expr)
{
var win = FireBug.currentContext.window;
var result = null;
win.FireBugEval = function(value) { result = value; }
win.FireBugEval.api = FireBugCommandLineAPI;
win.FireBugEval.expr = expr;
if (FireBug.debuggr.debugging && FireBug.currentContext.currentFrame)
FireBug.currentContext.currentFrame.eval(this.evalScript, "", 1, {});
else
this.injectScript(this.evalScript, win);
delete win.FireBugEval.api;
delete win.FireBugEval.expr;
delete win.FireBugEval;
return result;
}
cd src cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -l mozilla/js/src mozilla/js/src/config mozilla/js/src/editline mozilla/js/src/fdlibm cd mozilla/js/src make -f Makefile.ref cd Linux_All_DBG.OBJ sudo cp spidermonkey.so /usr/local/lib/site_ruby/1.8/i486-linux sudo mv libjs.so /usr/lib cd ../ruby-smjs vim extconf.rb # s/smjs/js/g ruby extconf.rb --with-js-include=../mozilla/js/src --with-js-lib=../mozilla/js/src/Linux_All_DBG.OBJ
1.7 の機能を使うには Context#version= をセットしてあげる。
c = SpiderMonkey::Context.new
c.version= "1.7"
c.evaluate("let (a = 1) a;")
id:amachang 氏によると XHR うって FireBug 見るらしい。激しい。たしかにレスポンスヘッダならじゅうぶん
XHR のインタフェ覚えてないので
javascript:s=%22%s%22;r=new XMLHttpRequest;r.open(%22GET%22, s=='%\s'?'.':s);r.send(null);
を get キーワードにしてブックマークレットにした。
mini-DVI - VGA のアダプタ買ってデュアルモニタ><
ヨドバシでなんか売ってなくて、アプルストア行った、ら、イベントやっててちょう混んでた。あの狭い渋谷アプルストアでgtlt
しかしこれでデュアル化しても、VirtueDesktop で結構違和感だ。全部のデスクトップに表示とかやらないとだね!
c.eval("String.prototype").function("dump") {|this| p this.to_s.dump}
c.eval('"aaa".dump()')this が ruby 側でとれない?みたいなので書き換えた。なにか方法あるのかな
--- spidermonkey.c.orig 2006-10-25 23:37:28.000000000 +0900
+++ spidermonkey.c 2006-10-25 23:58:26.000000000 +0900
@@ -598,10 +598,11 @@
so = (sSMJS_Class*)JS_GetPrivate( cx, fobj );
// 引数をSpiderMonkey::Valueに
- rargs = rb_ary_new2( argc + 1);
+ rargs = rb_ary_new2( argc + 2);
+ rb_ary_store( rargs, 0, rb_smjs_convert_prim( cx, thisobj ) );
for( i=0; i<argc; i++ )
- rb_ary_store( rargs, i, rb_smjs_convert_prim( cx, argv[i] ) );
- rb_ary_store( rargs, i, so->rbobj );
+ rb_ary_store( rargs, i+1, rb_smjs_convert_prim( cx, argv[i] ) );
+ rb_ary_store( rargs, i+1, so->rbobj );
// proc を実行
res = rb_protect( rb_smjs_ruby_proc_caller, rargs, &status );
あーこれじゃだめだ。影響が広すぎて ruby のメソッドをそのまま呼べなくなる。新しいメソッドを定義するほうがいいのかなぁ。function_with_this みたいな
だめだ
parallels のネットワークの設定よくわかんないなぁ。ホストのIP固定にしたい……
IE で確認できないのが困るので結局無線ルータのポート 3000 を開けるという。
がっこの鯖に入れた svn が ssl 対応してなくて googlecode にコミットできない…… --with-ssl つけてリビルドちゅう
http://wiki.mt-daapd.org/wiki/SSH_Tunnel に書いてあるやつなんだけど、なんか苦労した……
SSH プロキシはいいとして、ローカルに mDNS プロキシをたてるのがよくわかんなくてこまった。
結局 http://www.chaoticsoftware.com/ProductPages/NetworkBeacon.html を入れて、
を設定したら見れた。Universal Binary じゃないな
これで hamachi が通らなくても DAAP が通るようになったはず……外のネットワークからためしてみよう
TCP で送る Remote Growl と、irssi プラグインを書いた。
http://lab.lowreal.net/trac/browser/c/growl/
ssh lab -R 9955:localhost:9955
で転送したかった。しかしろくにテストしてない。
ハイライトあるときは sticky で表示させる、とかやりたい。あとでしらべる
必要
RubyCocoa ってインストーラーついててちょうしんせつ><
ハイライト時に sticky 実装してみた。設定ちゃんと作ったほうがいいな……
あと irc ででた url を開きやすくしたいなぁ。
http://lab.lowreal.net/trac/changeset/365
アイコンの変更に対応してみた。RubyCocoa が思ったよりすごい簡単で楽しい。Objective-C わかんなくてアレだったけど、Ruby で書けるってだけでこうまで違うのかとw
growlclient -t test -m test -i Irssi.png
とかやると Irssi.png の内容を文字列としてサーバに送って、サーバ側では
def string_to_image(str)
str = OSX::NSData.dataWithBytes(str, :length, str.length)
OSX::NSImage.alloc.initWithData(str)
endみたいなメソッドで NSImage に変換し、Growl におくりつけてる (実際には ruby-binding の中でさらに NSData にしてから送られる)
http://lab.lowreal.net/trac/changeset/367
-c (--url) オプションをつけるとデスクトップにひたすら受信した URL のショートカットを作りまくる。IRC で攻撃されるとあぶない
そういえば Finder って : を / として表示するのね
http://lab.lowreal.net/trac/changeset/371
他の remote 系と同じようなインタフェにした。一部違うけど
コマンドラインのほうは基本的に変わらず、アプリケーション登録に対応させたのでオプション増やした。
remotegrowl.pl も修正。やっと使えるレベルか
svn co http://svn.lab.lowreal.net/lowreal/c/growl/
Safari の JS コンソールの出し方がよくわからなかったけど、OnyX の Safari の設定でデバッグモードにチェック入れたらメニューがでてきた。
EvalError RangeError ReferenceError SyntaxError TypeError URIError console a t alert event frames onmouseup NodeFilter CSSRule length print opener parent scrollX scrollY XMLSerializer menubar defaultStatus onblur confirm scrollBy pageXOffset pageYOffset Node toolbar Image onabort onmousemove scrollTo onsearch onmousewheel screenLeft onmouseover crypto screenTop Range status onreset onselect document onunload onerror innerHeight innerWidth defaultstatus name frameElement offscreenBuffering onscroll history Event onresize navigator self top clientInformation outerWidth getSelection blur locationbar DOMException setInterval scrollbars clearTimeout moveBy alert clearInterval personalbar Option closed focus location konqueror outerHeight screenX screenY statusbar scroll moveTo resizeBy resizeTo window screen XMLHttpRequest DOMParser prompt open setTimeout close captureEvents releaseEvents addEventListener removeEventListener onchange onclick ondblclick ondragdrop onfocus onkeydown onkeypress onkeyup onload onmousedown onmouseout onmove onsubmit onbeforeunload showModalDialog
もしかして:
Rinda::Ring 使ってなんかやりたい
var scroll = eval(GM_getValue('Scroll', "({})"));
log("%1.o", scroll);
window.addEventListener("load", function (e) {
if (scroll[location.href])
document.body.scrollTop = scroll[location.href];
}, false);
GM_registerMenuCommand("Save scroll positon for next time", function () {
if (document.body.scrollTop)
scroll[location.href] = document.body.scrollTop;
else
delete scroll[location.href];
GM_setValue('Scroll', scroll.toSource());
alert('saved');
}, 's', 'control meta');
GM_registerMenuCommand("Reset scroll positons", function () {
scroll = {};
location.reload();
});を test.user.js に書いてみた。Ctrl-Cmd-S で保存のつもりなんだけど、なんかショートカットちゃんと効いてくれない……
自動で全サイト保存するように最初は書いたんだけどうざいのでやめた。
というか、一番最初はブックマークにスクロール位置を保存して復元するっていうのをやりたかった。でも一発でブックマークする関数 (サイドバーに開くのしかないよね。チェックはずすのめんどいし) が見つからないのでやめた。
TupleSpace の分散ってできんのかな。Linda をあとでちゃんと調べてみよう。

ちょっと前にエルフを支援してアシスタントキャラクターを作った。ちょっと前っていうかだいぶ前だな……
でもってまちがえて17歳で作ってしまったので転生させた。っていうかそれも二週間前だ……
でレンジを 9 にした。IB とかカウンタとか、まず絶対必要なのもとってあるのでそこそこは戦える。が、アローリボルバー/レンジ1に慣れてしまっているので連射速度が遅くてしかたない。一回はずしたらほぼ確実に食らうしなぁ……ダンジョンでは戦えない。
それでなんとなく製錬をあげようと思ってちょっと掘ってみたけど、なんかやっぱルーチンワークが苦手なので (掘ってるときにいかにして自動化するかずっと考えてしまう) 露天で石買ってあげまくり中。それもめんどい。
あんまりやる時間ないなぁ。もっと死ぬほど暇になりたい。
正攻法でちょっと採掘をやりやすくする方法を書いてみる。
「コントロールパネル」の「ユーザ補助のオプション」の固定キー機能の設定で、Shift 5回連打で固定キーをオンにするチェックを入れておく。そして必要なときに Shift 連打して、 Alt キーを固定し発掘。
別に発掘じゃなくても、クモの糸ひろいでも使える。ずっと Alt キー押してるのめんどいし便利なのでおすすめ。
AHL のアレをやりたかったんだけど、なんか簡単にできる方法あるのかなぁ……
Cocoa にまんまな API があるかと思いきやないっぽいので諦めて rubying した。
http://lab.lowreal.net/trac/browser/c/mac/copypointercolor.rb
screencapture で画像とって rmagick でカーソル座標の色をとってくるだけのスクリプト。QuickSilver で割り当てて使ってみる。
info = eval( `ioreg -w0 -l | grep LegacyBatteryInfo`.gsub(/=/, '=>').gsub(/^.*¥{/, '{') )
percentage = info["Current"].to_f / info["Capacity"] * 100
puts percentage
http://lab.lowreal.net/trac/browser/c/growl/growl_delegate.rb
click イベントをとりたかったのでちゃんと delegate するバージョンを作ってみた (完成度50%)。Growl.framework と NSApplication#run が必須になる。
フレームワークってどこに置くのがいいんだろう。
ってどうやるんだろう。
あ、違う。必要なかった
Ruby/Cocoa で作った delegate のテストを書いてみたけど、どうしてもBUS Error で死んでしまうので諦めた。
NSApplication#run がくせものだ。run しないと Growl の click 通知うけとれない……
名前解決をプロキシにまかせることってできないのかな
現在の MacPorts の tsocks はちゃんと動くみたいだ
vim に乗り換えた理由の8割はタブインデントのためです。