先月 Carnegie Mellon University の Language Technologies Institute にて research programmer/analyst というフルタイムのポジションに就きました。それに伴い、カリフォルニア州スタンフォード (Stanford, CA) からペンシルベニア州ピッツバーグ (Pittsburgh, PA) に引越しをしました。米国内の引越しに関する日本語の情報はあまり多くありませんが、主に参考にさせていただいたブログ記事へのリンクを載せておきます。
米国内の引越し方法のまとめ – 統計学+ε: 米国留学・研究生活
ピッツバーグでの生活の立ち上げでお世話になっているのがピッツバーグ便利帳です。この便利帳は、1990 年から 20 年以上にわたって蓄積されてきた生活ノウハウ集であり、現在では有志の編集者が Wiki 上で情報を更新しています。スタンフォードにもこのような情報集 (スタンフォード生活情報源) はあるのですが、会員限定のクローズドなコンテンツになっており、やや古い情報が一部に残っていました。ピッツバーグ便利帳は大学のサーバ上で管理しながら、誰でも最新情報にアクセスできるように情報公開をしているのが素晴らしいと思いました。
二年前のスタンフォードでの生活の立ち上げと大きく違ったのは、オフキャンパスのアパートを探す必要があったという点です。便利帳を参考にしながらも、既に繁忙期 (6 月や 7 月) が過ぎた 8 月に良いアパートを見つけるのはなかなか難しかったのですが、最終的には納得のゆくアパートを何とか見つけることができました。ピッツバーグは、以前からいくつかの住みやすい街 (the most livable cities) ランキングで全米第一位の評価を得ています。スーパーやレストランは便利な距離圏にありますし、自然豊かな住宅街を歩いていると UC Berkeley や Stanford University のキャンパスで見たリスによく出くわします。この前はリスに混じってウサギが跳ねているのを見掛けました。またスタンフォード周辺に比べると家賃が安いので、場所や物件にもよりますが、基本的に同じ家賃でより条件の良い物件に住むことができます。上記のようなランキングで全米一位になるのには他にも理由があるのだろうと思いますが、それらに気付くにはもう暫くかかりそうです。
ただし、一ブロック違うだけで雰囲気ががらっと変わるのがアメリカの住居の特徴の一つですが、それはピッツバーグにも当てはまります。パロアルトに比べると、ピッツバーグの方が街に住む人達の人種がより多様なようにも感じます。なので、暮らしやすさは個人個人の考え方によって変わるものですが、ピッツバーグの中でもどこに住むかに大きく左右されるように思います。気候面では、ピッツバーグの冬は自分がこれまで経験したことのない寒さ (一月の平均最低気温が -6.7℃) になるので、これから防寒対策にも気を付けようと思っています。
昨年末は一昨年の 7/26 に日本を発って留学を始めて以来約 1 年 5 ヶ月ぶりに日本に一時帰国しました。日本滞在中は時差ボケのせいか風邪のせいか、あるいはその両方のせいか、体調があまり芳しくありませんでした。一言で言うと、一時帰国にまだ慣れていなかったということかも知れません。それでも全般的にはリラックスして過ごせたように思います。一つ良かったのはサンフランシスコ空港 (SFO) から羽田空港 (HND) への直行便が取れたことで、成田に比べると行き帰りはかなり楽でした。このポストでは時差ボケ対策と読書について書いてみます。
飛行機での時差を越えた移動は体内時計という自然の摂理に反したものなので、そのような移動によって時差ボケになること自体は避けようがありません。ですが、時差調整法を上手く取り入れていくことで、時差ボケをある程度軽減することは可能です。そこで時差ボケ対策について改めて調べてみました。備忘のために、以下にそのメモを書いておきます。
- 太陽の動きと逆の動き (つまり西から東、例えば日本から米国への移動) の場合は時差ボケが重くなる。
- 到着直前まで眠ってしまうと時差が解消しにくい。移動中に眠るなら離陸後の数時間が良い。
- 移動中の睡眠のためには、マスク、スリッパ、簡易枕、アイマスクや耳栓もしくはノイズキャンセリング型のヘッドホンなど各々のフライトや季節に合わせてアイテムを活用する。
- 体内時計は食事時間と関係があるので、出された機内食は基本的にしっかり食べる。
- 目的地に到着した後、疲れていたら仮眠を取る。
- 目的地に到着した後、なるべく屋外で日光を浴びるようにし (光療法)、現地時間に合わせて行動する。
- 場合によってはメラトニンの分泌を促すサプリメントの服用も検討する。
次に読書についてです。日本で留学準備を進めていた頃から洋書をよく読んでいたような気がしますが、米国に来てからは当然と言えば当然ですが、一般書も含めてほとんど洋書しか読まなくなりました。しかしそうであっても、自分が今している研究や留学に関連する本を中心として和書の中にも気になる本が時折出てくるものです。それらは、留学中に新しく世に出てくる本と、留学前から出版されていたが自分が知らなかった本の両方です。以下はそのような和書 (一般書) のリストの一部です。冬休み中には全て読めませんでしたが、後で読み終わった時に感想を手短に追記していこうと思います。
先日 SFCU でクレジットカードを作ったのですが、その際に、日本のシステムと違っていて学んだことがいくつかあったので米国のクレジットカードについて書いておきます。アメリカがカード社会であるというのはよく言われることですが、実際にスーパーなどで買い物をしていても現金で支払っている人をほどんど目にすることがありません。私自身は、最初は日本にいる時の感覚で現金を使っていたのですが、次第にデビットカード (兼 SFCU の ATM キャッシュカード) を使うようになりました。
最初に米国のクレジットカードについて少し調べてみたところ、さすがにカード社会と形容されるだけあって、流通しているカードの種類もサービスも豊富であることが分かりました。例えば、年間数 % 程度のキャッシュバックなどのサービスが付いているものもあります。ただ、クレジットカードの発行手順には少し注意が必要です。まず、Visa や Master などのクレジットカードを発行しようとするとクレジットヒストリ (信用履歴) が必要になるのですが、クレジットヒストリを貯めるにはクレジットカードを使用して、かつ定期的に使用分を滞りなく支払っていく必要があります。一見矛盾したシステムに見えますが、クレジットカードの中には (大学 1 年生向けなどのような) 敷居の低いカードがたくさんあるので、そういったカードから始めてクレジットヒストリを少しずつ貯めていって、十分なクレジットスコアを得た時点で利用価値の高いカードに切り替えていくのが普通のようです。
クレジットカードを発行する際、クレジットヒストリの他には SSN または ITIN が必要になるようです。SFCU の銀行員の方が言っていたのですが、SSN や ITIN (といった個人識別用の ID) にクレジットヒストリを紐付けてデータベースで管理しているようです。この辺りは、米国の合理的な管理社会の一面を見た気がしました。
私は単純にクレジットヒストリ (クレジットスコア) の存在とその貯め方について知るのが遅かったのでクレジットカードを作るのも遅くなってしまいましたが、ある程度長期で米国に滞在するのであれば、SSN や ITIN を取得したら早めに一枚作っておく方が良いかも知れません。
[2010.2.9 追記]
米国でのクレジットカードやクレジットヒストリなどについて非常によくまとまった日本語サイトを見つけたので、リンクを載せておきます。このサイトには、クレジット以外のファイナンス関連の情報もよくまとめられています。
クレジット | FI Planning
EUC-JP、Shift_JIS、UTF-8 の文字コードが混在したテキストを解析する機会があって、その時にいくつか方法があったのですが、python の pykf と chardet を使って、文字コードを自動判定して全て EUC-JP に統一するというスクリプトを書きました。chardet は短い文字列に弱いらしいので second guess にしました。
# -*- coding: utf-8 -*-
import sys
import pykf
import chardet
def main():
f = open(sys.argv[1])
line = f.readline()
while line:
code_changed_line = to_euc(line)
print code_changed_line
line = f.readline()
f.close()
def to_euc(text):
c = pykf.guess(text)
sc = second_guess(text)
if c is pykf.EUC:
return text
elif c is pykf.UTF8:
try:
return unicode(text, 'utf8').encode('euc-jp')
except:
return text
elif c in (pykf.SJIS, pykf.JIS):
try:
return unicode(text, 'utf8').encode('euc-jp')
except:
return pykf.toeuc(text)
else:
return text
def second_guess(text):
sc = chardet.detect(text)
return sc
if __name__ == "__main__":
argc = len(sys.argv)
if (argc != 2):
print "Usage: python %s filename" % sys.argv[0]
sys.exit(1)
main()
インストールの手順は以下の通りです。手順自体は簡単ですが、pykf についてはダウンロード可能なサイトがいくつかあり、中にはモジュールが足りずにインストールが失敗するもの (例えば、SourceForge.jp 上のものなど) もあったため、少々厄介でした。
$ wget http://archives.sertice.org/devs/linux/cvs/pykf-0.3.4.tgz
$ tar xvfz pykf-0.3.4.tgz
$ cd pykf-0.3.4
$ python setup.py build
$ python setup.py install
$ wget http://chardet.feedparser.org/download/chardet-1.0.1.tgz
$ tar xvfz chardet-1.0.1.tgz
$ cd chardet-1.0.1
$ python setup.py install
参考にさせていただいたサイトをメモしておきます。
最近ようやく少し時間が取れたので、以前から気になっていた Emacs での翻訳環境を整えてみました。参考にさせていただいたサイトは以下です。試した環境は、Emacs 22.1.50.1@Ubuntu 8.04 (LTS) です。
1) po-mode をインストール
po ファイルを修正する場合は入れておくと便利です。
$ sudo apt-get install gettext-el
2) text-translator によりネット上の翻訳サービスを利用
Google などのテキスト翻訳サービスを提供するウェブサイトを利用して翻訳を行う elisp をインストールします。サイトの更新はかなり前に停止しているようですが、elisp 自体は問題なく動きました。インストール後に .emacs に以下を記述します。
(require 'text-translator)
;;翻訳キー設定
(global-set-key "\C-xt" 'text-translator)
(global-set-key "\C-x\M-T" 'text-translator-translate-last-string)
翻訳したい文字列を選択してコマンドを実行すると、ウィンドウの下の方に翻訳結果の文字列が表示されます。英日だけでなく、日英など各翻訳サービスに付随する翻訳が可能です。各々の翻訳サービスの機械翻訳の質はまだ高くないですが、ブラウザをいちいち見たりせずに済むので翻訳の手助けにはなりそうです。

以前虫歯を治療してもらった近所の歯医者は若くて skillful な良医だと思っているので、その歯医者に親知らずを抜いてもらいました。人生初の抜歯をしたのは左上の歯で、縦にまっすぐに生えていたものの、完全に生えきっておらず、そのため磨きにくかったのか既に先端に小さな虫歯ができていました。
この歯は意外に長かったらしいのですが、それでも処置自体は数分で終わり、あっけないものでした。いくつか life tips をメモしておきます。
- 抜いた当日は血が止まらなくなったりするので、うがいや長時間の入浴をしない。
- 辛い食べ物などの刺激物はしばらく避けた方が良い。
- 周囲の歯茎によって穴が塞がって平らになるには通常 3 ヶ月から半年程度かかる。
毎月決まって何かのファイルをアウトプットする場合、1個のディレクトリだと散乱してしまうので、月ごとのディレクトリを作って、その中に整理したいことがよくあります。
そこで、ちょっとしたディレクトリ作成プログラムを python で書いてみました。
import os
import sys
month_num = 12
if len(sys.argv) != 2:
print "Usage: python mkdir_every_month.py [year]"
else:
year = sys.argv[1]
for i in range(0, month_num):
month = '%02d' % (i + 1)
os.mkdir(str(year) + str(month))
基本ですが、たまに使おうとすると忘れてます。なので、すぐ思い出せるように例文をメモしておきます。
拡張子が .log で終わるログファイルの中で、’192.168.’ という文字列を含む行の数を出力 (Apache の access ログからローカルアクセス数をカウント)
$ find . -name '*.dat' -type f | xargs grep '192.168.*' | wc -l
拡張子が .log で終わるログファイルの中で、1列目の値に ’192.168.’ という文字列を含む行を抽出し、重複行を含まない行をその数とともに降順にソートして出力 (Apache の access ログからローカルアクセス統計を出力)
$ find . -name '*.log' -type f | xargs awk '{print $1}' | grep '192.168.*' | sort -r | uniq -c