2006-05-28

タブとスペースと萌ディタの話

タブとスペースの話
ところで、DamianセンセのPerl Best Practiceの影響なのか、最近のPerl界隈では「タブは使うな、スペース使え」と盛んに言われていますが、あえて断言しときます。こんなモンはバッドノウハウなんであって、ベストプラクティスでもなんでもない、と。

自分は行頭はタブで揃えて、それ以降の文字揃えが必要な場合はスペースを使うようにしている。で、萌ディタでタブ幅を動的に切り替えられるようにしている。
srcfile.javascript.txtにこんな風に記述。
var tab_width = 4;
function tab(num){
    App.Prop('srcfile', 'tab-width') = num
}
f.onKey4 = function(){
    tab_width > 1 && tab(--tab_width)
    App.balloon(tab_width)
}; 
f.onKey8 = function(){
    tab(++tab_width)
    App.balloon(tab_width)
};

最初はctrl+4でタブ幅を4に、ctrl+8でタブ幅を8にするようにしてたんだけど1桁ずつの増減にした。タブ幅を8以上にしても無視されるけど。普段は4にして、html書くときとかインデントが深すぎになった時は2にしたり、構造がわかりやすいように8にすることもある。

タブの幅を自分好みにしたいっていうと解決策は色々あるんだろうけど、一番手っ取り早いのはタブを使うことなんじゃないの?タブを使ってインデントしてればエディタの設定だけでファイルの内容に手を加えずに見た目だけ変えられるから楽。

なんかそもそもタブを使わずにスペース4で統一せよってのはフォントサイズをピクセル単位で指定したがるデザイナの言い分みたいで気に食わない。そういうことをプログラマが(多様性が美徳のPerlプログラマが)、言うことに、なんか引っかかりを感じる。行頭以外の箇所でタブを使ってるとひどいことになるけれど、それさえしなければ後は個人が好きにできるようにタブでインデントした方が良いんじゃないの?って思うんだけど。

2006-05-24

livedoor ReaderにSimpleAPIのサムネイルを加えるGreasemonkeyスクリプト

作りました。
http://la.ma.la/misc/userjs/ldr_add_thumbnail.user.js

こんな感じに動きます。
http://la.ma.la/misc/img/ldr_add_thumbnail.png

SimpleAPIのウェブサイトサムネイル作成API
http://img.simpleapi.net/
を使ったサムネイル表示をlivedoor Readerに加えます。

:sa
もしくは
:simpleapi

で、フィードごとにサムネイルの表示/非表示を切り替えられます。(コロンを打つとコマンド入力ができるので続けてsaエンター)
全部に対して有効にするとSimpleAPIに対する負荷が高そうなのと、キャッシュが無くて画像が出ないことが多いので、フィードごとに設定できるようになってます。いったん設定すれば、次に同じフィードを表示した時にもサムネイルが表示されます。

設定はGM_setValueでローカルに保存されるので複数PCで使う場合には、それぞれ設定してやる必要があります。(もしくはabout:configから設定をコピーするなどしてください)

例によって本体側の仕様変更でいきなり動かなくなる可能性もありますが、よろしければどうぞ。

2006-05-23

MacBookが届いた

先日注文したMacBookの黒いやつが今日届いた。

なんか速かったのでムービーとってYouTubeにアップしてみた。
http://www.youtube.com/watch?v=-NkpYMPa3YY

速いとしか言いようがないです。

MacBookを注文した

「Safariでの動作確認を超高速化する裏技」ってタイトルにしようかと思ったんだけどフィッシング詐欺みたいなのでやめた。




なんとかドアポイントで買わないと購入補助が出ないのでアフィリエイトで元を取ろうと思います。
なんとかドアポイントじゃなくても補助がでるみたいですが、アフィリエイトで元を取ろうと思います。

2006-05-07

livedoor ReaderのピンをGoogle Bookmarksに保存するGreasemonkeyスクリプト

ピンを付けたページ、vまたはctrl+enterで開いたページを全部Google Bookmarksに保存します。
ラベルはLDRとフォルダと2006-05形式の年月を付けるようにしてみた。ここら辺は好みでカスタマイズしてください。
http://la.ma.la/misc/userjs/ldr_gbsaver.user.js

Google Bookmarks
http://www.google.com/bookmarks/

注意
- あらかじめGoogleにログインしておく必要があります
- Google側の仕様が変われば動かなくなる可能性があります
- 削除は外部から叩けないみたいなので、ピンを外しても削除はされません

メリット
- ブックマークしたページがGoogleにインデックスされている場合は全文検索ができる(多分)
- パーソナライズド検索を有効にしたときGoogleの検索結果にラベルが表示される
- IE用のGoogle Toolbar4(beta)からアクセスできる
- Firefox用だとGoogle Bookmarks Buttonという拡張でツールバーからアクセスできます

参考にしたページ
livedoor Reader の、ピンの状態をローカルマシンに保存する greasemonkey スクリプト
http://d.hatena.ne.jp/antipop/20060504/1146730450

Greasemonkey 用スクリプト - Google My Cache
http://espion.just-size.jp/archives/06/094172028.html

----
更新履歴

2006-05-07
- GM_xmlhttpRequestを使うように修正。速くなったはず。
- GM*使えない環境に移植する場合は古いバージョンを参考に。

2006-05-01

マウスホイールでlivedoor Readerの前後フィードに移動するGreasemonkeyスクリプト

とりあえず作ってみた。for nazoking.

これ以上スクロールできなかったらホイールで前後のフィードに移動。
次のフィードに移動するまでの閾値を入れられるようにしてある。
http://la.ma.la/misc/userjs/ldr_wheelhack.user.js

あるいは、ほんとに読むことに特化するなら、もうこんなのでいいんじゃないかという気もする。
任意箇所左クリックで次、右クリックで前。
http://la.ma.la/misc/userjs/ldr_clickhack.user.js

要望とかは基本的にブログに書いてくれたほうがありがたいのですが、調子に乗ってあれこれ書かないでください。