北京でMSRAインターン生活 〜その2〜

その1ではMSRAインターンまでの道のりをざっくりと書きました.
今日はこちらでの生活について書きたいと思います.書いてて誰に向けて書いてるのか意味不明になったのですが,インターンに行くって生活するって事よ?行く前はそれが一番不安な人もたくさんいるわよ?と,自分を励ますことにしました.

MSRAが用意してくれた寮のようなホテル

MSRAから歩いて5分もかからないところにあるホテルに住んでいます.ダブルの部屋にルームメイトと2人です.2日に1回くらいホテルの人が来て掃除をしてくれます.そのときに頼めばシーツなども取り替えてもらえます.部屋には普通のホテル同様にテレビやクローゼット,冷蔵庫のほかに洗濯機もついています.電源に関しては,中国は50Hz,220vです.コンセントの口は写真みたいなのが多いです.

注意:日本のささりますが,日本は100vなのでそのままは使えません.PCなどは220v対応しているのもたくさんありますが,一般的な電化製品は対応していないので注意してください.
ドライヤーなど初日から必要なものは日本で買って持って来たほうがいいと私は思います.買いに行けば日本より安く買えるけど,初日から買い物に行くのは難易度が高いので…ちなみに,ルームシェアというか1つの部屋に2人で住むのが嫌な場合は引っ越せます.補助もでるはず.
注意点:私がすんでいるこのホテルはタクシーの運転手さんも場所を知りませんでした.MSRAのインターンで中国に来る際は住所と電話番号のメモ,地図をプリントアウトして持ってくるべきです.私は地図を持ってなかったので,現地で困って15人くらいに声をかけて最後の最後に英語の分かる人に出会え,やっとたどり着けました.

お食事

前回も書いたように,中国では何を食べてもおいしいです.500円以下でおいしい夕食がおなかいっぱい食べられます.お酒も安くておいしいです.食べ物についてはFacebookに写真を載せているので,Facebookやっている方はそちらをご覧ください.ちなみに,MSRAでは朝8時半ごろと昼の3時ごろにフルーツが出ます.食べ放題です.冷蔵庫に入っているヨーグルトがおいしいので私は朝ごはんの代わりによく食べています.これも食べ放題.その上コーヒーなどは飲み放題です.食には全く困りません.

トイレ事情

MSRA内のトイレはいつでも清潔ぴかぴかです*1.ドアや仕切りの無いトイレには出会ったことはありません.北京にはないんじゃないかしら?中国ではトイレットペーパーはトイレに流さず,備え付けのゴミ箱に捨てるのが普通なようです.私は中国のトイレを体験して,世界って広いなーって思いました.

お買い物・お出かけ

日用品の買い物に関してはMSRAの向かいにWalMartがあるので全く困りません.寮の近くにはセブンイレブンもあります.両方とも英語は通じないけど,なぜか何とかなります.北京には英語が通じる人があまりいないので,地下鉄やタクシーで出かける際は行き先と帰る場所の駅,バス停,住所などをしっかりと書いた紙や,iPadなどすぐに文字が書き込めるデバイスを持っておいたほうがいいです.(中国と日本の漢字は違うものも多いのですが,)漢字が通じるってすばらしいです.

交通情報はここら辺にまとまってます.私の印象は以下.

地下鉄
改札を通る前に荷物チェックがある.携帯電話で通話OK.車内も駅もとても綺麗.車内の表示も分かりやすく,英語のアナウンスもある.待っている間も列になっていることが多く,乗車マナー向上中な印象.基本階段.乗り換えのために結構歩くことが多い.終電が10時くらいだから注意.
バス
携帯で通話OK.ICカード(地下鉄と同じもの)をもってない場合は切符をバス内にいる売り子さんから買う.もちろん英語は通じない.
タクシー
助手席に乗る.自分でドアを開け閉めする.環境税が必要(メーターの金額+1元)なときもある(必要ないときもあるみたい).乗る前に行き先を聞きたがる運転手さんも多いので,紙に行き先をかいておいたほうが良い.もちろん英語は通じない.でも,運転手さんは基本いい人だし,私はぼったくられたことは無い.平日18時~19時は道路が激混み.金曜の夜はタクシー自体がつかまりにくい.

という感じです.
北京では英語はあまり通じませんが,日本も英語あんまり通じないので,海外から来た人としては同じ感じなんだと思います.今回は生活について書いたので,次回はMSRA内の活動について書こうかしら,とか思っています.

*1:トイレに限らず,MSRAの中はいつも清潔です.中国にはお掃除係の人がたくさんいます.何でなんだろう.人口多いからそう見えるだけかな.

北京でMSRAインターン生活 〜その1〜

10月11日から北京のMSRAsiaでインターンをしています.それについて少し紹介.
MSRAsiaは,北京の北西部にあります.周りのインターン友達が「Countryside」と呼ぶような場所です.
中国は何を食べてもおいしいというのは本当です.感動的です.ご飯がおいしいと生きていきやすくてよいですね.
写真は私が一番好きな中華料理.「水煮肉片」めいた名前がついています.でもまあ油に浸かって出てくるんですけれども.花椒が効いててびりびりととてもおいしいです.

私がなぜMSRAにインターンに来たのかと聞かれると,第一には荒瀬さんがいたからです.日本人女性でMSRAに就職,年もひとつしか違わず,本当に尊敬します.

ここでちょっと,MSRAのインターンに来るまでの道のりをご紹介.

MSR(MSRAではなくて,MSR全体の話)のインターンはとても人気が有るそうです.なので,自分で直接レジュメを送っても埋もれてしまいがちと聞いたことがあります.そのため,誰かを介してインターンを狙うのが良いと思います.
私の場合は,日本の大学とMSRAの架け橋のような役割をされている公野さんという方にお世話になりました.(公野さんのブログ)公野さんにコンタクトを取って一度お話を聞かせていただき,その後レジュメ提出,電話インタビューという流れでした.
電話インタビューは,インタビューをしてくださる方によって内容がまったく異なるようです.私の場合は面接というより試験という感じ.全然満足いく出来ではなくて,おそらくダメだっただろうな,と感じていました.でも,電話インタビューだけでもトライした意味はあったと思っていました.
また,自分の実力不足も痛感し,アルゴリズムを勉強して実装してみたり,それまで読んだことのない分野の論文を読んでみたりと電話インタビューのおかげでほんの少し成長できた気がします.
電話インタビューが散々だったので,採用されたときはとても驚きました.今はMSRAに日本人が少ないので,チャンスなんだと思います.

私はこちらに来て最初のメンターとのミーティングで,
日本人の学生,特に女性は全然海外に出たがらないよね?アレなんで?危ないと思うからかな?
と聞かれました.確かに,日本人ってあんまり海外に出たがらない傾向があるのかもしれないなぁと.
また,先日WISSで一時帰国した際,多くの先生に「もっとうちの学生に海外を勧めてくれ!」とも言われました(笑)先生が「行ってこい」と言って下さっているのに行かないなんて!!!(笑)
不安なことはたくさんあると思います.でも,行く前に持っていた不安なんて,実際来てみればどーってことないことばかりです(笑)
ぜひぜひトライしてみて下さい!

というわけで,今回はインターンまでの道のりについて書きました.次は毎日の生活について書きたいと思います.

TeXで下線

今後のためのメモ.

TeXで下線を引きたい時は,jumolineってのが便利.

\usepackage{jumoline}
\setlength{\UnderlineDepth}{3pt}

ってかいて,

\Underline{下線を引きたい部分}

でできる.
ただ,上の下線を引きたい部分は1行に全部書かないとダメ.
出来上がったpdfでは何行になっていようが大丈夫だけど,
編集の段階では全部1行にする.
あと,「下線を引きたい部分」には\footnote{}とか\section{}みたいなのは入れられない.
でも,\footnote{\Underline{下線を引きたい部分}}みたいなことは可能.

自動販売機

今年のお盆は実家のある愛媛に帰って,松山城を観光に行きました.
松山城,戦いに備えて設計されていてとても面白かったのですがそれより何より,愛媛にはとても使いやすい自動販売機がある!と感動したのでした.

松山城のすばらしさについてはまた今度語るとして,今日は愛媛で何度か見掛けた使いやすい自動販売機について.

観光に行ったのにカメラを持っていなかった私はケータイなんかで写真を撮ったものでひどく見にくいですが,上の写真がその使いやすい自動販売機.

特徴としては

  • 取り出し口の位置が腰のあたり.
  • コイン入り口が広い.
  • 高い位置にある商品のボタンが下にも配置されている.

の3つ.

自販機って,なんで下の方に取り出し口付けてるんだろうっていつもいつも思ってました.まあ,そりゃあ下にないと困っちゃうんだろうけれど.この自販機の取り出し口は車いすの方でも取り出しやすい位置で,多分子供にも取り出しやすい.もちろん大人もかがまなくていいから取り出しやすい.
と,この位置がデフォルトでもいいんじゃないか,と思うくらいです.

普通の自販機って,コインを挿入するタイプになっていて自販機で売ってる飲み物ってだいたい120円とかで2〜3枚コイン入れなきゃいけないのにうっかり片手で全部入れようとすると落としたり入れにくかったりで不便でした.
この自販機はコインを2〜3枚重ねておいても,勝手に一枚ずつ入ってくれてとても入れやすい.手が不自由な方でも入れやすいのではないかなと思います.
もちろん小さい子も入れやすいはず.

で,最後はボタン位置なんですが,今まで私は気付かなかったけれど,やっぱ自販機の一番上の列って高いところにあるのだなぁと.小さい子や車いすの方は,これまでどうしていたのだろうか.
本当に,この自販機見るまで全然気付いてなかったのですが.
とにかくこのボタン配置によって,嬉しい人はたくさんいるのだろうなぁと思います.

この自販機,愛媛の実家の近くにあるショッピングセンターにもたくさんあって,使う度に感心していたのでした.
でも,東京ではまだ一度も見たことが無い…
東京でも,場所によっては使われていたりするのでしょうけれども.

自販機のデフォルトってこれで良いんじゃないでしょうか.あつかましくないし,私が考えられる範囲ではみんなが嬉しいし.コストが高かったりするのかもしれないけれども…
てか,今はこのタイプがデフォルトで作られてたりするのかなー.そんなことなさそうな予感がするけれど…

感動したのでとりあえず.
東京にも増えてくれるといいなー.

Ubuntu9.10でRubyOnRails

Ubuntu9.10のサーバー版をインストールしてみました.
インストールはこちらのインストールにとっても詳しく分かりやすく載っているので,そちらを参考に..ネットワークの設定をして,sshでアクセスし,Rubyも入れました.
が,railsさんを入れるときにハマったのでメモ.

お決まりの通り,rubyを入れて,gemを入れる.

$ sudo apt-get install ruby
$ sudo apt-get install ruby gems

次にRailsさんを入れる.結論としては,gemを使ってインストールし,PATHを確認.
以降迷ったのでメモメモ.
Railsさんをapt-getで入れるべきなのか,gemで入れるべきなのか,いろいろググっていると意見がバラバラでどちらで入れればいいのかわかりません.とりあえず,どちらかと言えば優勢のgemで入れて確認.

$ sudo gem install rails
$ rails -v

そうすると,

プログラム'rails'はまだインストールされていません.次のように入力することでインストールできます.
sudo apt-get install rails
rails: command not found

と言われます.だまされてapt-getしてみたところ,普通に

$ rails test

で通ります.でも,

$ ruby script/server

でポート開いてブラウザから見てみても,「サーバにアクセスできません!」
テキストブラウザw3m)とかでサーバ本体から見ても,サーバにアクセスできませんとか言われます.
なので,やっぱりapt-getは邪道だったのだろうと

sudo apt-get remove rails

とりあえずもう一回gemで入れて,確認.

sudo gem install rails
rails -v

やっぱりさっきと同じように怒られます.が,冷静に考えてPATHが通っていないだけだということにようやく気付く..

sudo find / -name rails

見つかりました.普通に,PATHまで書いてみると,バージョンも確認できます.と,いうわけでPATHを追加し,無事終了.

とりあえず入って一安心です.よかった.

MacでArduinoさん.紫外線がどれくらい降り注いでいるかをTweetさせてみる.

id:hoimeiさまがArduinoRubyを使って簡単にTweetできるとおっしゃっていたのでちょっとやってみました.
ただ,紫外線量の計算がめんどくさかったんだけれども...
それでは作り方.

材料:紫外線センサ(G5842:浜松ホトニクス
   Arduino(ワタシのはArduinoProMiniの3.3vなので,USBをつなげるための)
   USBのケーブル(アタシの場合はミニと普通の)
   ネットワークにつながったPC(ワタシの場合はMacOSXバージョン10.5.6)
   その他G5842さんを使うときに必要な抵抗やらコンデンサやら.今回はブレッドボードさんも.
参考:id:hoimeiさんの「小鳥にtweetしていただく」.ほとんどこれ見て作りました!!ありがとうございます!!
   http://www3.ocn.ne.jp/~kumitate/uvmt.htm の回路図的なものを参考に作りました.

1.紫外線センサをArduinoにつないでみる.

回路はhttp://www3.ocn.ne.jp/~kumitate/uvmt.htm を参考に.
ここの計算がめちゃくちゃ大変でした.って,まあ,ちゃんと理解してない紫外線センサだったもので,どう計算していいかわからなかったってことなんだけれども..とにかく,計算はめんどくさかったので省略.
センサのアノードをanalog0に接続します.
写真とか後でまたアップしておこう.

2.Arduinoのプログラムを書いてみる.
めちゃくちゃ簡単.たったこれだけ!ArduinoさんがUSB経由でシリアル通信します.
プログラムは以下(TweetUV.pde)

//Maki Nakagawa
//read UV for Skincare
//20091017
//AnalogPin
int uvsensorPin = 0;

//value
int uvsensorValue = 0;

void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.println("now, i read UV");
  uvsensorValue = analogRead(uvsensorPin);
  Serial.println(uvsensorValue);
}


3.Rubyで書いてみる.
なぜRubyにしたかというと,ググるといっぱい出てきたから!という単純な感じなのですが...とにかく簡単でした.Rubyで書いている部分自体は.
rb-rubygemsとtwitter4r,ruby-serialportが必要です.
プログラムは以下.(twitter.rb)

シリアルポートはArduinoツールバーのTools>SerialPortで指定してあるのを書いてしまえばOK.

#Maki Nakagawa
#http://d.hatena.ne.jp/hoimei/20090911

require 'rubygems'
gem( 'twitter4r', '>=0.3.1' )
require 'twitter'
require 'serialport'


def generateMessage
messages = ["今日こそ夜更かしはやめましょう.",
			"今は太陽出てないもん.そりゃあ紫外線も出てないよー.",
			"今日もSいお研には人がいっぱいいるよー.@ikisaki_kun は信じちゃダメだよー.",
			"毎日研究室にいると飽きるなぁ..紫外線もなかなか出ないし..",
			"実は紫外線て窓を通ると30パーセントくらい減るんだよ.やっぱ室内がいいよね!",
			"目に入る紫外線が一番肌に悪いんだよー.サングラスが最高の味方だーね☆",
			"秋になったし、美白美容液どれにしようかなぁ..",
			"紫外線は10時から3時が一番強いんだよー.知ってた?",
			"そういえば最近akari-tanみてないなぁ.何してるんだろう.."]
msg = messages[rand(messages.size)]
return msg
end

#シリアルポートを指定
port = "/dev/tty.usbserial-*****" 

sp = SerialPort.new(port, 9600, 8, 1, SerialPort::NONE)

#10個の値の平均をとる
$val = 0
for i in 0..9
  $val = $val + sp.gets.to_i
end
$val = $val/10

#p $val

#つぶやき
if($val > 38)
	$message = "UVインデックス13以上:今の紫外線量は日本で観測できる紫外線量としては最高レベルです."
elsif($val > 35)
	$message = "UVインデックス12:紫外線考えられないくらい強い!今の紫外線量は日本でまれに見る高さです."
elsif($val > 32)
	$message = "UVインデックス11:紫外線極端に強い!WHOは11以上を危険と言っています."
elsif($val > 23)
	$message = "UVインデックス8〜10:紫外線すーっごく強い!日中の外出はなるべく控えて!"
elsif($val > 17)
	$message = "UVインデックス6〜7:紫外線強め!外に出るならできるだけ日陰を利用してね☆"
elsif($val > 8)
	$message = "UVインデックス3〜5:紫外線は中程度.外に出てもいいけど,紫外線のことも気にかけてね?"
elsif($val > 2)
	$message = "UVインデックス1〜2:紫外線は弱め.安心して外に出ていいよー."
else
  $message = generateMessage
end

p $message

begin #ログインIDとパスワード
client = Twitter::Client.new(:login=>"name", :password=> "***")
client.status(:post, $message)
rescue
end

4.Tweetさせてみる.
実行します.実行.
$ ruby twitter.rb
しゃべってくれます.id:hoimeiさんの言う通り,tweetさせることはとっても簡単でしたー.ははは☆

5.cronして定期的にtweetさせる.
情報弱者のワタシにとって,cronなんて敷居が高すぎてなかなか踏み込めない領域だったのだけど,やってみました.

$ crontab -e

まずはPATHを書き込む.
PATH=/opt/local/bin:/opt/local/sbin/:$PATH
MANPATH=/opt/local/man/:$MANPATH
ワタシの設定が悪いのだろうけれど,ターミナルから実行するときはPATHが通っているようなのだが,cronだと通っていないらしい.ややこしすぎてアタシにはどーしよーもなさそうだったのだけれども,これ書いたらなんとか動きました.

で,繰り返す時間とか設定.
*/30 6-18 * * * ruby Users/admin/Documents/twitter.rb

6.動いています!
(写真はテスト中なのでいっぱいつぶやいていますが,実際はそんなにつぶやきません.)

とっても簡単!でも,Twitterって,1日に何度も同じことつぶやけないんですよね...なので,つぶやかないことが多々あって悲しい..そこらへんをどうにかしないとダメダメですなぁ..
でもまあ,そこはまた今度..