| @Mac/iPhone

MacはUnixとして使うと便利

IMG_0287

Macはシャレオツパソコンとして使うだけじゃもったいない。一応UnixなのでUnixとしても使える。

Unixコマンドが気持ちいい

  • 「○×は使用中のため削除できません」とか警告が出るファイルも sudo rm -f <ファイル名> と打てば消せる。ストレスフリー。

  • 10分後にシャットダウンさせるとかも楽ちん

    出かけなきゃいけないけどまだDropboxの同期が終わってなくて電源落とせない、みたいなときは、 sudo shutdown -h +n とか打つとn分後にシャットダウンする。nのところに10を入れて実行すれば10分後にシャットダウンする。便利。

きっかけ

GitやVim、サーバー環境構築などでTerminal.appを多用するようになった。

  • Git

    • とにかく便利。プログラミングしてなくても、htmlやcssのバージョン管理もできる。『入門git』という本を読んでるけど、著者はこの本自体をGitを使ってバージョン管理しながら書いたらしい。ちょっとUnixの操作に慣れれば劇的に快適な文書のバージョン管理環境がゲットできる。共同作業で使うんじゃなく一人でやるんでも便利。
  • Vim

    • 最初はとっつきにくかったけど、慣れたらとても使いやすい。さすがにhtml書くときはグラフィカルなエディターを使うけど(Espressoで全裸コーディングとか)、プログラムを書くときはvimの割合が増えた。Terminalとの行ったり来たりが楽だし、そもそもGitを使ってたら git commit -a のときにVimが自動で開くし必然的に使う機会が増える。

MacPortsは神

MacPortsのリポジトリは結構頻繁に更新されてる。新しいバージョンをインストールするために自分でリポジトリ追加したりしなくていいし、とにかくパッケージ管理が楽。個人的に自宅サーバーやるんだったら古いMacにMacPortsで環境つくる。

というわけで

iTunesとSafari専用マシンとしてだけMacを使うのはもったいないです。良かったらUnixとしても使ってあげてください。

Snow LeopardになってもUnixとしてのOS Xには大きな変化がないので以下の本がオススメです。僕も毎日拾い読みしてます。

| @技術/プログラミング

昨夜寝る前にダメ元でスクリプト動かして寝たところ、朝起きてTerminalを覗くと

INSTALL COMPLETE

の文字が。

そういうわけでAmazon乞食エイトできるようになりました。

が、XMLRPC経由で投稿できなくなった。これは地味に困る。 :-!

とりあえず以下が僕が使ったシェルスクリプトです。どうしても入んなかったのはいくつかコメントアウトしてあります。DreamHostへのPHPインストールで困っている方、良かったら参考になさってください。

更新

XML-RPC経由で投稿できました。良かった良かった。

Continue reading...

| @技術/プログラミング

1113_DreamHost.png

もうここ1ヶ月以上、休みになる度にインストールスクリプトを動かしてるんだけど、DreamHostにPHPをカスタムインストールできない。

DreamHostには結構新しめのPHPがインストールされてるが、SOAPライブラリがインストールされてない。このためISBN変換プラグインが動かない。RESTで作り直そうかと思ったけどもうまくいかず。

一応プラグインの改修版を配布しているので引き続きメンテしなきゃいけないと思うし、3ヶ月に一回くらいの割合でお小遣いがもらえるので(ありがとうございます!)なんとかSOAPライブラリをインストールしてISBN変換プラグインを動かせるようにしておきたい。

勉強もかねてDreamHost Wikiの Installing PHP5 - DreamHostPHP 5 install script - DreamHost を参考に頑張ってるんだけど、opensslとかimapとかlibxsltとかでつまずいてインストールに失敗する。ユーザーごとにサーバー環境が微妙に異なるため、Wikiに書いてあるシェルスクリプトをそのままコピペしてもうまくいかないっぽい。(Dreamhost custom php 5.3, Imagick install script | fredtranfield.com

この前、職場の開いてるパソコンにCentOSをインストールしてLAN内で使うサーバーをセットアップしたんだけど、そのときの方が遙かに楽だった。PHPをソースからインストールするのがこんなに難しいとはおもわなんだ。

というわけでして、DreamHost、シェルでログインできるし安くて良いとは思うけどご利用は計画的に。というかなんでレンタルサーバーでこんなに苦労しなきゃならんのか。なんかアホらしくなってきた。借りる前によく下調べをしなかった自分がアホなんだけど。

| @技術/プログラミング

CakePHP、ちょこっと使ってみるだけのつもりだったんだけど、結構深くつきあってしまった。三つほどCakePHPでサイトつくりました。一つは社内用のウェブアプリケーションで、一つはまだ正式リリース前のものだけど、最後の一個はページビュー5000/日くらいあるサイトで実際に動いてます。ついこの前まで無職だったのに。スゲー。

PHPで素人がつくったサイトは危ないみたいな記事がこの前(というか定期的に)はてブでホッテントリに入ってた(る)けど、セキュリティのこととか分からない初心者こそCakePHPとかでサイトつくった方が楽だし安全だと思った。難しいことはフレームワークがやってくれるので。Bakeすればものの数分でウェブアプリケーションが出来てしまう。もちろんどんなフレームワークにも脆弱性がないわけじゃないだろうから100%安心というわけじゃないけど、少なくとも素人が自分でなんかやるよりも安全だと感じる。

とはいえ、フレームワークで万事オッケーなわけでもなかったりする。ちょこちょこっとカスタマイズするみたいのがフレームワークは難しい。特にCakePHPは規約がすごく重視されるから、データベースへのクエリでちょっと変わったことしようとすると結構難しくなる。というかはまる。サイト内検索をつくろうとして結構苦労した。土台が出来上がるまでは速いんだけど、そこからブラッシュアップさせていくときに結構停滞してしまう。それでも自分で一からつくるよりはかなり迅速に作れるんだけど、規約に縛られるのが窮屈に感じることもないではないですね。

で、タイトルの件なんだけど、真面目にエロサイトを作ってみた【プログラマ編】|ASTRODEO という記事がおもしろかった。はてブで1200以上ブックマークされますが1ゲットは僕です。すごいでしょ。いや僕は全然すごくないですね。書いてある内容がすごい。

確かにエロとかスクレイピングとかまぁきわどい内容ではありますが、僕はCakePHPでこんだけのことをやったということに素直に驚いた。

例えばCakePHPには hasAndBelongsToMany というのがある。ブログ記事があったとして、これが一つのカテゴリーを持つ場合は、 Post テーブルと Category テーブルを結びつけてやるだけでOKなんだけど( Post は一つの Category に所属し、 Category は複数の Post を持つ)、 Tag のような複数持てるし複数に所属する概念のモデルが存在する場合、 hasAndBelongsToMany じゃないとデータの整合性というか組み合わせをきちんと保つことが出来ない。

で、自分はこういうのの組み合わせは手が空いてる人に頼んで人力でやってもらったんだけど、このエロサイトの場合は、動画と動画の関連性の判定をプログラムにやらせてる。150件そこそこのデータの整合性を保つのも大変なのに、10000件とかそれ以上のデータを、しかも自動処理で関連づけるってまじすげーと思った次第です。

エロコンテンツなのに年齢確認がないとか著作権がらみの問題とかスクレイピングでよそのサイトに負荷かけるとかいろいろあるけど、僕は率直にこういうサイトをつくったのはスゲーなと思いました。こんなことまで出来るんだー、っていう素直な驚き。読んでて楽しかったしわくわくした。

今後もCakePHPを使い続ける分からんけど、自分もなんかおもしろいもんつくってみたいなーってすごく触発されました。

蛇足

はてブのコメント欄に「技術的には大したことない」みたいなコメント書いてる人が何人かいるけど、ほんとに大したことないんですかね。データベースを保存用と参照用で分けたり、スクレイピングしてきたデータの保存処理とか結構難しいと思うんだけど。これをすごいって感じるのはピヨピヨプログラマーだけなのかな?

| @Mac/iPhone

この前TwistarをFluid.appでアプリケーション化してみたら快適だったという記事を書いたけど、ふぁぼったーも同様にやってみた。ふぁぼったーはデフォルトでj, kでスクロールできないけどFluidはUserscriptを使えるので、0xFFからSafari用のLDRizeやoAutoPagerizeをダウンロードしてスクリプトフォルダに入れることで同様の使い勝手を実現できる。こんな感じ。

1111_favotter_fluid1.png

あとは好みでユーザースタイルシートを書いてやればオッケー。僕は幅を320pxにして以下のような感じにしてる。

1111_favotter_fluid2.png

暇があったらもうちょいかっこよい感じに書き直す予定。Userstyles.orgに上げてるのでまねしたい方はご自由にお使い下さい。

| @映画/ドラマ/テレビ

インビクタス‐負けざる者たち‐

評価 : ★★☆☆☆

クリント・イーストウッド監督。南アメリカのネルソン・マンデラの話。モーガン・フリーマンがマンデラ役。大統領就任翌年の1995年、南アフリカは長年アパルトヘイトへの制裁措置として出場が禁止されていた国際スポーツの舞台への復帰が許され、自国でラグビーワールドカップを開催することになっていた。伝統的に南アフリカのラグビーチームは白人主体のチームであり、黒人からはアパルトヘイトの象徴と見なされていた。黒人による“革命”が成し遂げられたあと、黒人たちは代表チームの愛称(スプリングボクス)とジャージー(ユニフォーム)のカラーリングを変更しようとしたが、マンデラはそれを止めさせた。彼の真意は何なのか。

『グラン・トリノ』がすごくよかったので期待していたけど、肩すかしを食った。ラグビー代表チームのキャプテン、フランソワ・ピナール(マット・デイモン)と協力してスプリングボクスを新南アフリカの調和の象徴としようとするんだけど、なんか違う。

全般的にストーリーが単純というか、映画の世界が狭い。マンデラの周辺の人物達の描き方が単純に見えた。一国の大統領の割にはあまり仕事らしい仕事をしてなくて、ラグビーチームのことに熱を上げすぎてる。僕の目には肩入れ具合が不自然に写った、「こんな漫画に出てくるみたいな大統領いないでしょ」って。あとマンデラが聖人君子に描かれすぎ。人間ってこんなに単純じゃないんじゃないかな。大統領就任後に離婚した嫁さんの話とかがない。

もっとも強烈に違和感があったのがラグビー試合のシーン。まるでアメフトみたいだった。ラックやモールに全然人が入らないし、スクラムはやたら選手の腰の位置が高いし、スクラムの中で手を使ってるようにも見えるし、ラグビー知ってる人だったら興ざめする感じの内容だった。決勝でオール・ブラックスと対戦するからってんで無理矢理ジョナ・ロムー(ニュージーランドの怪物ラグビー選手。ウィングなのに120kgも体重があって足が速かった)風の俳優を登場させるんだけど、なんか中国人っぽいし、オール・ブラックスが試合前にやるハカも無理矢理挿入してる感があった。やっぱアメリカ人の監督にはラグビーの映画を撮るのはむずかしいのかな。ラグビーのこととかよく知らない人の方がかえってこの映画は楽しめるかも知れないと思った。

そもそも長らく国際試合をしてなかった南アフリカ代表が、世界最強のオール・ブラックスに勝っちゃうのは、史実ではあるわけだけどとても違和感ある。マンデラが音頭をとって選手達を応援したから勝てた、みたいな描かれ方なんだけど、選手達自身が相当特訓を積んだんじゃないかな。フランソワ・ピナールとマンデラの絆というか交流ばかりに焦点が当てられてなんか違うんじゃね、と思った。

蛇足

僕はどうも英語の映画を見るときは英語の種類の方に目というか耳がいってしまう。南アフリカの英語がどんなものなのかは分からないけど、マット・デイモンやその家族、恋人役の俳優達はイギリス英語ともアメリカ英語とも異なる英語を喋っていたように見えた(南アフリカは黒人は黒人の土着語を話し、アフリカーンスの白人はオランダ語っぽい方言を話すみたい)。完全な蛇足です。

| @WWW

ミーハーなのでTechCrunchとかで目にしたPinboardというブックマークサービスを使い始めてみました。スパムによる汚染を防止するためサインアップ時にお金を払う必要があるユニークなサービスです(サブタイトルは “antisocial bookmarking” という何とも挑発的なタイトル)。しかもこの値段が後になればなるほど高くなるという。僕は$6.12のときにサインアップしました。日本円で519円。

まだユーザーが少ないためか非常に軽くてこざっぱりしてて気に入りました。deliciousからのエクスポート/インポートもヒジョーに楽でした。Twitterに自分が投げたURLや自分のFavoritesに含まれるポストのURLも自動でブックマークしてくれたり、さらにはdleiciousにブックマークしたURLも自動でブックマークしてくれるので(↓画像参照)、deliciousからの移行はほとんど障害なし…

1107-Pinboard-delicious.png

と思われたのですが、一昨日くらいからdeliciousのブックマークを自動で読み込まなくなってしまいました。これは不便(deliciousがPinboardのbotをブロックするようになったんでしょうか?)。

Tomblooでポストできるようになったら嬉しいのですが、ソースみてもどこをどうすればよいか分からず。とりあえずいまはdelicious用クライアントのPukkaからPinboardにブックマークをポスト&参照できるようにしてみました。メニューバーから検索する機能も使えます(↓画像参照)。どうもPinboardのAPIはdelicious互換らしい。PukkaからPinboardを使う方法はこちらに書いてあります → Pinboard.in support | Code Sorcery Workshop。はやく多くのdeliciousクライアントがPinboardにも対応するとよいですね。

1107-Pukka-Pinboard.png

半年後にはもう使わなくなってるかも知れないけど、Pinboardもしばらく使ってみます。というかぶっちゃけdeliciousには不満無かったりするんだけど。最近の重まっていらっしゃるはてブに比べたらdeliciousは十分軽くて快適です。