% defaults write com.apple.screencapture location ~/Pictures/screenshot
% killall SystemUIServer

散財したくなったのでAppleTV買いました。

AirPlay目当てで買ったんですが、AirPlayはMacBook Air(Late 2011)以降の対応だそうです。(持ってるのはMacBook Air Mid 2010)

やっちまった・・・。

日本語ファイル使ったことなかったけど、レガシー改善でsvnからgitへ移行したら日本語ファイル沢山。

Command Line Toolsで入ってるgitは若干古い。

% git version
git version 1.7.10.2 (Apple Git-33)

1.7.12から日本語ファイル名(UTF-8-MAC)が扱えるようになってるのでbrewで入れる。

% brew info git
git: stable 1.7.12.1, HEAD
% brew install git

実験的な機能という位置付けらしいのでデフォルトではオフになってる。オンにする。

% git config --local core.precomposeunicode true 

マシン全体でオンにしたい場合は下記。

% git config --global core.precomposeunicode true 

参照:git 1.7.12でUTF8-MAC問題が解決 « Butaman-kun Project

PEARのインストール

既にシステムにPEARが入ってる場合。

% sudo pear uninstall pear

PEAR公式ドキュメントの通りにやる。

% curl -O http://pear.php.net/go-pear.phar
% php -d detect_unicode=0 go-pear.phar

(debianの場合)

% wget http://pear.php.net/go-pear.phar
% php -d suhosin.executor.include.whitelist="phar" go-pear.phar

PHPUnitのインストール

公式ドキュメントの通りにやる。

% pear config-set auto_discover 1
% pear install pear.phpunit.de/PHPUnit

include_pathは自動で追加してくれるけどPATHは通してくれないので自分で通す。

export PATH=~/pear/bin:$PATH
% phpunit --version
PHPUnit 3.6.12 by Sebastian Bergmann.

せばすちゃああああん

$ brew install selenium-server-standalone
$ cp "/usr/local/Cellar/selenium-server-standalone/2.25.0/homebrew.mxcl.selenium-server-standalone.plist" ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.selenium-server-standalone.plist

便利な時代になったもんですね。(結構メモリ食うのでウザくなったら起動しない設定に変えといたほうがよさそう)

Selenium RCをインストール

PHPUnitをインストール

PHPUnit_Seleniumをインストール。

% pear install phpunit/PHPUnit_Selenium

testを書く(ファイル名はクラスと同じCamelCase)

test/integrations/LoginTest.php

<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';

class LoginTest extends PHPUnit_Extensions_SeleniumTestCase
{
    protected function setUp()
    {
        $this->setBrowser('*firefox');
        $this->setBrowserUrl('http://foo/');
    }

    public function testTitle()
    {
        $this->open('/sign_in');
        $this->assertTitle('Sign In');
        $this->type('account', 'foo');
        $this->type('password', 'password');
        $this->submitAndWait('user_form');
        $this->assertTitle('Dashboard');
    }
}
?>

実行。対象ディレクトリ以下のなんとかTest.phpを全部実行する。

$ phpunit test/integrations

何がLinuxデスクトップを殺したか(What Killed the Linux Desktop 日本語訳)

要約すると、(a) 第一の要因:物事があまりに早く変化し、オープンソースも独占ソフトウェアも同じように壊れる。(b) Linux ディストリビューション間の非互換性。

これがデスクトップ分野で Linux をターゲットとしようとするサードパーティの開発者のエコシステムを殺した。一度は挑戦して、「トップ」ディストロや寛容な人なら「トップ3」ディストロをサポートするのに最善を尽くすだろう。それで知ることになるのは、6ヵ月後にはそのソフトウェアがもう動かないということだけ。

何か覚えのある感覚。僕(ら)はサーバー用OSとしてDebianを選ぶのにも同じような考えをしているなと思いました。

Linuxはサーバー分野では成功して、沢山のサードパーティー開発者(僕も)に使われている。サーバー分野でサードパーティー開発者が作るプロプライエタリなソフトといえばWebアプリだ。サーバー分野では上記の様な問題があまり無いからだ。

僕らにとってVistaがコケたことに対応する出来事はRedhatがフリー版の提供を辞めた事だった。事実上の標準だったRedhatが使えなくなるというのでみんなパニックになった。Fedoraに行った人は暫くして立ち上がったCentOSを使い始めた。または僕も含め、多くの人がそれを機会にDebianに移った。確かSergeが出るちょっと前ぐらいだったように記憶しているけど、プロプライエタリなWebアプリを作るサードパーティー開発者(僕だ)にとってDebianは楽園だった。安定版は一度セットアップすれば殆ど手がかからなかったし、APIの変更で自分たちのアプリにも変更が必要ということはまず無かった。OSのメジャーアップデートは再起動無しに出来た。

2012年の現在でも楽園は健在だ。現在の安定版Squeezeはやはり安定していて、丁度昨日も一つセットアップしてきたところだ。レガシーのPHPアプリケーションをSqueezeに持ってきたところ、すっかり動作した。Debian万歳。

サーバー用途でもGUIを重視する必要があるWindowsやMac OS Xに比べて、GUIを切り捨ててサーバー用途の安定性を重視した為、比較的少ない対象に開発リソースを集中できていることがその原因だろう。その代償としてのGUI周りの不安定さならば僕は受け入れてしまうだろう・・・。

日本語ファイル名の問題

svnで日本語ファイル名を使ってるとMAC-UTF8では違うファイル名ってことになるのでcheckoutしてきただけで変更扱いになる。

% brew install subversion --unicode-path

--unicode-pathを付けてbrewからインストールすればOK。

svn1.6系から1.7系へのアップグレード

1.7から.svnディレクトリはgitのようにトップディレクトリにしか作られなくなる(!)

1.6系以前のworking copyは変換が必要。

% svn upgrade

サーバー側のsvnが1.6系であっても下位互換があるので安心。

デフォルトでデスクトップじゃなくてPicturesに入って欲しいだろう。常識的に考えて。

% defaults write com.apple.screencapture location ~/Pictures
% killall SystemUIServer

いただきもののEeePCをオフィスのステータスモニターにすべく、Debian sqeezeをインストール。しかし、時間が経ってもスクリーンロックしないって設定が効かない。仕方無くubuntu12.04をインストール。こっちは効いた。(画面を閉じたらサスペンドしないって設定は効かない。)

VNCもGDMも違くて、Macでウィンドウとか動かしたらUbuntuの画面上で動いて欲しい。それにはデフォルトで入ってるデスクトップ共有を使う。ubuntu12.04ではシステム設定からは消えてるのでDashで"デスクトップ共有"で探すとある。パスワードを要求する設定にしないと何故かScreen Sharingが永久ぐるぐるなので設定する。

office@office-S101

これでかつる