2008年2月27日水曜日

pQuery

Deliciousで知ったのですが、jQueryのPerl版、その名もpQueryってモジュールがあるようです。
なんだよそれ使えばワンライナーでスクレイピングとか出来るのけ?とか思って書いてみたらあっさり出来た。
$ perl -MpQuery -e 'pQuery("http://blog.cohtan.org")->find("h3")->each( sub { print pQuery( $_ )->text() . "\n"; });'

こんな感じで動かせた。おもしろいー。
参考:面白そうだったのでpQueryを使ってみたよ!

2008年2月24日日曜日

またsquid入れた

自宅の回線遅すぎ。
via off

PostgreSQLに存在する特定データベースの全てのテーブルをそれぞれSQLファイルでダンプする

例えば、baby_goodsというデータベースがあって、その中に、foods, toys, maternity_articlesなんてテーブルたちがあったとします。

それを一つのSQLファイルにダンプする事はpg_dumpでそのまま可能なんですけど、1テーブル1SQLファイルにしたかったので、こんなワンライナーでやったという話です。
$ pg_dump -d -O -c baby_goods | ¥
grep 'CREATE TABLE' | ¥
perl -pe 's/CREATE TABLE (.+) \(/pg_dump -d -O -c --table=$1 baby_goods \> $1\.sql/' > ¥
create_table_list.sh

create_table_list.shで中身を確認して実行。
というわけです。

ほんとはcreate_table_list.shなんて作りたくなくて、
pg_dump -d -O -c --table=TABLE_NAME baby_goods > TABLE_NAME.sql

この部分をそのまま実行するってどうやればいいのかわからなくてファイルに書き出したというわけです。

んー、出来そうな気がするんだけどなー。

[追記:2008/02/25 22:55]
なんと、| shだけでよかったのか!
$ pg_dump -d -O -c baby_goods | ¥
grep 'CREATE TABLE' | ¥
perl -pe 's/CREATE TABLE (.+) \(/pg_dump -d -O -c --table=$1 baby_goods \> $1\.sql/' | sh

でよかったというわけですね。
[Linux]シェルを覚えた経緯を詳し目に書いてみるが参考になりました!

2008年2月22日金曜日

もうすぐ5ヶ月!

すっかり首が座って抱っこする時に首を支えなくてよい分楽になってきました。
が、それと平行して重たくなってきました(笑)





俺より妻の方が全然写真上手い。。。

2008年2月20日水曜日

PSPを手に入れた

ひょんなとこからPSPをゲットしたのですが、まだ何にもソフト持ってません。メモリースティックも持ってませんorz。
とりあえず欲しいのはmaplus2かなぁ。

2008年2月13日水曜日

Vimのプラグイン、bufexplorer.vimが便利っぽい

BufExplorer.vimが便利そうな予感。
GVim全画面表示の日が近そうな予感。

普段からバッファってCTRL+Lで見れるようにしていたのですが、その度にステータスバーがびょこっとでかくなるのが気に食わなかったのですが、これは色々設定出来そう。

ひとまず、
nmap <c-l> :ls<CR>

から
nmap <c-l> :BufExplorer<CR>

に.vimrcを変更しました。

CakePHP 1.1.19.6305ではアンダースコアのついたテーブルのScaffoldingがおかしい

Can't scaffold a table named line_items in cake_1.1.19.6305
I had the same problem for baking
I check the problem, it seems like cakePHP doesn't like underscored
table name anymore

これで2時間くらい無駄にした気がする。

MacPorts経由のPHP5がPostgreSQL8.3を使用するようにPortfileを変更した

MacPorts経由でApacheやらPHPやら動かしているのですが、PosgreSQL8.3を使用する必要が出てきた為、PHP5の設定を変更しました。

/opt/local/var/macports/sources/rsync.macports.org/release/ports/www/php5/Portfile

の「postgresql82」という文字列を「postgresql83」に書き換えてインストールすればOK!
diffとるとこんな感じです。

251c251
< port:postgresql82
---
> port:postgresql83
253,254c253,254
< --with-pgsql=${prefix}/lib/postgresql82/bin \
< --with-pdo-pgsql=${prefix}/lib/postgresql82/bin
---
> --with-pgsql=${prefix}/lib/postgresql83/bin \
> --with-pdo-pgsql=${prefix}/lib/postgresql83/bin

2008年2月11日月曜日

Office 2008 for Macを導入した!

従来、書類のやり取りにOffice X 10.1(古!)を使ってきていたのですが、さすがに古いのといい加減糞重たい動作に我慢出来なくなっていたため最新のOffice 2008 for Macを購入しました!

NetOfficeとかも導入してみたのですが、表示が崩れたりする事が多く、なかなかこれ一本という状況には至らず。。。期待はしてるんですけども。

今回購入したOfficeはさすがUniversal Binaryになっているだけあってそこそこ速い。
Office X 10.1から比べたら天国です。

Office 2008 for Mac
Office 2008 for Mac
posted with amazlet on 08.02.11
マイクロソフト (2008/01/16)
売り上げランキング: 1440


アカデミック版はこちら。ファミリーとか前からあったっけ?

Office 2008 for Mac ファミリー&アカデミック
マイクロソフト (2008/01/16)
売り上げランキング: 7

AutoPagerizeをSafariでも使う!

AutoPagerizeというFirefoxの拡張を知っていますか?(正確にはGreaseMonkey用のjavascriptファイルと言うべきか)

普段、Googleの検索結果やTwitterなどでも「次へ」って皆さん結構クリックしてると思うのですが、「次へ」をクリックする事なく次のページが自分の思うタイミングでどんどん現れてくれた方が使いやすくないですか?

このAutoPagerizeはそんな拡張なんです。対応サイトに限りはあるものの(とは言っても主要な検索サイトやニュースサイトは対応済み)、「次へ」をクリックする事無く次々先を読めるのでブラウジングには欠かせないツールの一つになっていました。

これを、Safariでも同じ事が出来るようにした人がいるようです(凄すぎる)

SIMBLという拡張機能管理ソフトをMacに導入後(SIMBLについてはこの記事がわかりやすい)、GreaseKitというFirefoxのGreaseMonkeyのまさにSafari版(WebKit版?)とも言える拡張をインストールし、AutoPagerizeのJavascriptを組み込めば完了というわけです。

インストールにあたり、こちらの記事を参考にさせてもらいました。手順通りに僕も組み込んでみたわけですが、これがスンゲー快適。
後はSafariがvimのキーバインドになれば…w

PHPで変数の文字コード変換が一撃で出来るとは知らなかったよorz

ある変数(配列とかも)の文字コードをどかっと変換したい時、今まで自前でフィルターつくってガリガリやっていたのですが、なんとPHPにはmb_convert_variablesって関数があるんですね。知らんかったorz。はずかすい。

以下検証してみました。
tryconv.phpはEUC-JPで作成。

tryconv.php
<?php

$t = array(
"a" => "あかさたな",
"b" => array(
"は",
"ま",
"や",
array(
"c" => "らわ"
),
),
);

mb_convert_variables("UTF-8", "EUC-JP", $t);
var_dump($t);


で、結果がこうなりました。
(Terminalの文字コードはUTF-8です)
[ cohtan@macbook ~ ] $ php tryconv.php
array(2) {
["a"]=>
string(15) "あかさたな"
["b"]=>
array(4) {
[0]=>
string(3) "は"
[1]=>
string(3) "ま"
[2]=>
string(3) "や"
[3]=>
array(1) {
["c"]=>
string(6) "らわ"
}
}
}


配列でもちゃんと変換してくれているようですね。
今度からこれ使おう。

おんぶひも「かるがるキャリー」が届いたのでレビュー

先日購入したおんぶひもが届きました!!


ちょうど三連休を利用して福岡の名物の一つ、カキ小屋(カキの徳栄丸)へ家族で行ってきたのですが、そのときにおんぶひもが大活躍。

僕らが足を運んだカキ小屋は、一組一組が炭を囲んでカキを焼いて食べるお店なので、おんぶひもをつけながら食べる事で弾ける牡蠣や炭の熱から子供を守れます。自らが盾に慣れるというわけです(笑)ほんとに、だっこひもだったら落ち着いて食べれなかったかもしれません。

この「かるがるキャリー」の良いところは、僕でも一人でつけられること。
そして、いわゆるおんぶひものイメージにあるような、胸元でクロスするタイプではないので、人前でおんぶひもをつけていてもそんなに気にならない事(服もしわにならない)。



ね?見た目はリュックを背負っているみたい(笑)



でも、ちゃんと息子はしがみついてます(笑)

なかなか便利なものを買ったと思いました。
首さえ座ってしまえばおんぶひもは楽ですね。

ただし、背中によだれをべっとりつけられます(笑)
これはもう赤ちゃんの仕様だからどうしようもないですね。
常に息子と密着する形になるので、背中はほくほく暖かいです。

カキ小屋って初めていったのですが、カキの徳栄丸さん、安くておいしくて大満足でした。
大人三人で行って、妻以外は生ビールも飲みつつでカキ2kg(20個くらい?)とかカキ飯とかイカの一夜干とか食って一夜干しのお土産まで買って一人1500円くらいっすよ。
漁師さん直営な店なので鮮度は安心出来るし、むっちゃ安くてびっくりしました。

暗くなってお客さんいなくなったら閉店みたいな感じのようです。
是非、行かれる方は比較的早い時間の方がゆっくり出来ていいかも。
人数多いなら電話予約が吉。お店の目の前が広大な駐車場なので止める場所には困りませんでした。

2008年2月10日日曜日

携帯をW61CAに変えました

夫婦そろってW32Hというぼちぼち枯れつつあるケータイを使っていたのですが、今日ようやく機種変更してきました。

僕はW61CA、妻はEXILIMケータイのW53CA
もう8年くらいAU一筋で使ってるのですが、CASIOの端末は初めてです。

有機ELディスプレイのモデルに相当ひかれていたのですが、僕はバイク乗ったりするので、防水仕様が望ましいなという事でW61CAに。

妻は今月でもう5ヶ月になる息子を撮りまくりたいという事でデジカメ機能優先でEXILIMケータイに。

microSDも一緒に購入したのですが、1G2,600円くらいで衝撃を受けました。

2年間以内に機種変更をしてしまうと解約手数料がかかってくるみたいなので、ながーく使おうと思います。



なんと515万画素もあるW61CAのカメラ撮影サンプル。白熱灯の下では、こんなもんかも。
画素だけで言ったら僕のOlympus E-1を凌いでいます(笑)

手ぶれ補正がついているのでシャッタースピード遅くても安心です。

2008年2月8日金曜日

一度閉じたタブでも簡単に復活出来る「Vimperator」

ブラウザのタブを誤って閉じてしまう事ありませんか?

僕はありますorz

でもVimperatorを使っていると安心!

もし誤って閉じてしまっても、「u」キー一発で戻ってきます!
開いていたタブの場所まで同じです!これはすごい!

Firefoxを一度終了しようが関係ありません!
スクロールの位置まで同じ!

独自にBufferとか持ってるのか、単なる履歴から引っ張ってきてるのか。

これでFirefoxは真面目なサイトの閲覧専用ブラウザになりましたw

2008年2月7日木曜日

FirefoxをVimっぽくする「Vimperator」を入れた

最近エディタをVimに乗り換え、Vimらしいカーソルの動き方にも慣れつつあります。キー押しっぱなしの移動ではなく、目線にカーソルが追従するような移動方法は一度出来るようになるとやめられないです。となると、今度は普段のブラウジングでも同じ事が出来ればいいのに・・・なんて考えてしまうもの。

先人もどうやら同じ事を考えていたようです。

Vimperator

というFirefoxのアドオンをインストールする事で、FirefoxをVimのショートカットキーで操作出来るようになります。インストール後にFirefoxの画面構成が今までに見た事ないくらいシンプルになってしまうので、

$HOME/.vimperatorrc

に、

set guioptions=mTb

としておくのがよさげです。
このツールで非常に満足していたのですが、普段使っているLivedoor Readerのショートカットキーが効かなくなってしまって残念とか思っていたのですが、

vimperator plugin の autoIgnoreKey.js の改良

autoIgnoreKey.js ! すばらしすぎます。
これを、

$HOME/.vimperator/plugin/autoIgnoreKey.js

とかに入れておけばLivedoor Readerでバッチシショートカットキーが効きます!
これからますますVim脳になろうと思います。



微妙に見づらいですが、コマンドモードからJavascriptも書けたりします(Firebug使ってたらあまり意味ないですけど)!

久しぶりにブログを書く

最初ログインできなくて焦った。 いや、ログインはできたのだが、ログイン後に自分のブログの管理画面に遷移できず、新しいブログを作成する画面になってしまったからビビッてしまった。 どうやら、Google+(現在はサービス終了)に紐づいたプロフィールを設定しているとこのような状況に陥る...