Google Chromeに乗り換えた
Firefox 3.6を常用していたけれども、CSS Transitionsとかを見るのにいちいちGoogle Chromeを起動するのが面倒になってきたので乗り換えた。それと、Firefoxは開発にも使っていたので余計なクッキーとかを入れないようにしていたけれども、Firefoxは開発、Chromeは開発以外で使う、といった具合に、用途でブラウザを分けるようにしてみた。
以下導入した拡張機能。
- マウスジェスチャ
- Smooth Gesturesを導入。右クリックをジェスチャに割り当てると、コンテキストメニュー表示がうまくいかない、と思ったら右ダブルクリックでいいっぽい。なお、Chrome GesturesはMacで動かない。
- ページの自動追加
- AutoPatchWorkを導入。
- fastladderでリンクをバックグラウンドで開く
- Chrome標準の挙動だとoとかvで開くときにとても困るのでLDR open in backgroundを導入。Livedoor Reader用だけどfastladder.comでも問題なく動作。
- はてなブックマーク
- はてなブックマーク GoogleChrome 拡張を導入。
- ページごととかにCSS適用
- Chrome Stylistを導入したけど、FirefoxのStylishの設定を移行するのは手付かず。困ったときにやればいいや。
- Flashの読み込みブロック
- MacではFlashが重かったりすることがあるので、任意で読み込めるようにFlash Blockを導入。
- img要素のalt属性をポップアップ
- Popup Image Alt Attributeを導入。
- キャッシュとかアーカイブを探す
- Web Cacheを導入。
Cmd+Wでウインドウが閉じないようにしたい。Macだとアプリケーションが終了しないのでDockのアイコンをクリックすればいいけれども、ウインドウが残ってないといろいろ面倒(Cmd+Tabで切り替えたときに何も表示されなくて気付かないとか)。
NeverCloseはabout:blankが二枚表示されてしまうので(正常な動作かもしれないけど)ちょっと違和感がある。Last Tab Standingはうまく動いてるのかどうかよくわからなかった。たまにうまくいくんだけど。しばらくは我慢する。
Firefoxではツリー型タブ、情報化タブを使っていたけれども、それに代わるようなものはなさそう。--enable-vertical-tabsでタブ縦置きはできるけれども、Macだと表示が微妙になったし、階層構造になるわけでもないし、開発に使わなきゃそんなにタブを開くこともないし。サムネールも別にいいや。
用途別にブラウザを分けると、サボることが検索ついでに余計な物を調べて脱線することが少なくなって効率が上がったようなそうでもないような。あとはクッキーを気にしなくてもよくなったのでログイン状態を保存しておけて楽になった点くらい。
KDL-32EX700+スカパー!HDの録画
SONYのKDL-32EX700を買ったので、スカパー!HDのチューナー(SONY製じゃない方)+HVL1-G1.0Tで録画したのをテレビ側から見られるか試してみたら、あっさり見られた。ただ、HVL1-G1.0Tを録画機器としては使えないっぽい。
Google日本語入力で日本語入力
正確には「Google CGI API for Japanese Input」を使って、かな漢字変換+ローマ字入力をシミュレートしたもの。
続きを読むJAM
JAM Session 5の結果発表。入賞できました。ありがとうございました>各位
これからも変なものを作ります。
JAM向けのものを作った
JAM向けのものを作った。
フルスクリーンで見ないと残念な感じになるのでリンクだけ貼っておく。
CBC NET [HARD MODE] forked from: CBC NET
以下制作時のメモとか。
続きを読むphp-modeのインデント設定
Eclipseをやめてemacsでphpのコードを書くようにしたけれども、php-modeの標準(php-mode-force-pear tの時)のインデントがちょっと気に食わない。こういった時にささっとカスタマイズできるのがemacsの利点なんだけど、どこを直せばいいのかよくわからない、というもがemacsの欠点、そして最悪elipsを読めばなんとかなるのが利点で、elispがとっつきにくいのが欠点。
-
-
- -
-
どういうインデントになって欲しいのか
まず、標準のインデントはこんな感じになる。
<?php function longLongFunctionName($arg1, $arg2, $arg3, $arg4) { } $tmp = array('key1' => 'val1', 'key2' => 'val2'); $tmp = array( 'key1' => 'val1', 'key2' => 'val2'); switch ($a) { case 1: break; case 2: break; }
まず、引数リストとか配列定義中に改行があると、括弧の位置に合わせてくれる。これは見た目綺麗だけれども、関数名とかが長くなる傾向が高いコードを書かされている書いているので、結構な確率で一行80文字制限を超えてしまう。
それと、switch-caseは他の言語ではこれでいいんだけど、phpのときはcaseもインデントしてほしい。規約的に。
ということで、望むインデントはこう。
<?php function longLongFunctionName($arg1, $arg2, $arg3, $arg4) { } $tmp = array('key1' => 'val1', 'key2' => 'val2'); $tmp = array( 'key1' => 'val1', 'key2' => 'val2'); switch ($a) { case 1: break; case 2: break; }
どうやってカスタマイズするか
php-modeのソースを見ると、php-mode-pear-hookでc-set-offsetを使ってなんかやっていそうな感じ。c-set-offsetはc-offsets-alistの値を設定する関数らしい。この辺りはF1 fとかF1 vとかで調べられた。
引数リストとかの改行はいろいろ設定を変えて試したところ、arglist-introとarglist-cont-nonemptyとarglist-closeで対応できそう。caseについては、case-labelに4を設定すればOK。4じゃなくてc-basic-offsetを指定したほうがいいのかもしれないけれども、面倒なので4。他の所も4。
結局こんな感じのelispを.emacs.elとかそれに相当する部分に書いてカスタマイズ完了。すっきり。
(add-hook 'php-mode-hook (lambda () (c-set-offset 'case-label' 4) (c-set-offset 'arglist-intro' 4) (c-set-offset 'arglist-cont-nonempty' 4) (c-set-offset 'arglist-close' 0)))
テレビの砂嵐
画像を使用せずに、canvasでテレビの砂嵐を描くチュートリアルとhttp://jsdo.it/hakobera/nZe4を見て自分で書くならどうするか考えてみた。
- fillRectじゃなくてImageDataを使ったほうが早いかも
- 砂嵐といったら白黒というイメージ
- アニメーションもさせたい
- backgroundにtoDatURLで渡す方法はなるほどと思った
- 自分で繰り返ししなくていいのは楽
- でもアニメーションさせるとちらつく
- 影の薄いcreatePatternを使えばfillRectでいいのでは
ということでjsdo.itのをforkしてできたのがこれ。
二倍表示にして負荷を減らして、白黒と色つきの切り替えと、走査線っぽいものも加えてみた(こういう余計な物を加えるのが悪い癖)。
ところで、パターンの大きさが小さいと、どうしても繰り返しが気になる。現実世界の壁紙とか模様ガラスでも気になる。あきらかに模様っぽいものなら気にならないけど、一見ランダムそうだけど実は規則性があるものとかに弱いらしい。