IAESTE Japan 2009 派遣生の飲み会

2009年度IAESTE Japan派遣生の方々へ
(TwitterやFacebook, Mixi等を通じて一気に告知できるので, ブログを利用させてもらってます。関係ない方々ごめんなさい)


先日、派遣生OB/OGの方々から「IAESTE Trainee同士でお互いに経験したことを共有すると面白いよ!」といったアドバイスを頂いたので、早速ですが、IAESTE Trainee 2009 from Japanの方々を中心とした飲み会を開こうと思います。


日時: 2009/12/12(土) 19:00- (暫定)
場所: 高田馬場(暫定)
お店: 未定
費用: 未定("できるだけ安く"をモットーに頑張ります。)





また、2009年度の派遣生の方で、もしまだ以下のGoogle Groupに登録されていない方がいましたら、僕の方まで一報をお願いします。


Yohei Yasukawa

How to Access WLAN whose Essid is "any"

Edit the "/etc/network/interfaces" file, and add/replace the following lines:

iface wlan0 inet dhcp
wireless-essid any
wireless-channel "xxx"

* "xxx" is a number displayed when you type "iwlist scanning" in your shell, like this:

Cell 07 - Address: xx:xx:xx:xx:xx:x
Channel:11 <-- here

Then, typeing to run your network interface like "ifup wlan0", you can access to the internet.

超マイナーなポストで申し訳ないです. これでやっと, Linuxでも快適なMiyama Lifeが送れるようになりました.


The Three-pass Approach to Read a Paper

どの分野の学問であっても, 研究のためにはそれなりの量のpaperを読む必要があります. 以前Twitterでつぶやいた"How to Read a Paper"では, paperを如何に効率良く, かつ体系的に処理していくか, という方法が紹介されています. その方法が実用的で面白かったので, そこで推奨されている各ステップを箇条書きにしてまとめてみました. 「どうしてそのステップを踏む必要があるのか」といった理由などは端折っているので, そういった部分の詳細を知りたい方は是非原文を読んでみてください.

1. First Pass [所要時間:5〜10分]
1-1. タイトル、アブストラクト、イントロダクションを読む
1-2. 各セクションおよびサブセクションの表題だけを読む
1-3. 結論を読む.
1-4. Referencesに目を通して, 既読のものにチェックを付ける
1-5. 以下の5つの質問に応える.
- どのタイプのPaperか?
- 他のどんなPaperと関係があるか?
- 仮定/仮説は有効か?
- 主な貢献は何か?
- よく書かれているか?
1-6. 1-5.の回答を参考に, より深く読むべきかどうか決める.
- 読むべきならばSecond Passへ.

2. Second Pass [所要時間:1時間以内]
2-1. 図表やグラフなどの視覚的な情報に注目し, 軸やバーが適切かどうか,
---- また, 結論は統計的に意義があるかどうか考える.
2-2. 未読のReferencesに目を通し, このPaperの背景を学ぶ.
2-3. 内容が掴めていることを確認する.
2-4. 要点を要約できることを確認する.
2-5. 以下の3つの選択肢から適切なものを選ぶ.
- これ以上読まない.
- 背景を学んだ後で, このPaperを読む.
- Third Passへ進む.

3. Third Pass [所要時間: 4〜5時間 (理想は1時間)]
3-1. 各主張の各仮説を疑い, 正しいかどうか確認する
3-2. 自分ならそのアイデアをどうプレゼンするか考える.
3-3. Future workのためのアイデアを書き留める.
3-4. 記憶からPaperの構造を1から書き直せるほど理解したか確認する.
3-5. そのPaperの強い点/弱い点を確認する.
- Ex. 暗黙の仮定, 重要な関連研究の見逃し,
----- 実験/分析による潜在的なissue.

[Literature Surveyをやってみる]
1. Google ScholarやCiteSeer等を使って,
-- 自分の分野で良く使われるkeywordを検索する.
2. 最近のPaperを3〜5つピックアップする.
3. 各Paperに対しFirst Passを行い, Paperをふるいにかける.
4. 関連研究を読み, 最近のsurvey paperがあるかどうか調べる.
-> ある - survey paperを読んで文献検索終了.
-> ない - 5.へ.
5. Bibliographyを見て, Paper間で共通の引用,
- または共通の著者(key paper/key researcher)を見付ける.
6. key paperをダウンロードして, 脇に置いとく. (後で読むため)
7. key researchersのHPに行き, 最近「どこで」発表したか調べる.
- 大抵の場合, そこがその分野のtop conference.
8. Top conferencesのHPに行き, 最近の出来事を目を通す.
9. 最近の良質の関連研究を調べ, First/Second Passを行う.
10. 5.と同様の方法でkey paperが見つかれば, それにも目を通しておく.

Literature Survey終了.

"How to Read a Paper", S. Keshav
David R. Cheriton School of Computer Science,
University of Waterloo, Waterlloo, ON, CANADA


[Related Articles]
Research Skills by Simon Peyton-Jones


Lucid-desktop in Chromium Operating System

Maybe this is the near future which we will see soon.


Mini Reference for Git

This is a memo for Git commands.

*** config ***
- set user name and contact info
git config --global user.name "User Name"
git config --global user.email "name@domain.com"

- display current settings
git config --list

- turn on coloring mode
git config --global color.ui "auto"

- set an alias for a command
git config --global alias.<alias-name> "<native-command-name>"

*** mode ***
- Git with GUI
git gui

- display whole history using GUI

- display diff using GUI
git mergetool

*** command ***
- initialize and reinitialize .git
git init

- add git repository
git add <filename>
git add -i (Interact Mode)
git add -p (Patch Mode in Interact Mode)

- commit with a message
git commit -m "message"
git commit -C HEAD -a --amend (Amend previous commit by using same log message)

- revert commits
git revert -n <commit ID>
-> Do revert in time order to avoid waste troubles.

- reset change log by changing files
git reset --hard HEAD

- see the working tree from Git
git status

- change working branch
git checkout <destinated branch>
git checkout -b <new branch> <existing branch> (checkout with making new branch)

- make a branch
git branch <new branch> <based branch>
git branch <new branch> <based tag-name>
git branch -a (show all branches)
git branch -d <delete branch>
git branch -m ("mv" command for branches)
git branch -M ("mv" command for branches in rewriting mode)

- merge a branch
git checkout <master branch>
-> git merge <slave branch>
-> git merge --squash <slave branch> (Compressed Commit)
-> git cherry-pick <commit ID> (Cherry Pick)
-> git cherry-pick -n <commit ID> (put a commit into staging area)
--> Do not put "-m" option when committing because it already has a message.

- track back to previous situation
git reset --hard HEAD^ (Maybe you need to replace with "\^")

- put a tag on the current revision of branch
git tag <tag-name> <branch-name>

- fetch a change of branch and put it in front of another branch
git rebase <branch-name>
git rebase -i <commit ID> (It helps to change committing order)

- make a archive for release
git archive --format=tar --prefix=<dir-name> <tag-name> | gzip > <archive-name>.tar.gz
git archive --format=zip --prefix=<dir-name> <tag-name> | <zip-name>.zip

- read user manual
git help <command>

- see commit logs
git log
git log -<num> (Show some of logs in time order)
git log --pretty=oneline (Show each commit in 1 line)
git log -p (Display all differences between revisions)
git log <commit ID>
git log --since="<num> hours"
git log --before="today" | ="2009-11-22" | "yesterday"
git log <older commit ID>..<later commit ID>
git log <older commit ID>..HEAD{^} (from some commit to latest)
-> Windows may need double quotations.
git log HEAD~<num>..HEAD
git log -C -C -p (Display detailed info in each commit)

- display differences between corresponded files if existing
git diff
git diff --cached (Differences between Not Commited and Current files)
git diff HEAD (Display all differences in current branch)
git diff <commit ID>
git diff --stat <tag> (Display stats info between resources)

- Display who writes which codes
git blame <filename>
git blame -L <start>,<end> <filename>
git blame -L <start>,+|-<num> <filename>
git blame -M <filename> (look for same lines in a file)
git blame -C -C copy.txt (look for same lines between files)

- "mv" in Git
git mv <filename> <new filename>

*** others/memo ***
- Git cannot trace empty folders because they have no contents.
-> To avoid this, most people create a ".<filename>" file with meta contents.

- Git does not have to use "cp" command because it already copies when tracking.

- To ignore buffer files, add "a pattern name" into .git/info/exclude or .gitignore


Google Chrome OS in VMware Player on Debian

話題のGoogle Chrome OSを動かしてみました. 既に色々な情報がネット上で公開されていたおかげで, 特に苦労することなくGoogle Chrome OSが動かせました. 以下, その手順です.

1. 下記のサイトからVMware Playerをダウンロード

2. 下記のサイトを参考にして, ダウンロードした.bundleをインストール

3. 下記のサイトからchrome-os-*-gdgt.vmdkをダウンロード

4. 下記のサイトの手順に従ってVMware Playerに3.でダウンロードした仮想ディスクをインストール

5. Google Chrome OSを実行.

- Ctrl+Alt+tでShellに移動(Alt+Tabでウィンドウ切替え)

- Ctrl+Alt+DelでWindows Managerが起動

- DebianとGoogle Chrome OSでinitからログインまでのプロセス情報を比較

- "$ sudo su "でrootにログイン出来る. passwordは"chronos".
- 標準で搭載しているEditorはviのみ. Emacs, vim共に使えない. apt-get installも出来ない
-- というか, 許可されていないパッケージは全てインストール出来ない.(セキュリティ向上のため?)
- C-compiler系が全て使えない. インストールも出来ない.