2008年6月アーカイブ
2008年6月30日
Yoshiori が彼女募集中です
経緯は良くわかりませんがYoshioriが彼女募集中のようです。
日頃お世話になってるので、恩返しとしてぼくにもなにか出来ないかと考えて、はてなセリフで口説き文句ジェネレーターを作りました。みんなで素敵なセリフを考えてあげて><
どうぞご利用ください。
2008年6月28日
VimperatorでQuick Linkから開くページを全部新しいタブにする
Twitter / やまある: VimperatorでQuick Linkから開くペー...
VimperatorでQuick Linkから開くページを全部新しいタブにしたいんだけどどうすればいいかな
それ noremap
で出来るよ。
noremap f F
noremap F f
これで、f で新規タブ、F で現在のタブに開くようになる。
2008年6月27日
MT4.1デフォルトのRSSがmarkdown記法を変換してくれなかったので直した
Atomで全文配信してるからいいっちゃいいんだろうけど、RSSを購読してくれてる人の方が多いみたいなので(LDR調べ)。
- <description><$MTEntryBody encode_xml="1" convert_breaks="0"$></description>
+ <description><$MTEntryBody encode_xml="1" convert_breaks="1"$></description>
convert_breaks="1"
にしただけ。0だと改行が無視され、とあるけど、正確には、入力された文章に対してHTML的な変換を行なわない。って感じなのかな。
gmperator.js でさらなる変態設定の幕が開いた
feedSomeKeys.js と gmperator.js と autocommand との連携 - hogehoge にも追記されてるけどgmperator.js とfeedSomeKeys.js の連携がさらに強化された。id:teramako++
#vimperator@IRCNet より抜粋
01:33 teramako: liberator.autocommands.add('GMActiveScript', "\nldrize\.user\.js$",
01:33 teramako: 'js liberator.plugins.feedKey.setup([["J","j"],["K","k"],"p","l","v","o","i","s"]);');
01:33 retlet: よしきたく
01:33 teramako: で動いたよ
01:33 retlet: わーい
01:39 teramako: しかし、設定が面倒いな
01:42 retlet: む、さっきのてらまこたんのコードで
01:42 retlet: http://www.google.co.jp/
01:42 retlet: でも実行される
01:43 teramako: うん、URL関係なくldrizeが発動していれば実行されるよ
01:43 teramako: URLのフィルターかけたい場合は
01:43 retlet: ああ、そっか。
01:43 teramako: "^http://hogehoge.*\nldrize\.user\.js$"とかするとよいですよ
01:44 retlet: SITEINFOがなくてもLDRizeは実行されてるんだよな
01:44 retlet: なるほど。
01:44 retlet: 把握しますた!
01:47 teramako: SITEINFOがあるかどうかで判断するのはちょい難しいかも(出来ないことはないです)
01:48 teramako: :echo plugins.gmperator.currentSandbox.LDRize.getSiteinfo() で判断は可能
01:51 teramako: 'js if(plugins.gmperator.currentSandbox.LDRize.getSiteinfo()) plugins.feedKey.setup([["J","j"],["K","k"],"p","l","v","o","i","s"]);');
01:51 retlet: ふむふむ
01:51 teramako: コマンド部分をこんな感じにするといけるかな
01:53 retlet: やばい
01:53 retlet: てらまこたん愛してる
01:53 teramako: hya-
01:53 retlet: うちに来てすいれんさんをfuckしていい
01:54 teramako: それは謹んで自体しまふ
01:55 retlet: ( ´・ω・)
01:56 retlet: でもやばいこれはさらなる変態設定の幕開けだ
01:56 retlet: (*゚∀゚)=3
01:58 teramako: まぁたしかにautocmdでサイト毎の最適化は変態だよな。
01:59 retlet: 個人最適化の果てに皆の幸せがある!
02:00 retlet: SITEINFOで共有したいくらいですね
2008年6月25日
Awesomebarの補完対象にBookmarkletを含める。ついでに補完件数を増やす
wildoptions=autoとcomplete=lが凄い件 - Dis Communication - 符号無し で紹介されている set complete=l
を使うと、Bookmarkletが補完対象にならなくて困ってたんだけど、about:config で browser.urlbar.filter.javascript = false
にすれば補完してくれることに気付いた。
あと補完の件数が12と少なすぎなので、browser.urlbar.maxRichResults = 50
で50件まで出すことにした。
js <<EOM
liberator.options.setPref('browser.urlbar.filter.javascript', false);
liberator.options.setPref('browser.urlbar.maxRichResults', 50);
EOM
id:Trapezoid に「set! でprefもいじれるよ」って教わった。知らなかった! というわけで、以下でも出来る。
set! browser.urlbar.filter.javascript=false
set! browser.urlbar.maxRichResults=50
VimperatorのUI前提での設定なので、about:configで直接指定したりuser.jsに追加するよりは上記のように.vimperatorrcに書いた方がわかりやすい。
参考: The Places frecency algorithm - MDC コメントで指摘されたのでリンク先変更しました。
2008年6月24日
RSSのdescriptionがmarkdown記法のままだ
今気づいたけど http://retlet.net/rss.xml のdescriptionがmarkdown記法のまま表示されてる。エントリーは確かにmarkdownで書いてるけど、普通変換してくれるものなんじゃないか?
Vimperatorと、ウェブアプリやUserscriptのショートカットキーを共存させるfeedSomeKeys.jsプラグイン
現在は出来ることは基本的に変わらないけどより簡易な記述が可能になったfeedSomeKeys_2.jsがあるのでそっちを使うと良いです。と今更ながら追記。
#vimperator@IRCNet で id:trapezoid と id:otsune から ex_autocmd.js が無くてもLocationChangeで出来るよ。と教わったので関連部分を直しました。Thx!!
どうも feedSomeKeys.js を使っている人がいないようなので書く。
Vimperatorを使っていると、ウェブアプリケーションやUserscriptのショートカットキーがVimperotarとバッティングして使えない。ということがよくある。
こういう場合、基本的にはC-qでPATH THROUGHモード(Vimperatorのキーバインドを無効化する)にすることで一応解決するんだけど、はっきり言ってめんどくさいし、今どっちのモードだったか忘れててギャー!ってなるし、関係ないキーまで無効化されるのはやだ(tabopenやタブ切り替えのキーは常に使いたい!)。
ということで、feedSomeKeys.js の登場です。
feedSomeKeys.js は、任意のURLで任意のキーをスルーする(Vimperatorで処理せずにブラウザに渡す)ためのPlugin(URLの指定には ex_autocmd.js を併用する必要がある) 。
具体的には、以下のようなことができる。
- Gmailのショートカットキーを使いつつ、Vimperatorも使う
- livedoor Readerで j,k,a,s,v,p を使いつつ、Vimperatorも使う
- Tumblr + LDRize + ReblogCommand 環境で t (Reblogキー) を i に置き替えて使う(Vimperatorの t も使いたいから)
autoIgnoreKey.js などで自動的にPATH THROUGHモードに切り替えるのと違って、その他のVimperatorのキーバインドは生かしたまま、指定したキーだけをスルーできるのが特徴。
2008年6月23日
HDD交換してホームディレクトリを別パーティションに移動
先日MacBookのHDDが(バックアップも含めて)大破した件、予備のHDDを使ってとりあえず復旧させたんだけど、容量が足りないし新しいのを買うことにした。
日立IBMのHTS543232L9A300 (320GB 9.5mm) を秋葉で購入。11,770(税込12,358)円なり。安くなったなぁ。
環境を維持したままHDDを交換する
既存のHDDでOSを起動して、新しいのを外付け化ケースに繋いでマウント。ディスクユーティリティでパーティションを適当に切り(OS、アプリ用に40GB。データ用に残りを割り当てた)、復元
を使用して既存HDDのデータを丸ごと新規ボリュームにコピーする。optionキーを押しながら再起動して起動ディスクに新規ボリュームを指定。無事起動して環境が移行できていれば成功。電源を切り、MacBook内のHDDを換装する。
参考: MacBookのHDD換装方法
ホームディレクトリを別パーティションに移動 (Leopard)
OS入れ直すたびにバックアップ取って復旧するのはリソースの無駄なので、ユーザー環境を別パーティションに移動して運用する。
- Terminal で /Users/retlet をコピー (アプリを起動させたままだとコピー失敗するファイルがあった)
$ sudo su # ditto -v -rsrcFork /Users/retlet /Volume/Storage\ HD/retlet
- 10.4からは-rsrcForkを付けなくてもリソースフォークを扱えるらしい。さらにcpもリソースフォークに対応しているようなのでcpでも良いみたい
- バックアップとして /Users/retlet をリネーム、アーカイブ
# mv /Users/retlet /Users/retlet.org # tar zcvf /Users/retlet.org.tgz /Users/retlet.org
- /Users/retlet にシンボリックリンクを作成
# ln -s /Volume/Storage\ HD/retlet /Users
- アカウントの詳細オプションでホームディレクトリの指定を変更 (ググるとNetInfo Managerを使う解説が多いが、Leopardからは無くなったみたい)
- システム環境設定 > アカウント > 左下の鍵アイコンをクリックしてロックを解除
- マイアカウントを右クリック > 詳細オプション
- ホームディレクトリ: /Volumes/Storage HD/retlet に指定
- OK > 鍵アイコンをクリックしてロック
- 再起動
ちなみに3と4を両方やるのは以下の理由かららしい。
全てのソフトがユーザーのホームディレクトリからの相対パスで設定ファイル等の位置を指定してくれていると良いのですが、そうであるとは言い切れませんので、念のために/Usersに新しいユーザーフォルダのシンボリックリンクを起きます。
参考
OSをアップグレードしようとしたらメインとバックアップのHDDが仲良く崩御された
Leopardにアップグレードしよう→途中でDVDドライブの読み込みが2~3度止まってインストールに失敗→もっかい→成功→バックアップからデータ一式コピー中にフリーズ→OSクラッシュ→(×2)→バックアップに使ったHDDは以前から調子が悪かった→あなたを犯人です→最小限の設定類のみバックアップから復旧してテスト運用→大丈夫っぽ……アプリが固まってり起動が極端に遅くなる→再起動→起動ディスクないわー\(^o^)/
今年の2月半ばからの写真データが全滅。バックアップは最低でも二重に取っておけということですねー。
メインのHDDは最終的に電源を投入すると「カラン……カラン……カラン……」と叙情的な歌声を響かせてくれるようになった。合掌。
バックアップのHDDは /dev に見えてはいるのだけどマウントできない状態に。以下を参考にしてdd_rescueを試みるも、3〜4%進んだあたりで突然コピーが終了してしまう(エラーもなんにもない)。
- ディスク復旧方法について - ray of sunshine::hatena
- void GraphicWizardsLair( void ); // クラッシュしたHDDをサルベージするときはKNOPPIXかFreeSBIEでddrhelpとかddrescueするのがオススメ
崩御する直前にもマウントに失敗→HDDの電源入れ直しで認識する。ということがあって、電源まわりの故障なのかなーと想像。同じ型番のHDD用意して基盤交換すればいけるんじゃないか。と言われたけど2年くらい前の型だしもう心が折れました( ´・ω・)
2008年6月19日
XPathGraphでTumblrのポスト数を取りたい。けど出来ない
http://retlet.tumblr.com/api/read/?num=0 に対して /posts/@total で取れるかなと思ったら「値が取得できませんでした」。 atom や rss フィードなど XML を指定する場合は注意が必要ですという話もあるので、HTML以外のページだと動作が微妙っぽい。のかな?
http://retlet.tumblr.com/api/read/json?num=0 で /* すると posts-total":67730 を含んだ数値が帰ってくるので、こっから必要な部分だけ指定して取得ってできないのかな。
Mac OS X Leopard 設定と入れたもの
クラッシュしたり入れ直したりしたのでついでにまとめておく。逐次追加予定。
キーボード/マウス
- JANSI (JIS配列キーボードをASCII配列に)
- AquaSKK (IME)
- KeyRemap4MacBook (キー配列カスタマイズ)
- SandS用
- Synergy (複数マシンでマウスとキーボードを共有)
- 最新のパッチを当てる。
- /usr/local/bin/synergys をログイン項目にドラッグして追加。
- Kensington MouseWorks 3.0 for Mac OS X (トラックボール用ユーティリティ)
- Marble Mouseで使えるように設定ファイル書き替え
- MouseWorks - kuroの覚え書き
- マウススレッド 4 > 258-259
- Marble Mouseで使えるように設定ファイル書き替え
ランチャ/統合実行環境
開発環境
アプリケーション
- Firefox 3 (ブラウザ)
- LimeChat for OSX (IRCクライアント)
- Adium (IMクライアント)
- Cyberduck (FTPクライアント)
- Kaku (MTやWP対応のBlogエディタ)
- MacFUSE Core for Leopard
- MacFusion (FTP/SSH接続先をマウント)
- CotEditor (テキストエディタ)
- VLC media player (メディアプレイヤー)
- The Unarchiver (解凍ソフト)
- CleanArchiver (Mac独自の不要ファイルを削れる圧縮ソフト)
- AppFresh (各種アプリの更新をチェック、ダウンロード)
- Growl (Growl実装)
- Flip4Mac (WMVをQuickTimeで再生可能に)
- Perian (様々な形式をQuickTimeで再生可能に)
- iScrobbler (Lastfmクライアント)
- FontExplorer™ X (フォント管理)
- Skitch (スクリーンショット撮影、編集、管理、アップロード)
- HamachiX (簡便なVPNソフトhamachiのGUIクライアント)
- 調子悪くなったのでコンソールから使うようにした。
- Witch (ショートカットでウィンドウ単位の切り替え)
M3U2iTunes (m3uファイルをiTunesでウェブ上から再生可能に)muxtape to m3u使ってmuxtapeをネットから直接iTunesで再生する。
- Jing (screencast撮影、アップロード)
- CamTwist (Webカメラの映像にエフェクトをかけたり、外部のカメラを使う際に必要)
- FFView (漫画ビューアー)
- Evernote (オンラインメモツールEvernoteクライアント)
- Amazon Album Art Widget (iTunesで選択した曲のジャケット画像をAmazonから探して設定できるDashboard widget)
- Flickr Upload Action (AutomatorでFlickrにアップロードするアクション)
- Fluid (ウェブページをアプリケーション化するソフト。リンク先のサムネイルをカバーフロー表示、Greasekit標準搭載など)
- Adobe AIR
- DestroyFlickr (Flickrクライアント)
- Simplify Media (ネット越しに登録した友人30人までのiTunesライブラリを共有して再生)
- SIMBL (プラグイン実行環境)
- InputSwitcher (IMの状態をアプリごとに保持する。主にQuickSilver用)
2008年6月 9日
Recently - 秋葉原刺殺事件に遭遇して のUstream配信について
元エントリのコメント欄を読むと凄惨な映像を配信したと勘違いしてる人がいるので、最初から最後までUstreamを見てた立場からその点だけ。
配信が開始されたのは13:09頃。
この時点で既に警察や救急車などは到着していて、諸々活動を開始していた。
当然現場は立ち入り禁止になっていて、Ustreamの映像に被害者の具体的な姿は、自分の認識の範囲では映っていない。
自分が確認できたのは慌しく動いている警察官や救急隊員とそれを遠まきに眺める一般の人々だけ。
(だからどうした。って話だけど、この点で元エントリを叩いているのは意味ないなと思ったので)