WEB+DB PRESS あたった

By admin | 2009年6月26日

ほんとにあたんだー
初めて知った。

あたったー

Mac で screen 起動後に pbcopy を動くようにする方法

By admin | 2009年6月25日

ずっと pbcopy が動かなくてなんでだろうと思ってたけど
screen を起動しなかったら動いてることにきづいた。

ここをみると Ports で screen をいれればいいらしい。
でもそれじゃ動かない。で、色々と調べると
どうやらパッチをあてて自分でコンパイルすればよさげ。
というわけでさっそくコンパイルしたら pbcopy ができるようになった!!

以下、コンパイルの流れ。
http://git.savannah.gnu.org/cgit/screen.git
ここから screen のソースをおとしてくる。

パッチを下記のサイトを参考にあてる。
Macのscreen + pbcopy
screen で pbcopy/pbpaste が動かない問題
ちなみにパッチファイルをまとめて gist にあげた。(DL)
これを screen/src の中に保存。
そして screen/src の中に移動。

1
2
3
4
5
patch -s -p0 < screen-mac-pbcopy.patch    <- これでパッチがあたる
autogen.sh
./configure -prefix=/opt/loca/                    <- ports と同じ場所にいれたかったから prefix をつけただけ。
make
sudo make install

これで vim で “*y とすると pastebord にもコピーできた。
日本語まじりの文字をコピーしようとすると nkf が必要。
vim・mac間でクリップボードを介してやり取りする方法 完結編
を参考にして設定しました。

これでそーとー快適。
やっぱり pastebord や clipbord は共有されてるにかぎる。

Gist を Vim から操作する Gist.vim が相当便利

By admin | 2009年6月9日

id:mattn さんが作った Gist.vim が gists を使う際にとても便利です。
curl が必要なのと id と token を vimrc に書けば使える。
ちなみに git config に設定していれば書かなくても大丈夫

簡単に操作の説明。(version 2.5)

let g:github_user = 'dealforest'
let g:github_token = 'XXXXXXXXXXXXXXXXXX'
:Gist ポストされます。
:’<,'>Gist 矩形選択部分をポストします
:Gist -p privateモードでポスト
:Gist xxxx idを指定して開く
:Gist -l [ユーザID] (ユーザーを指定して)一覧を開く
:Gist -la 全てのユーザの最新gist一覧
:Gist -c XXXXX クリップボードにコピー
:Gist -e 編集。ただし gist buffer 上でしかできない。

ショートカット

nnoremap <silent> ,gn :Gist<cr>
nnoremap <silent> ,gl :Gist -l<cr>
nnoremap <silent> ,ga :Gist -a<cr>
nnoremap <silent> ,ge :Gist -e<cr>
nnoremap <silent> ,gp :Gist -p<cr>
nnoremap <silent> ,gr :Gist
nnoremap <silent> ,gu :Gist -l

こんな感じでショートカットを作ってます

パッチ

実際に使っていて凄い便利。
ただ :Gist xxxx がどーしても動かなかったので gist.vim を修正した。

@@ -391,7 +398,7 @@
     elseif arg =~ '^\(-e\|--edit\)$' && bufname =~ bufnamemx
       let editpost = 1
       let gistid = substitute(bufname, bufnamemx, '\1', '')
-    elseif len(gistls) > 0 && len(gistnm) == 0
+    elseif len(gistnm) == 0
       if editpost == 1
         let gistnm = arg
       elseif len(gistls) > 0

gistls についてはそれ以下のところで判断してるのでここでいれたら動かないと思う。

あと自分用に少しカスタマイズした。
:Gist で POST した後に :Gist -l で一覧を表示した際
少しラグがありさきほど POST したのが表示されない。
修正したり変更したりするのが不便。というわけで POST 後に自動的に
buffer に開くようにした。これで :w で再度ポストもそのままできるから便利。
split して開くのがどーかとも思うけど、まぁいいやと放置

@@ -340,13 +340,6 @@
   let res = substitute(res, '^.*: ', '', '')
   if len(res) > 0 && res != 'http://gist.github.com/gists'
     echo 'done: '.res
+
+    let mx = '^http://gist.github.com/\(\d\+\)$'
+    if res =~# mx
+      let gistid = substitute(res, mx, '\1', '')
+      echo gistid
+      call s:GistGet(g:github_user, g:github_token, gistid, 0)
+    endif
   else
     echoerr 'Post failed'
   endif

GistListAction と動作が似てる(ほぼそこのコピペ)からいじればいいとは思うけど
そもそも vimscript そこまで分からなってないため妥協。
とりあえず動いてるしいいかと。。。

デバッグとかってどーするもんなんだろ。
みんな echo でしてんのかな。
効率いい方法はどうしたものか。

モジュールに定義されている関数名一覧を取得

By admin | 2009年6月7日

よく忘れるのでメモ。
シンボルテーブルの一覧を取得するには以下の方法で取得できます。
ポイントはモジュール名の後に :: をつけること。
これよく忘れます。

%モジュール::;

で、これだと変数なのか関数なのかが判断できません。
そこで便利なのが Devel::Symdump です。

 @array = Devel::Symdump->functions(@packs);

これだけで関数一覧が取得できます。
関数だけでなく hash や scalar が取得できたり
diff とれたり HTML で出力できたり地味に便利です。

「任天堂 “驚き”を生む方程式」をよんで

By admin | 2009年6月1日

よーやく届いた。
久々に本をよんでみておもしかくて
何か書いて残しておきたいという気分になったので書いてみた。

内容は wii, DS がメイン。あとそれ意外にも軽くだけれども
任天堂の今までの歴史についても軽くふれていた。
(カルタ、トランプ、ゲーム&ウォッチ、光線銃とかについて)
何よりもびっくりしたのが前社長の山内氏のインタビューがあったこと。
それも任天堂にたいして。

本書を読む前は正直、岩田氏のことをそこまで知っていたわけではなかったので
イメージが凄いかわった。これは勝手なイメージだけど任天堂のトップは
ワンマン経営っていうイメージが強かったため。
ワンマン経営といっても山内氏のカリスマ性の上になりたってたものだけれども。

「枯れた技術の水平思考」や DS 誕生のいきさつ。
他には Wii の設計思想、Wiiプラットフォームのおはなし、
ボリュームは満点、おなかいっぱいになる内容でした。

本文の中には凄い名言がいっぱいあってどれも、、、となるけど
中でも自分に一番残ったところを紹介します。以下本文より引用。

「娯楽はよそと同じが一番アカン」ということで、とにかく何をつくって持っていっても、
「それはよそのとどう違うんだ」と聞かれるわけです。
「いや、違わないけど、ちょっといいんです。」
というのは一番ダメな答えで、それではものすごく怒られる。
それがいかに娯楽にとって愚かなことかということを徹底していたんですね。
で、そういう意味では、「よそと違うことをしなさい」ということは
我々のDNAの中に深く刻まれています。

だいぶ昔に知人に薦められて任天堂の本を読んだけれど、その時にあった
「独創的」って言葉がまさにこのことなんだと繋がった一文で
何より会社として実施しているのがすごい。
つまりは性能をあげての競争は一番ダメということ。
使う人をたのしませないと。これって別に娯楽だけでなく
サービス全般に通じることだと思う。
運を天に任し自分はひたすら精進あるのみ。
やるかやらないかの世界なだけに余計に身にしみた。

なによりも任天堂が巷でライバルといわれてる企業と戦っているのではなく
ユーザーの退屈、飽きと戦っているのが印象的でした。

wii 自体はもってなかったけど、この感覚を味わいたいがためだけに
本体が欲しくなった。なにより任天堂自体がよりいっそう好きになった。
きっと買ってるんだろうな。

その時もリスクとリターンのバランスの難しささ勉強になったけど
今回はまた違った発見があった。
また読み返すことになる名著であることに間違いはありません

アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。

WordPress Themes