[OSX] Versionsがいつのまにか日本語ファイル名に対応

http://versionsapp.com/ ね。
こんな感じのきれいなOSX用Subversionクライアント(有料)。アイコンもかわいい。

去年の9月頃にこのソフトを購入したんですが、UTF-8-MACに対応しきれておらずファイルツリー画面の日本語ファイルが二重に表示されてしまい、ディレクトリ単位のコミットが失敗してしまう状況でした。
メールで治してよと頼んだら、あとで治すからまってて!と返事が来て、その後すっかり忘れてたのですが、どうやら今年の1月のバージョンアップで修正されたようです。 リリースノートには書かれていませんので、去年末で修正されたのかもしれません。
差分表示でもUTF-8やMS932をちゃんと表示してくれます。バイナリーファイルちゃうんか?と警告はされますが。
コマンドラインはちょっと、って思ってた人や、わざわざeclipse使ってた人などは是非試してみてはいかがでしょう?
OSXにrsyncでバックアップ
レンタルサーバーで運用しているWEBサイトのコンテンツを、OSXの社内サーバーにバックアップしようという試み。(レンタルサーバーはCORESERVER)
問題点
レンタルサーバーで使えるrsyncではOSXのエンコーディングに対応できないのです。
完成形
–iconvでUTF-8-MACが指定できるrsyncの作成。
インストール場所は$HOME/tool/bin。
下準備
OSX側のファイルシステムは「大文字小文字区別」するようにしておくこと!
うっかり区別しないにしているなら、バックアップ用のパーティションを別途作成しておきましょう。
macportsでrsyncを入れておくこと。 最初から入ってるrsyncだとなぜかうまくいかない。
バックアップ用のユーザーを作っておき、ssh用のキーペアを作っておく。作った公開鍵はレンタルサーバーの$HOME/.sshに置く。
ソースコードのダウンロード
rsyncとlibiconvが必要です。ここからの作業はサーバーにSSHして行います。コマンドラインが使えない人は諦めましょう。
rsyncはオフィシャルサイトから最新のもの(ここでは3.0.9)をwgetしときます。
libiconvはappleのサイトからlibiconv-13.2.tar.gzあたりをwgetします。(新しいとコンパイルが大変…)
ダウンロードしたソースコードを$HOME/tool/srcに置いて解凍します。
libiconvのコンパイル
libiconv-13.2/libiconvにcdして、./configure –prefix $HOME/tool しておきます。
その後にいくつかのファイルを編集します。(こちらのサイトから抜粋)
lib/utf8mac.hの
#include <libkern/OSByteOrder.h>
を
//#include <libkern/OSByteOrder.h> #include <byteswap.h> #define OSSwapInt16(x) bswap_16(x)
と修正します。
aclocal.m4の
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
は
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.9"])
同ファイルもう1カ所
[AM_AUTOMAKE_VERSION([1.7.5])])
を
[AM_AUTOMAKE_VERSION([1.9.6])])
に変えます。(バージョンが違ってたら環境に合わせてください。 automakeのバージョンは automake –version で調べることができます。)
さらに、libiconv直下にam–refreshというファイルを作ります。touchしてください。
ここまでできたらやっとmake install。
おわったら $HOME/tool/bin/iconv -l | grep MAC で、「UTF-8-MAC」が出ることを確認。
rsyncのコンパイル
export LDFLAGS=-L$HOME/tool/lib
しておいて、あとは ./configure --prefix=$HOME/toolしてmake installすればおしまい。
実行で気をつけること
--iconv=UTF-8,UTF-8-MAC を付けるのはもちろんのこと、--rsync-path=/opt/local/bin/rsyncを忘れずに。(こちらのサイトで言及)
最終的には以下の様なコマンドになる。(1行で。パスは適宜環境に合わせて書き換え)
$HOME/tool/bin/rsync --rsync-path=/opt/local/bin/rsync
--iconv=UTF-8,UTF-8-MAC -avz --delete
-e ssh ~/public_html backup@<サーバー名>:/Volumes/Backup/coreserver
エラーと対処
libiconvのmakeで「No rule to make target `am–refresh‘. Stop.」
「touch am–refresh」しとけ。
rsyncの実行時に「rsync error: syntax or usage error (code 1) at main.c(1318) [server=2.6.9]」(的な)
–rsync-path忘れてる。
CSS Nite in Hiroshima, Vol.3 Follow Up
2010/11/20に開催されたCSS Nite in Hiroshima, Vol.3で、私が講演した内容についてのフォローアップです。
ご参加いただいた皆さん、誠にありがとうございます。
個人的に聞きたい事や、疑問点などがありましたら、tetsuya@wardish.jp までお気軽にどうぞ。
プレゼンテーション時における差別化
プレゼンをしなければならない状況
- 案件の予算確保
- 商品(サービス)紹介
- 資金調達
- その他
プレゼンで重視すること
どうせやるなら「ブランディング活動」として位置づけてしまえ。
説得しようとか、理解を得よう等とするのではなく、コミュニケーションの延長として考えよう。
商品やソリューションよりも、プレゼン資料よりも、自分をメインコンテンツとして意識しよう。
実例
プレゼンの場をコミュニケーションの延長として考えることで、プレゼンのとらえ方がどう変わるか?
コンペティションで無茶振り
場の理解不足。 元請け的には決して無茶振りだとは思っていない。
まずは断絶している関係を修正することを意識。
小さくてもいいから、確実にコミュニケーションを確立させていくことでプレゼンを成功させる。
時間がないって言われた
ぶっちゃけてもらえたことをラッキーと捉える。
ぶっちゃけ返すことで、よりいっそう期待に応えることができる。
自社サービス紹介で失敗
相手のニーズが分かっていなければ、何を説明すればよいかも分からない。
相手が見えていない以上に、自分が見えてない。 「伝えたい」だけでは伝わらない。
資金調達で失敗
コミュニケーションの前提として、「場」を理解しよう。
勘違いはコミュニケーションの敵。
プレゼンをブランディング活動として位置づける意義
プレゼンの機会は、広報手段を持たないフリーデザイナーやフリーエンジニアにとって、唯一とも言える市場とコミュニケーションが取れる場です。
市場とのコミュニケーションチャンネルを確立できれば、自然とやりたい仕事が来るように、やりたくない仕事は来ないようになります。
是非とも、その場の勝ち負けよりもコミュニケーションの確立を目的としてみてください。

