2011/03/09
名前を覚えるのが苦手
昔から、人の名前を覚えられない。特にこっち来てからは、 最初に自己紹介でファーストネームを名乗ったらあとはその名前で呼び合うわけだけど、 自己紹介の1分後には忘れてる。人の顔と、属性や話した内容は結びつけて 覚えていられるんだけど、名前だけすぽっと抜ける。
とはいえ名前を忘れたまま付き合い続けるのも無理があるので、 せこい工夫を色々している。
- メモる: 会話中にメモることはしないけれど。会話の合間を見つけて、 名前とその人の簡単な特徴を可能な限りメモしておく。
- リフレッシュする: その集まりの最中に、「彼はGary、彼女はClair…」 と頭の中で反芻する。あるいは会話中になるべく相手の名前を呼ぶようにする。
- 復習する: 集まりが終わって家に戻ってからとか、翌日とかに、メモを見て顔を思い浮かべる。また、その場でメモできなかった人についてもメモしておく。
- また聞く: そうしていても、次の集まりになるとやっぱり思い出せないことが多い。 どうしても思い出せなかったら "Excuse me, but you are...?" と聞く。あるいは自信が無かったら "You are Pete, right?" とか確認する。 いちばん良いのは、2回目に会ったその瞬間に、"Hi! you are... excuse me, but can I ask your name again?" などと挨拶の勢いで聞いてしまうことなんだけど、 全員にそれをやってるとさすがに気まずいので適宜使い分ける。 何にせよ、回も重ねるごとにどんどん聞きにくくなるので、 早めに聞いて記憶を定着させる。
- 人を頼る: 何度も会って、 何度も名前を聞いてるにもかかわらず、 どうしても名前が思い出せないことも、よくある。困ったことに。 さすがにまた名前を聞くのはなあ、という時はその場にいる共通の知人に 彼の名前なんだったっけ、と尋ねたりする。
他の人はもっとうまくやってるんだろうなとは思う。 ただ、私のみたところでは、アメリカ人は全員が全員初対面でぱきーんと 名前を頭に入れるってわけではなさそうだ。 自分も2回3回と名前を聞かれることはあるし、「彼女の名前なんだったっけ」などと 尋ねられることもあるんで、あやふやな人も結構いるんだろうと思う。 あと、わからなかったら適当な名前で呼ぶって人もいるなあ。そんで「違うよ」と言われて「あっそうか、ごめんごめん」てな感じ。
だもんで、早い段階で悪びれずに何度か聞いてしまうってのが良いんだろうとは思う。
Tag: 生活
2011/03/08
Meisner intensive 2回目の1
Scott Rogersの前回のMeisnerのクラスが良かったので、 彼のregular acting classも取りたかったんだが時間の都合がつかず。 そうこうしているうちにまたMeisnerのクラスが開講されるというので取ることにした。 Meisner techniqueのエクササイズは1人ではできないので 何度取っても良いものだ。
今日はrepetitionの基礎からthree momentsまで。
ScottはRepetition exerciseを "tedious" というんだけど、 あんまりそうは感じないんだよなあ。 ひたすら繰り返して、対象の微妙な変化を観察するっていう点に関していえば、 仕事でやってるデバッグとかベンチマークの方がずっとtediousであるわけで、 生身の人間相手でやってる時点で飽きる気がしない。 単にあきあきするほど十分にexerciseをやっていない、というだけかもしれないけれど。
Some quotes:
- Indicating is bad. Any indication makes acting fake.
- No other technique works better for CUs than Method. Tight shot can catch what's happening inside you, behind the eyes. It also catches any fake moment. However, Method sucks when interacting with other actors. So, use both [Method and Meisner].
- The point of emotional preparation: Being in an emotional state at the beginning of the scene. It doesn't need to be the emotion you are supposed to get in the scene. It can be an oppsoite emotion. As far as you're in an emotional state, and you react in the scene honestly, then the real emotion hits you.
前回のクラスのメモへのリンク: #1, #2, #3, #4, #5, #6
Tag: 芝居
2011/02/26
sf.net svn -> git 移行メモ
仕事でgitに慣れてきたら、subversionでの作業がだんだん辛くなってきた。 そこでsourceforge.netに持ってるプロジェクトの方も徐々にgitに 移行することにした。まずはWiLiKiのリポジトリで練習。
subversionからgitへの移行はgit-svnでできるみたいなんだけど、 そっくりそのまま移行してsubversionの方は忘れちゃう、というやり方が ずばり出てこなかったので若干迷った。 Chatonでokuokuさんに教えて頂いて解決。 sf.net特有の事情もあるので、手順をメモっとく。
subversion repoからのclone
git svn clone --stdlayout だとブランチへのrefがremoteに入ったりして面倒なので、 空のrepoを手元に作ってからcloneする。
$ mkdir tmp/WiLiKi.tmp $ cd tmp/WiLiKi.tmp $ git init
.git/configを編集してsubversion repoへの参照を足す。 足したのは以下の記述。
[svn-remote "svn"]
url = https://wiliki.svn.sourceforge.net/svnroot/wiliki/WiLiKi
fetch = trunk:refs/heads/master
branches = branches/*:refs/heads/*
tags = tags/*:refs/tags/*
subversion repoのブランチ名はそのままローカルのブランチ名へマップ。 (万が一 "master" というブランチがsubversion repoにあったらもうひと工夫要ると思う)。
あと、subversion repoのユーザ名からgitコミットログへのマップも必要。 これはこんな感じでusers.txtを用意しとく (実際には他の人もコミットしてるので そのエントリも書いてある)。
shirok = Shiro Kawai <shiro@acm.org> shiro = Shiro Kawai <shiro@acm.org> (no author) = Shiro Kawai <shiro@acm.org>
ちょっとはまったのは、多分古いCVSからのインポートを
svnに移行したせいだと思うけど、"(no author)" というユーザ名がsubversion repo
に入ってしまっていたこと。これは上のように (no author) = ... という
マップを書いておけば通る。
んで、fetch。 git svnを一度も走らせずにconfigをいじったせいかちょっとした メッセージが出るけど、問題ない。
$ git svn fetch -A ../users.txt
Migrating from a git-svn v1 layout...
Data from a previous version of git-svn exists, but
.git/svn
(required for this version (1.7.0.4) of git-svn) does not exist.
Done migrating from a git-svn v1 layout
これでsubversion repoのブランチもタグも全部手元に来てくれる。
確認できたら、.git/configを編集して [svn-remote "svn"] セクションを消す。
sf.net側にリポジトリ作成
sf.netの ProjectAdmin > Features で Gitにチェックを入れると
PROJECTNAME.git.sourceforge.net/gitroot/PROJECTNAME/PROJECTNAME
というリポジトリは自動的に作ってくれるみたいなんだけど、
PROJECTNAMEの下に複数のモジュールを置く運用をしたい場合、
各モジュールのリポジトリは自分で作らないとならない。
これはsf.netのshell serviceにログインして行う。
sf.netのshellサーバ、昔は単にsshでつなぐだけだったんだけど、 こないだの侵入事件の影響だろうか (あるいはもっと前からかも。shell service何年も 使ってなかったからな)、厳重になってた。どうやらログインする度にVMを起動して その中につながるっぽい。
ま、ともかく、sf.netのgitドキュメントの "Creating Multiple Repositories" にある指示通りに。
local$ ssh -t shirok,wiliki@shell.sourceforge.net create Requesting a new shell for "shirok" and waiting for it to start. queued... creating... starting... This is an interactive shell created for user shirok,wiliki. Use the "timeleft" command to see how much time remains before shutdown. Use the "shutdown" command to destroy the shell before the time limit. For path information and login help, type "sf-help". -bash-3.2$ cd /home/scm_git/w/wi/wiliki -bash-3.2$ mkdir WiLiKi -bash-3.2$ git --git-dir=WiLiKi init --shared=all --bare
これでPROJECTNAMEの下にモジュールとしてWiLiKiが作られた。 Webからは http://wiliki.git.sourceforge.net/git/gitweb.cgi?p=wiliki/WiLiKi でブラウズできる。
デフォルトで作られているリポジトリの方は、使わないならシェルからrm -rf してしまっても大丈夫なようだ。ownerは"dummy"となっているがgroupが プロジェクトでwritableになっているのでプロジェクト開発者なら消せる。
sf.netにpush
先ほどローカルに持ってきたgitリポジトリからpush。
$ git remote add origin ssh://shirok@wiliki.git.sourceforge.net/gitroot/wiliki/WiLiKi $ git config branch.master.remote origin $ git config branch.master.merge refs/heads/master $ git push origin master $ git push --all $ git push --tags
確認。
$ cd ~/src $ mv WiLiKi WiLiKi.svn $ git clone ssh://shirok@wiliki.git.sourceforge.net/gitroot/wiliki/WiLiKi $ cd WiLiKi $ git branch -a
来てる来てる。
Gaucheのリポジトリも暇を見て順繰りに移行してゆく予定。
Tags: Programming, subversion, git
2011/02/25
らむ太の発見
(予備知識: うちの車はNissan。)
- ら: ねえねえ、「にっさん」みつけたよ。1、2、3。ほら!
どうやら言葉遊びに目覚めたようである。発見したのがうれしくて何度も言ってる。
以前「たいやきの中にたいや」と歌ってた頃は多分分かってなかった。ひとつ抽象化の階段を昇ったようだ。
Tag: 生活
2011/02/24
スタックが無かった頃のお話
Abstract Heresies: Where did the stack go?
The IBM 704 didn't have a stack.
This was not unusual at the time. Although stacks were known about for years before, low-level languages did not make much use of them. Early FORTRAN certainly didn't need a stack, so IBM didn't bother with a hardware implementation.
- IBM704にはスタックが無かった。
- TSXというインストラクションで、現在のプログラムカウンタの値をレジスタに置いてサブルーチンにジャンプすることができた。
- でも、レジスタに置いたアドレスへとジャンプする、いわゆる間接ジャンプをするインストラクションが無かった。
- どうしていたかというと、
- サブルーチンの最後に無条件ジャンプ命令を置いておく
- サブルーチンに飛び込んだ時点で、レジスタに呼び出し元のプログラムカウンタの値が入ってるので、それを元に最後の無条件ジャンプ命令の飛び先アドレスを書き換える。
自己書き換えだ。楽しいなあ。
もちろんこれは再入可能じゃない。再入可能にするにはどうしたかというと スタックを自分で作らないとならないのだけれど、当時はメモリアクセスに 比べて演算のコストが高く、スタックポインタを増減させるやり方は重かった。 リンクトリストなら加減算が不要で、しかもあらかじめ貴重なメモリの一部を スタック用に予約する必要がないので、そちらが好まれたとのことだ。
スタックがリンクトリストだと継続の実装も簡単なんだよね。 現代のアーキテクチャではアクセスのローカリティの重要性がとてつもなく大きいので 今使うことは無いだろうけれど… 通常のスタックエリアをNurseryのアロケータとみなして、適宜スタックエリアの ガベージコレクションを行う、という形でSpaghetti Stackを実装することは 今でもできるな。
Tag: Programming

Comments (0)