2010年 11月 01日


gerry++

2010年 11月 04日


奈良の古社をたずねようと以下をまわった。

  • 石上神宮
    • 本殿はよく見えなかった。境内に元気がいい鶏が結構沢山いて鳴いてた
  • 夜都伎神社
    • かなりのどかなところにあって良かった。
  • 大和神社
    • 普通の神社だった

石上神宮に七支刀の模様が入った御守りがあったのでもらってきた。

gerry++

2010年 11月 05日


2010年 11月 06日


自分用 IRC の Web インターフェイス

  • rpc.pl を ~/.irssi/scripts/auto に
    • /script load auto/rpc しとく
  • perl script/server.pl -p 9876 で HTTPD を起動

irssi のプラグイン + UI用 HTTPD の構成になっている

  • irssi で直接 UI 用の HTTP サーバをたてない
    • UI 用のウェブサーバは再起動を頻繁にすることが多いので、irssi 用のプラグイン部分は最小限構成にし、滅多に再起動したりしないように
  • UI 用の HTTP サーバと irssi は RPC で通信することにする
    • 現状は MessagePack RPC

機能的には以下程度

  • 端末ごとの自動ふりわけ
    • タッチデバイス (Android, iPhone, iPad) への対応
    • PC 向けの簡易ビュー (どうしてもSSHを使えない環境とかで使う用)
  • JS による画面制御
    • 体感速度向上
  • 省メモリ
    • HT-03A 程度の端末でもホーム画面が殺されたりしない
  • irssi と連動した未読管理
    • window を移動した際、irssw 側の未読もクリアする

これまで mobirc をずっと使っていたのですが、Android 用にもうちょいマシな新しくUI作りなおそうと思ったときなんか面倒だったので、最小限セットのものを作りなおした。

Tiarra に RPC 機能をつけたらいいかとも思ったが、Tiarra に手を入れたくなかったのでやめた

2010年 11月 08日

gerry++

2010年 11月 09日



なんか最近おっさんみたいな写真ばかり撮っている気がする。といっても、おっさんになると、おっさんらしい写真は撮れなくなるだろうから、今のうちにおっさんみたいな写真を撮っておかないといけないだろうと思う。

シネスコサイズのトリミング、実はものすごく気に入っていて片っ端からシネスコサイズにしたいけれど、割と我慢している。

普段見なれたサイズから大幅に切り取られた分、そこにあった何かを補完したい気分になるのが良いと思っていて、その効果を出すためには普段をシネスコにすることはできない。

2010年 11月 08日

irssi、ハイライトさせたいワードを含むがハイライトさせたくないワードを指定

LimeChat の Highlight words と Exclude words の関係みたいなもの、irssi でどうやってやるかサッパリわからないので書きました……

といっても、MSGLEVEL_HILIGHT のフラグを落とすだけなのでハイライト自体はされてしまいます。

僕は MSGLEVEL_HILIGHT が立っているメッセージを特定ウィンドウに転送する別のスクリプトと、全てメール通知+IM 通知するスクリプトを使っていて、ハイライト自体よりは後半のアクションを止めたいだけなのでとりあえず十分です。

2010年 11月 12日


何度も歩いている道は、なぞるたびに今の道なっていってしまうので、懐かしさみたいなものは感じなくなっていく。知らない道や忘れた道ほど懐かしく感じる。

徳を養う生活をしたい。

2010年 11月 13日


ダイアリのデザインを変えたい気分。写真中心になるにつれてちょっとずつ変更を加えたりしているのだけれど、今のは全体的になんか纏まってない感があって嫌なのでなんとかしたい。

編集環境の都合で実際のターゲット解像度より低めにつくってしまってよくない。総合的にマトモにするために、かなり妥協して、完全にかっちりした、ソリッドなデザインからはじめることとしてもいいかもなあと思った。

ので以下のことを考えながらひとまずつくった。

  • 写真を中心に考える
  • 文章はもはや短文中心と考えてよい
  • ファーストビューに少くとも最初のエントリが入るように
  • 上部メニューの整理 (実際CSSにするとできないデザインかもしれない)
    • 閲覧者向けのリンク・自分用リンク・はてな用リンクと分解できるので、別々にする
  • 日付はそんなに重要な情報ではない (日付を基点にして読むのは書いている本人ぐらい)
  • セクションの切れめで一旦止まってほしい

眠いのでまた明日どうにかする。とりあえず俯瞰するとタイトルがでかい気がする

2010年 11月 15日


2010年 11月 14日

gerry++

2010年 11月 16日


2010年 11月 17日



2010年 11月 18日

沙瑛の楓

沙瑛の楓、前に撮ったやつと比べると、撮りかたがマシになった気がする。というか前撮ったやつ全然ほんとダメだ。32mm ってなってるから広角ズームで撮ったのだろうけど、レンズ自体もイマイチだし、そもそもちゃんとモノの正面を解ってないしクソだ。

2010年 11月 19日


2010年 11月 21日

一つ理解できないことをしばらく悩んで考えていたりするといつのまにか理解できているものなので、理解できなくても割と楽観的になった。

自分が「とりあえずやってみるか」と思えるのはアンドゥが効くときだけみたいだ。全くリスクがないとき。

何かしらリスクがあることはそうはいかなくて、そのままでは全く行動までいかない。でもってここで「失敗したら死ねばいい」と考えているから、やっと行動ができる。失敗ケースの逃げ道は、もちろんそれ以外にも用意はするけど、結局ワーストケースで全く逃げ道がない場合でも、死ねばいいという逃げ道を確保できる。自分はこれはネガティブな考え方だとは思ってない。もしこれについてネガティブだなぁっていうなら、そいつは何もわかっちゃいないのだ、と思う。

http://lowreal.net/blog/2006/12/14/4

書いたのもう5年前……

自分の日記ってのは、自己にとって、代替物がないという点で、最も貴重なのだと更めて思い、記録にしろ何にしろ、全く書かなくなるのは、心底良くないと感じたが、書けないことが増えるのは、生きているうえで仕方なく、とはいえ書けないことが増えるというのは、想定読者に因っているので、何らかの方法で適切にゾーニングできればいいはずだけれど、現状ではあまり良い方法はなく、あるとすれば、古典的な、書く場所をどんどん変えていく、という方法ぐらいである。

昔の日記を読むと大変恥かしい思いをしたり、全部消してしまいたい衝動に駆られたりするけれど、昨日の自分はもはや他人なのだし、他人でなければならないのだから (同じだったら成長してないってことだ)、恥かしい思いをする分、今は昔よりはマシということである。という言い訳を自分にしながら読まなければならないほど、昔の日記というのは恥かしいものです。

2010年 11月 22日

2010年 11月 23日


2010年 11月 24日


2010年 11月 25日


スケルトンジェネレータ starter.pl

みなさんそれぞれ作ってる感がありますが、なにかしらのスケルトンをつくってくれるやつを僕も作ってあったりします。

昔 catstarter.pl を書いたときのコードを殆ど流用して汎用化したものです。

  • 実行するとどのスケルトンをつくるかきかれる
    • template ディレクトリ以下から選ぶ
  • 選択するとそのテンプレをもとに置換とかを行ってスケルトンを生成
  • setup.sh というのがあればそれを実行 (git init とかが書いてある)

要は cutagem と同じです。


最近よくつくる .psgi のスケルトンと、pmsetup 的なスケルトンをいまのところ使っています。

2010年 11月 26日


2010年 11月 25日

ここはAmon2のディレクトリ構造を貼るスレです

lib
├── Amon2
│   ├── Config
│   │   └── Simple.pm
│   ├── Declare.pm
│   ├── Plugin
│   │   ├── LogDispatch.pm
│   │   └── Web
│   │   ├── CSRFDefender.pm
│   │   ├── FillInForm.pm
│   │   ├── FillInFormLite.pm
│   │   ├── HTTPSession.pm
│   │   ├── JSON.pm
│   │   ├── MobileAgent.pm
│   │   ├── MobileCharset.pm
│   │   └── NoCache.pm
│   ├── Trigger.pm
│   ├── Util.pm
│   ├── Web
│   │   ├── Dispatcher
│   │   │   ├── Lite.pm
│   │   │   └── RouterSimple.pm
│   │   ├── Request.pm
│   │   └── Response.pm
│   └── Web.pm
└── Amon2.pm

fuf-script.vim

id:hakobe932 さんが http://d.hatena.ne.jp/hakobe932/20101122/1290441814 というのをやっていて、いいなぁと思ったので fuzzyfinder 版を書いてみました (だいたいコピペですが)。

を autoload/fuf/script.vim らへんにつっこんで

vimrc に

command! Bookmark call fuf#script#launch('', 0, 'B\!>', 'perl', $HOME . '/.vim/bookmarks.pl', 0)
command! Music call fuf#script#launch('', 0, 'iTunes>', 'perl', $HOME . '/.vim/itunes.pl', 1)

とか書くといい感じにいけます。source の形式は hakobe さんのやつと一緒なので、そのまま使えます。

  • 'perl' が入ってる部分にコマンド名、
  • 次に実行するスクリプト名
  • 最後の 0/1 はそのコマンドの結果をキャッシュするかどうか

です。キャッシュはおなじみ FufRenewCache でクリアできます。

2010年 11月 26日

iTerm2 用の Cmd+数字 によるウィンドウ切替えパッチ

Snow Leopard にしたら今まで使っていた iTerm が option キーを正しく meta キーとして認識しなくなってイライラしたので、iTerm2 はどうなのだろうと思い入れてみると、こっちは上手く動いてくれた。なので iTerm2 を移行しつつ、いつも通り Cmd+数字 でタブじゃなくてウィンドウを切替えるパッチを書いた (ターミナルのタブとか使わないし存在価値がわからない)。

trunk の rev378 へのパッチ。もとから Command+Alt+数字で切替えるコードが入ってるけど、Alt を別ハンドリングしてるせいで全く動いてない無駄なコードになっていて意味不明なので、単に判定を変えるだけです。

From 1ef0734ca9ea0295c178c386ee173cb4e14eb6bb Mon Sep 17 00:00:00 2001
From: cho45 <cho45@lowreal.net>
Date: Fri, 26 Nov 2010 12:44:23 +0900
Subject: [PATCH] Use Command+number to switch windows instead of Command+Alt+number

---
 iTermApplication.m |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/iTermApplication.m b/iTermApplication.m
index b9d47f1..89ede9c 100644
--- a/iTermApplication.m
+++ b/iTermApplication.m
@@ -63,8 +63,8 @@
         PTYSession* currentSession = [currentTerminal currentSession];
         NSResponder *responder;
 
-        if (([event modifierFlags] & (NSCommandKeyMask | NSAlternateKeyMask)) == (NSCommandKeyMask | NSAlternateKeyMask)) {
-            // Command-Alt number: Switch to window by number.
+        if (([event modifierFlags] & NSCommandKeyMask) == NSCommandKeyMask) {
+            // Command number: Switch to window by number.
             int digit = [[event charactersIgnoringModifiers] intValue];
             if (digit >= 1 && digit <= 9 && [[iTermController sharedInstance] numberOfTerminals] >= digit) {
                 PseudoTerminal* termWithNumber = [[iTermController sharedInstance] terminalAtIndex:(digit - 1)];
-- 
1.7.1
2010年 11月 27日

とりあえずデザイン変えた。各所で余白が乱れているのが気持ち悪いし、本文の細かいスタイルをあててないけれど、あとでなおそう…… とりあえず出さないと不安になる。

変えると自分が一番慣れない。

結局前つくったやつはかなり捨ててしまって、960px 幅をベースに 1024px の環境で作りなおしたのだけど、途中でいろいろ問題が起きて (シンプルヘッダじゃないと実現できないことに気付いて差し替えたりとか)、面倒になってしまった。ダメだこりゃ……

あと思いつきでコメント系を消した (普通のコメントもスタコメも)。なのでスターによるアクションしかページ上でできなくなった。別に困らないだろう。

人に見せている感が強くなったのが良くない感じがする。なんでそう感じるんだろう……

ファーストビューに最初のエントリが見えるのはやっぱいいですね。便利。

  • 記事一覧のページのスタイル全くあててなくてひどい
  • ヘッダとかの余白なおす
  • 引用とアマゾンのスタイルを書く
2010年 11月 28日

必要にかられて、会社 PC を Leopard から Snow Leopard にアップグレードして、だいたい上手く動いてそうだなあと思ったやさき、いろいろおかしくなっていることに気付き、結局自力で入れた全てのライブラリやプログラムを入れなおすハメになり、死にたくなるほど時間がかかっている……

MacPorts だと全力で全部入れなおしになってしまうので sudo rm -rf /opt/local して MacPorts を消しさり、homebrew でセットアップしなおしている。perl も、今までは MacPorts のを使っていたけどやめて、perlbrew で 5.8.8 (アプリサーバとバージョンをあわせて) を導入することにした。

CPAN 祭がつらい……

2010年 11月 27日

gerry++

2010年 11月 28日

久しぶりに 50mm F1.4 を使って撮ったりした。開放でとるとかなり甘いうえに周辺減光が激しいので、流行りの instagram っぽい感じになる。F5.6 ぐらいまで絞るとシャープになるので面白い。

50mm の感覚を忘れていて、100mm にすると落ち着くようになってしまった。

Canon 単焦点レンズ EF50mm F1.4 USM フルサイズ対応 - キヤノン

キヤノン

3.0 / 5.0

  • 余白はなおした
  • 記事一覧ページも微妙ながらあてた

本文の背景が真っ黒だとなんか気取ってる感ある……

#000 -> #111

Snow Leopard / Lion にしたら vim の中から起動する perl がシステムデフォルトの perl に固定されてしまった。

Snow Leopard が余計なことをするようになった。なんとなく "vim path /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" とかでググっていたら、http://d.hatena.ne.jp/yhino/20100908/1283963661 というエントリがひっかかってくれた。

/etc/profile とか /etc/zshenv とかで /usr/libexec/path_helper というプログラムを実行してシステムのパスを先頭に追加するとかしているので、vim のような環境で、~/.zsrhrc が呼ばれない場合、システム側のしか呼ばれなくなっている。本来 PATH 通しとかは ~/.zshenv に書くべきなので、自分も悪いのだけれど、PATH の管理ぐらい自分でできるし、余計なことをしてほしくないので以下のようにした

$ lm /usr/libexec/path_helper
-r-xr-xr-x  1 root  wheel    50K  5 19  2009 /usr/libexec/path_helper*

$ sudo chmod -x /usr/libexec/path_helper

$ lm /usr/libexec/path_helper
-r--r--r--  1 root  wheel    50K  5 19  2009 /usr/libexec/path_helper

単に実行権限をなくした。

はてなダイアリーのCSSを簡単に書けるようにする

はてなダイアリーのCSSを編集するのはなかなか骨の折れる作業で、とりあえず HTML を落としてスタイルをあてたりしても、ある程度できあがってからは、自分のダイアリに実際に反映してしまって、オンザフライで、あの designdetail のページでCSSを修正してしまったりするものです。

とはいえ、あのフォームはトライアンドエラーを繰替えすには大変なので補助するスクリプトを書きました。

以下を保存して実行すると (Config::Pit で user と pass を指定する必要があります)、$EDITOR で現在のデザインCSSを開き、保存すると反映される状態 (1秒ごとにチェックしており、HTTP で POST しているので、保存してすぐとはいきませんが) になります。

また、ミスって変更しても戻せるように、~/.hatenadiarydesign/ 以下にバックアップを作りまくります。

2010年 11月 29日


2010年 11月 28日

gerry++

2010年 11月 29日

自動CPAN祭 AutoInstall.pm

モジュールが見付からなかったとき自動的に CPAN install するのはなんかあるんですが上手く動いてくれなかったので簡単なのを書きました。最近 perl ごと入れなおすハメになって面倒だったのですがだいぶ楽にいけました。

PERL5LIB パスが通ったディレクトリに以下のスクリプトを置いて、perl -MAutoInstall foobar.pl とかでいけるので便利です。

なんかもっと確実で、良い方法があったらいいのですが、知らないので困った感じです。

2010年 11月 30日


Titanium Mobile (iPhone) で、アプリの WebView 内HTMLの特定スキームをハンドリングするテクニック

ローカルHTMLや、直接HTMLを書く場合、Titanium オブジェクトがHTML側から可視なので WebView 内部と外部のコミュニケーションは別段難しくない (fireEvent したら良い) のだけれど、リモートHTML (自分のウェブサービスと協調させたいときとか) の場合はそうはいかないので、別の方法が必要。

ということでカスタムスキームは使えないのか? と思ったのだけれど、それらしいAPIはない。こりゃカスタムスキームのハンドリングはできないな、と思いきや別の方法により可能であることがわかった。

前置きともかく以下のようにするとできる。ここではカスタムスキーム名を custom: としている。

var webview = Titanium.UI.createWebView();

// ローカルでもリモートでもどっちでも良い
webview.url = 'http://localhost:5000/sketch.html';
//webview.html = '<!DOCTYPE html><html><body>' +
//	'<p><a href="custom:foobar">custom scheme</a></p>' +
//'</body></html>';

webview.addEventListener('error', function (e) {
	// "Error Domain=WebKitErrorDomain Code=101 \"The URL can\U2019t be shown\" UserInfo=0x6872120 {NSErrorFailingURLKey=custom:foobar, NSErrorFailingURLStringKey=custom:foobar, NSLocalizedDescription=The URL can\U2019t be shown}"
	if (/NSErrorFailingURLKey=custom:(\S+), /.test(e.message)) {
		var data = RegExp.$1;
		alert(data);
	}
});

Titanium.UI.currentWindow.add(webview);

コードの通りですが、WebView はハンドリングできないエラーがあると error イベントを発火するので、それをキャッチして処理してやるだけです。なので存在しないスキームしかハンドリングできないです。iPhone だと遷移も発生しないので割といい感じです。

なんか根本的に解決する方法があれば良いのですが、あれば教えて頂けると嬉しいです。