2009-12-02

検索サイトの将来 - Googleの事例 -




今日、早稲田大学で講演された「検索サイトの将来-Googleの事例-」に参加してきました。講演者はGoogle名誉会長の村上憲郎さんです。その感想やら講演メモやらを以下に記します。

この講演の中で個人的に面白かった話は、消費電力を抑える話です。PUE(Power Usage Efficiency?)という単位があって、その値をどれだけ下げられるか、といった点で世界中が競いあっている模様。現状は、Japanが1.9 PUEで、U.S.が1.7 PUEとなっていて、両国とも1.2 PUE台を目指してるらしいけど、Googleインフラは既に1.2 PUE台付近まで到達しているとかいないとか。

他の講演内容は以下のメモに記してあるので、興味の在る方をご参照してください。例によって誤認/誤訳があるかも。あと, 質問したかったけど指名されなかった。アピールが足りなかったか。

--- 以下、メモ ---
1. Outline
60 min speech and 20 min Q&A
- Search engine in the future

2. Background
- Starting as a Ph. D. research project
- Venture captalist invests to what the idea will succeed, even if it is in danger
- First company was in University of Avenue.
-- Yahoo! is also started in Stanford Univ.
-- Yahoo!=index vs. Google=search like the list at the end of books.
-- Google = search using word
-- Mission Statement:
--- Collect all information all over the world.
- Information can be accessed from anywhere
- Anyone can use it
- Provide such services for free.
-- Income is Only ad fee.
-- 2 trillion Yen? (2cho-en)

3. What services Google provides?
- Gmail: search e-mails
- contents are for free?
-- Google does not have any contents
--- Google just only lets users know where contents are.
--- Connect users to contents
- Google Search Engines
-- Web, News, Books, Scholor, Map
- Servers are made by Google and other supporting companies.
-- Never buy from other companies.
-- Optimized Servers for searches (one of initial statements)
- Cloud Computing
-- for free initially, but due to demand from venders, it cost 6,000 per year (ordinalily it costs 60,000 yen)
-- Green IT, friendly for Environment.
- Google App Engine
-- scalable for extending software.
- Google commits to Green New-Deal Plans
-- Google provides the plans with huge Data Center
- It is not enoufh to reduce cost of HW, but also to reduce cost of Energy Consumption.
-- which is called Efficient Computing
-- PUE: Power Usage Effectiveness
---Total Facility Power/ IT Equipment Power(what machine uses)
-- Japan is under 1.9 PUE
-- U.S. is 1.7 PUE
-- Goal: 1.2 PUE
--- Google is already near to 1.2 PUE
--- Clean Energy will be needed for the future.
--- Google is going to prove Solar Panel Effectiveness
--- RE Smart *** is extentions from Smart Grid.
--- Smart Community.
--- Google cannot expect what applications will be appeared in Smart Grid Age.
-- What Projects are running?
--- Started from Visializing Power Consumption.
-- Clean Energy 2030, Google Proposal
--- How we generate Energy?
--- Optimizing Wind, Fire, Solar, Land, Bio, etc.
--- Power Consumptions will increase for the future, but we will be able to control it in adequate levels by optimization.
--- Google looks at Power Consumption of Cars.
---- Prius, Toyota.
--- Gasoline should be replaced with Energy ASAP.
--- Google Expectations: Plug-in cars will increase dramatically.
---- But Plug-in cars increase more than the expectations

[Questions]
1. When looking for Ideas, Google Watch Top Conference?
- E.g. Web-based Operating System(SOSP'07)
2. Chromium OS and Android OS will continue to be open?







2009-11-29

IAESTE Japan 2009 派遣生の飲み会




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

飲み会を開きます。以下、その内容です。

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

具体的には、以下の日程でやるつもりです。

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

如何でしょうか?


なお、出欠は以下のURLを使って管理するつもりです。
各自で以下のURLにアクセスして頂き、回答をするようお願い致します。

携帯版:http://www.pitin.com/board/mobile.cfm?ID=EK1W5LPX
PC版:http://www.pitin.com/board/index.cfm?ID=EK1W5LPX

■操作手順■
1.出欠表の左列より、自分のお名前をクリックします。
2.出欠を選択して、右端の[OK]ボタンを押します。

また、2009年度の派遣生の方で、もしまだ以下のGoogle Groupに登録されていない方がいましたら、僕の方まで一報をお願いします。
http://groups.google.com/group/iaeste_trainee-2009-from-japan

以上です。
何かありましたら、僕に連絡して下さい。
それでは。

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
ESSID:"any"
Mode:Master
Channel:11 <-- here

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

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

2009-11-28

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終了.

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

原文:
www.sigcomm.org/ccr/drupal/files/p83-keshavA.pdf

[Related Articles]
Research Skills by Simon Peyton-Jones
http://research.microsoft.com/en-us/um/people/simonpj/Papers/giving-a-talk/giving-a-talk.htm

2009-11-24

Lucid-desktop in Chromium Operating System

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





2009-11-22

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
gitk

- 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

2009-11-21

Google Chrome OS in VMware Player on Debian





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

1. 下記のサイトからVMware Playerをダウンロード
http://www.vmware.com/jp/products/player/

2. 下記のサイトを参考にして, ダウンロードした.bundleをインストール
http://emasaka.blog65.fc2.com/blog-entry-457.html

3. 下記のサイトからchrome-os-*-gdgt.vmdkをダウンロード
http://gdgt.com/google/chrome-os/download/

4. 下記のサイトの手順に従ってVMware Playerに3.でダウンロードした仮想ディスクをインストール
http://www.forest.impress.co.jp/docs/special/20091120_330552.html

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系が全て使えない. インストールも出来ない.

2009-10-19

Alvila, Opensource Software Project


最近, IAESTE国際インターンシッププログラムの研修報告書を書き上げたのですが, 研修内容が"オープンソースソフトウェアの立ち上げ"という内容だったので, 告知のため, 研修報告書の内容の一部を引用してブログでも取り上げることにします.

未だドキュメント云々の作業が残っているため, 2009年10月現在, Alvilaプロジェクトは非公開となっていますが, 今年度中には(多分)公開される予定です. もし興味があれば, 後日, 訪れて頂ければ幸いです.

2010年春、公開されました。というか、気付いたら会社名もAlvilaになってました(笑)。.orgを.comに置換すると会社のHPに飛べます。

Alvila URL:
http://www.alvila.org/

研修報告書の一部 (pdf ver.)


----- 以下, 研修報告書から一部を引用 -----
本レポートでは, 2009年度IAESTE国際インターンシッププログラムを通して私が経験したことについて述べる. また, 本レポートでは, 研修先での研修内容だけでなく, 派遣国での生活全般についても述べる. 以下は, 本レポートで述べる内容のアウトラインである.

1. 研修先での研修内容
1.1. 参加したプロジェクトの概要
1.2. 具体的な作業内容
1.2.1. Pop-up Shell Filter機能の実装
1.2.2. ウェブページの制作
2. 研修中の生活について
3. まとめ

1. 研修先での研修内容
私は, IAESTE国際インターンシッププログラムを通して, 2009年8月1日から2009年9月20日までの約2ヵ月間, チェコ共和国の首都プラハにあるPageUpというベンチャー企業で働いた. 研修先では, Alvilaプロジェクトという, オープンソースソフトウェアを立ち上げるプロジェクトの一員となって終始働いた. 研修中の主な作業内容は2つあり, フトウェアの開発と, そのソフトウェアを公開するためのウェブページの作成である. 本章では, 私が参加したプロジェクトの概要と, 私の作業内容について, それぞれ具体的に述べていく.


1.1. 開発したソフトウェアの概要
Alvilaプロジェクトで公開するオープンソースソフトウェアは, 表管理システムの作成を支援するソフトウェアである. 似たようなオープンソースソフトウェアとして, JGoodies FormsやSWTFormsが挙げられる. JGoodies FormsやSWTFormsでは, 表管理システムのレイアウト作成に焦点を当てたフレームワークソフトウェアである. 一方, Alvilaプロジェクトで開発するソフトウェアは, 表管理システムで管理するコンテンツ作成に焦点を当てたフレームワークソフトウェアとなっている. 例えば, AlvilaプロジェクトのSkills.Tablesを用いて表管理システムを作成すると, 生成した表データに対して, 文字列を用いたフィルタリング機能(cf. GMailやMSN Hotmailのメール検索機能)や, 列項目の各要素を用いたフィルタリング機能(cf. MS Office ExcelやOpenOffice.org CalcのAuto Filter機能)を容易に実装することができる.

Alvilaプロジェクトでは, 2009年10月現在, 2つのソフトウェアが公開されている. 1つはSkills.Formsというソフトウェアで, 表管理システムの入出力フォーム作成を支援する. もう1つは, Skills.Tablesというソフトウェアで, 表管理システムのフィルタ機能作成を支援する. これらのソフトウェアは別々に使用することも可能であるが, 組み合わせて使うことも出来る. 以下の図1は, Skills.FormsとSkills.Tablesを組み合わせて作成した表管理システムの実装例である. 図1の上部にあるアイコン, 文字列入力フォームおよびボタンは, Skills.Tablesによって提供された機能である. この機能を用いることで, 表データのフィルタリングが出来る. 例えば, 文字列入力フォームに”456”と入力すると, 4行目のArgentinaのデータが消える. 一方で, 図1の下部にある文字列入力フォーム等のコンポーネントは, Skills.Formsによって提供された機能である. この機能を使うことで, 新しいデータや作成や, 既存のデータの編集および削除ができる.


図1. Skills.FormsとSkills.Tablesを用いて作成した表管理システムの実装例

なお, 上述の2つのソフトウェアのように, 表データそのものを取り扱うソフトウェアは, Skillsというカテゴリに分類される. 現在はSkillsというカテゴリのみが公開予定となっているが, 来年度以降には, 表管理システムとデータベースとのインタフェースを取り扱うソフトウェアも公開される予定となっている.


1.2. 具体的な作業内容
Alvilaプロジェクトのメンバーは非常に少人数で構成されていたため, 各メンバーに決められた役割というものは存在せず, 各自が細かく分割されたタスクをそれぞれ個別に処理していた. このため, 私の具体的な作業内容は, SWT Botを使ったテストプログラムの作成から, UMLを使ったクラス図の作成まで, 多岐に渡っている. 本項では, 私の具体的な作業内容のうち, 私が1から実装したPop-up Shell Filter機能と, 私が制作したウェブページについて, それぞれ簡単に紹介する.


1.2.1. Pop-up Shell Filter機能の実装
Pop-up Shell Filter機能とは, 図2-1でポップアップ表示されたウィンドウのことを指す. このウィンドウは表データのヘッダ部をクリックすることでポップアップ表示され, このウィンドウを使って列データのソートおよびフィルタリングができる. 例えば, 図2-1のPop-up Shell FilterでAdvertisementsをクリックすると, Position列のうちAdvertisementsの要素だけを抽出することが出来る. その結果を, 図2-2に示す.


図2-1. Pop-up Shell Filterの表示


図2-2. Pop-up Shell Filterよるフィルタリング

Pop-up Shell Filterによるフィルタは, 重複してかけることができる. また, 既存のフィルタ機能とも互換性を保っているため, より柔軟なフィルタリングが可能になる. 以下の図2-3では, 図2-2の状態から, city/state列のNorte Dameでフィルタリングし, さらに, 文字列“wa”を含むデータのみを抽出するようにした結果である.


図2-3. 複数のフィルタ機能を重複してかけた結果

このように, Pop-up Shell Filterでは柔軟なフィルタリング機能を提供しているため, 膨大なデータ量から目的のデータ郡のみを閲覧および編集したい場合などで, 効率的な作業が可能となる.


1.2.2. ウェブページの制作
Alvilaプロジェクトで開発されたソフトウェアのダウンロードおよび詳細な説明は, ウェブサイトを通じて行われている. このウェブサイトは, 開発したソフトウェアをより多くの人に知って欲しいという理由から, 英語から複数の言語に翻訳されている. このうち, 私が制作したウェブページは, 日本語翻訳されたページと, Skills.Tablesの一部のページである. 以下の図3は, 制作されたページの一部である. 図3の右部にある”日本語”リンクをクリックすることで, 日本語翻訳されたページに飛ぶことが出来る.


図3. Alvilaプロジェクトのウェブページの一部


2. 研修中の生活について
研修中は, IAESTE CRが所有しているアパートの一室借りて, 他のIAESTE研修生と共にハウスシェアリングしていた. その宿泊施設はプラハ近郊に位置しているため, 交通手段や日常で必要な生活用品などで困ることは特になかった.
週末には, IAESTE研修生およびIAESTE委員が毎週何らかのイベントを企画してくれるため, 非常に充実した週末を過ごすことが出来た. また, チェコの物価は日本と比べて安いため, 毎週末そういったイベントに参加しても, 金銭的に困ることはほとんどなかったことも良かった.
研修中の生活で不備だと感じることはほとんどなかったが, 勉強できる場所が少なかったことは気にかかった. 日本であれば, 大学やカフェ等を利用して夜遅くまで勉強することが出来るが, チェコではそういった勉強をする環境が少ないため, 勉強時に不備を感じることが多かった.


3. まとめ
今回の研修では, オープンソースプロジェクトの立ち上げるプロジェクトに参加し, ソフトウェアの開発およびウェブページの制作に貢献した. 研修中, 非常に魅力的なイベントが毎週末企画されため, 技術的な経験だけで無く, 遊びの面においても充実した生活を送ることができた.

2009-10-06

How to set "any" essid on Debian




[問題]
Debianで"any"というアクセスポイントを使いたいのだけれど, 単純に/etc/network/interfacesに

iface wlan0 inet dhcp
wireless-essid any

と設定しても, 上記の"any"が「どのアクセスポイントでもよいから使用可能なアクセスポイントを使用する」という意味で捉えられるらしく, うまく"any"というアクセスポイントにアクセス出来ない.

[解決案]
とりあえず適当なアクセスポイントにアクセスした状態で, iwconfigコマンドを使って以下のようにessidを指定したらうまくいった.

$iwconfig wlan0 essid -- any

上述の"--"がescape sequenceのような役割を果たすので, "--"を挿入することで"any"というアクセスポイントに出来る模様.

(ただ, man iwconfigを読みながら, 他にも色々と設定したような気がするので, もしかしたら上記の設定変更だけでは繋がらないかも...。何か分かったら追記する予定.)

[追記] 2009/10/18
上述の方法でessidを変更した後, 以下の2つのコマンドを実行すると, 無線LANが使えるようになった.

$iwconfig wlan0 channel auto

$iwconfig wlan0 rate auto

ただし, 実際に無線LANが使えるようになるまでには数分のタイムラグがあるため, 上述のコマンドを実行後2,3分ほど待つ必要がある模様.

2009-08-11

Canooooooooeing!!

さて, ナイトライフとファンキー旅ネタとの要望が来たので, 今回はそのうちの一つ, ファンキーな旅ネタについて一筆します.

先週は, IAESTEイベントで, 金土日とチェスキー・クルムロフ (Český Krumlov)付近にあるヴルタヴァ川(Vltava river)に行き, カヌーをしてきました.



カヌー当日は快晴かつ川の流れも穏やかだったので, まさにカヌー日和とも言える状況でした. しかしながら, 初心者だと中々うまくカヌーを扱えないらしく, 事実, かなりの人が少なくとも一回は転覆していました. 僕もカヌーは初めての経験でしたが, パートナーであるブラジル人の女の子がカヌー経験者だったので, なんとか一度も転覆せずに終えることが出来ました.



カヌーを終えた後は, キャンプファイヤーです. Let it beを歌っている人もいれば, ひたすらソーセージを焼いたる人もいたり, また, お酒を飲みつづける人(自分)もいたり, 皆好き勝手してワイワイやってました. ちなみに僕は, カヌーの開始地点, 休憩地点, 終着地点のそれぞれの地点でビールを飲んでいたので, 友達に「お前はチェコ人だ」と言われました. チェコでは, ビール片手に適当にチャオチャオ言っていればすぐに話の輪に入れるので, この点に置いては, 日本よりずっと気楽に話ができる良い環境だと思いました.



最終日は, お昼まではカヌーで市街地付近まで行き, そこからは自由時間でした. 僕はイラン人の友達と共にチェスキー・クルムロフを散策しました. 街は, かなり活気に満ち溢れていて, プラハとは全く違った印象を受けました. チェコの南西に位置しているのでプラハからは少し遠いですが(電車で3,4時間ぐらい), チェコに来たら一度は訪れた方が良いかもしれません. ちなみに, 市内にも川は流れているのでカヌーを体験することができます. 橋の上や川沿いにはたくさんの人がカヌーを見学していて, 転覆すると歓声が湧きます. また, Ahoiと叫べば観客も騒いでくれるので, ここらへんも気楽で良いと思います.




そして, 夜に電車でプラハのフラットまで戻って就寝し, 今日, 仕事から帰ってきた今に至ります. 今週末は, チェスキー・クルムロフの東に位置するテルチに行こうと友達に誘われたので, そっちに行ってみようと思います.

会社内でのハプニングや, 働く文化の違い, 社内パーティでの飲み会やその後のナイトライフなどなど, 他にも面白い話はあるのですが, まぁそれはまた機会があったら徒然と書きます.

以上, ファンキーな旅ネタでした.
ではでは.

2009-08-06

Start Internship in Czech Republic


今日は日本語で書きます. 近況報告です.

正直, プラハに着いてからもう1週間もたったのか, という気持ちです. プラハでの生活には結構慣れて, 英語の方もようやく皆の, 少なくともハウスメイトの英語にはなんとかついていけるようになりました (言い訳をすると, IAESTE関係者以外の英語は鈍りがひどくて聞き取れないんですが...).

プラハに来てから毎週のように飲んでいます. 研究室での生活ではありえない光景です. 大事なことなのでもう一回言うと, ありえないです. 一昨日はハウスメイトのgoodbye partyがあり, 明日は会社で自分のWelcome Partyがあり, その後はIAESTEイベントで金土日とカヌーします. (そして夜はきっとパーティになります.) ぶっちゃけこのおかげで課題が一向に終わらず, 期限後提出の期限のギリギリまで提出出来ませんでした. しかも, 全然実験内容が充実していないので, 成績もあまり良くはならないはず...orz まぁ元を辿れば, 日本を出発する前に課題を終わらせることが出来なかった自分の処理能力の低さのせいか. もっと精進せねば...

会社の方はボチボチで, 可もなく不可もなくといった環境です. 流石ベンチャー企業といった感じで, オファーシートに書いてあった住所が既に違っていたり(引越したらしい), 開発チームとテストチームがあると書いておきながら実はそんな区分けがなかったりと, 中々刺激に溢れています. しかも, 前述した通り英語の鈍りがひどくて, 会社の人は何を言っているのか分からないので, コンピュータサイエンス関係の説明を理解するためにはかなり四苦八苦しています.

ただ, 幸運にも, 僕が入ったプロジェクトには, ルームメイトのオーストリア人がいて, 彼にアレコレ作業の内容を教えてもらっているので割となんとかなっています. また, 彼は(多分)修士or博士の人で, (多分)とりわけCMSなどのウェブアプリケーション(?)を専門にしている方らしいので, 話しているだけでも十分にタメになります. (といっても, 今のところ, Eclipseを使ったsvnやmavenなどの基本的なところから, JUnitやSWTBotなどのテストコード程度しか教えてもらっていないけれど...). もう一つ嬉しいことは, 偶然にも, オープンソースに貢献するプロジェクトに参加出来たことです. 恥ずかしながらこの年になっても未だ, オープンソースを使うことしかしなかった人間なので, これが人生で初のオープンソースへの貢献になります. もしかしたらいずれ公開されるソースコードのどこかに僕の名前が入るかもしれません.

とまぁ, 近況はこんなところです. 課題が(中途半端ではあるけれど)終わったので, ようやく心身共に安心した生活を送れそうです. ふぅ...

えっ, TOEFL...?
///)
/,.=゙''"/
/     i f ,.r='"-‐'つ____ 細けぇ事はいいんだよ!!
/      /   _,.-‐'~/⌒  ⌒\
/   ,i   ,二ニ⊃( ●). (●)\
/    ノ    il゙フ ::::::⌒(__人__)⌒::::: \
,イ「ト、  ,!,!|     |r┬-|     |
/ iトヾヽ_/ィ"\      `ー'´     /

2009-08-01

Walk Around Not Famous Areas in Prague

Today, I walked around Prague to find out the place, Oldrichova 49, PRAGUE 2 128 00, where I am going to take a TOEFL iBT tomorrow. Because this center is in not so famous area that it was difficult for me to find out, but eventually I found it! (it took 5 HOURS though...)






Well, I will try my best tomorrow.

2009-07-30

My Accommodation in Czech Republic ver. 2

宿泊先はこんなところでした. プラハ到着の1時間後にはIAESTE仲間とフットボールやってきたあたり, まだまだ僕も体力は衰えてないなと実感. 英語もボチボチおk. 時々早すぎて聞き取れないけど.




































































P.S.
今日は一緒に生活する友達2人とプラハ中心街を回ってきます.
課題...?
/)
///)
/,.=゙''"/
/     i f ,.r='"-‐'つ____ 細けぇ事はいいんだよ!
/      /   _,.-‐'~/⌒  ⌒\
/   ,i   ,二ニ⊃( ●). (●)\
/    ノ    il゙フ::::::⌒(__人__)⌒::::: \
,イ「ト、  ,!,!|     |r┬-|     |
/ iトヾヽ_/ィ"\      `ー'´     /

P.S. in P.S.
Monthly Reportや課題ってチェコ時間を基準にしてで提出できないのかな?
チェコはまだ木曜の朝9時だし...hmm...

2009-07-28

Leaving for Prague, Czech Republic




十時間後ぐらいに日本を出発し, プラハでバリバリ働いてきます. 9月20日ぐらいに日本に帰ってきます. 連絡先はgmailでお願いします. 携帯のアドレスでも多分届きますが, 受信にお金が掛かるので見ません.

さて, 今日は一日中パッキングしようと思っていたのですが, パスポートを紛失してしまい, 発掘したときには既に夜9時をまわっていました. パスポートが見つかるまでは, かなり鬱になっていましたが, 既に今はランナースハイのような気分です. 未だ準備は何もしていないのですが... まぁ, 宿泊先のPC周りの環境だけは確認したので, 他のものはきっと現地調達でいいでしょう.

むしろ深刻なのは, 明日の, miniSATの課題の締切りです. 期限後の提出も受け付けてくれるようですが, 遅延時間とともに減点されるそうなので, 極力早く提出しなくてはなりません. とりあえず, さっさと出来る限りのパッキングとminiSAT資料を印刷して, 機内でガリガリやってくしかなさそうです.

とまぁ色々とありますが, 重要なことは, 次の投稿はプラハからの投稿, ということです. うまくネットに繋げられれば, 写真などもアップロードする予定です. ではでは.

追記:
今回は, スーツケースなんて移動し辛いことこの上ない物は使わず, 山を縦走する時に何度もお世話になったLowe Alpineを使うつもりです. パッキングも, どこに何を入れるべきか, 今までの縦走経験から分かっているので, 結構すぐ終わりました. ザック最高! ...まぁ, 難点があるといえば, ちょっと汚くて若干臭うことか. あと鍵がかけられないところとか. 海外登山している人って, そこら辺のところはどうしているんだろう...

2009-07-26

Joint Workshop on Next-generation Computing System, Waseda University



7/27の月曜日に次世代コンピューティングシステムに関する合同ワークショップなるものが開かれます. 僭越ながら, 僕も参加することになったので, ちょこっとだけ宣伝します.

http://www.dcl.info.waseda.ac.jp/workshop/2009/index.html

内容は, 次世代コンピューティングシステム関する講演およびポスターセッションになります. 例えば, 僕の場合ですと, 「MACやWindowsなどのOSが複数同時に1つのPC上で動いているとき, どんな問題が起こるのか?」といった観点から, 次世代コンピューティングシステムについてポスター発表することになります. 実際は, 専門用語がもっと多く使われていて, コンピュータに詳しくないと結構理解しづらいとは思いますが, 大まかにいうと大体こんな感じのワークショップになります.

興味ある方は, ぜひぜひ参加して見てください. ちなみに, 上述のウェブサイトから各発表内容のアブストラクトがダウンロード出来るので, 当時来場する前に興味のある発表のアブストラクトを事前に見ておくと効率的に発表を聞いて回れるかもしれません.

以上, 近況報告でした. ではでは.

2009-07-22

My Accommodation in Czech Republic



地図上にマップされた地点が, どうやら2ヵ月間お世話になる宿泊私設の模様...

空港から近い...だと!?

中心街と勤務先から若干離れてるのはちょっと残念だけど, 自転車を使えば何とかなりそうな距離だし, 何と言っても空港から近いから週末は気軽に旅行出来そうなのが嬉しい. しかし, Czech上陸後の最初の週末はTOEFL iBTを受けることになる予定だし, 場合によっては9月の初旬にもTOEFLを受けるかもしれないので, 毎週末が楽しくなるとは限らないのが痛いところ. 加えて, 渡航日も研究発表日の翌々日だし, 少しでも体を壊してしまったら終わりだな. なんか, オワタ式ロックマンの気分だ.

とまぁ, 近況報告&予定報告でした. ではでは.

独り言:
Twitterを一週間分まとめてblogspotに投稿してくれる機能ないのかなぁ.

2009-07-01

complete migration of tango!


今日ようやくtango!のフルLinux移植に成功しました.

移植に失敗していた原因は単純で, Apache Serverがver.6.Xでは無かったことでした. サーバ側でcomet機能を使っているので, ver.6.0以上のapacheを使わないといけないことをすっかり忘れてた! とはいえ, これでようやく, Yahoo! Japanで発表したときの状態に戻すことが出来ました.

また, 発表会からはかなり日が離れてしまったけど, 発表会の反省やそこで頂いたアドバイスを踏まえながら, tango!の問題点を明確にし, 今後の方向性を絞りました. それなりに具体的なタスクまで落とし込むことが出来たので, なんとか次の行動に繋げていけそうです.

それらのタスクと並行して, ぼちぼちbig tableの勉強も始めようと思います. これがないとGAE上のウェブアプリケーションはデータベースが使え無くなってしまうので, 結果として, tango!が永遠に陽の目を見ることが出来なくなってしまいます. それに, tango!以外の面においてもGAEに御世話になる機会はあると思うので, きっと勉強して損は無いはず.

以上, ちょっとだけ毎日のモチベーションが上昇した一日でした.

2009-06-30

OffiSync

これは凄い! 使いこなせれば作業効率が格段に上がりそうだ.


OffiSync Provides Google Syncing and Searches Inside Office





2009-06-28

Twitter + Google Desktop on Linux

I saw my friend said to recommend registration of twitter on his blog, so I registered it! twitterかー, 面白そうだなぁ。

my twitter account


追記:
おお, Google Desktop on Linux + twitterが出来るっぽい! これなら, 結構気軽に使えそうだ.



-"hogehoge"を入力


-twittering!

※gmailのgadgetはメールアドレスが表示されているので消去してます.

2009-06-26

tango! on Google App Engine


調子にのって連続投稿です. すみません.

色々試行錯誤した結果, 何とかold versionのGWTを1.6.4にアップデートできました. そして, GWT 1.6.Xといえば, 云わずもがな, Java on Google App Engineができるバージョンです! というわけで, ささっとGAEも最新バージョンにアップデートして, 早速サーバにデプロイしてみました. 結果はこちら↓

http://tango-old.appspot.com/
※古いバージョンではまだApache Derbyを実装していないので, かなり無理矢理データベースを構築しています. 結果として, 非常に遅いです. 動かないときは, F5などを押して更新してください. 何回かアクセスすると, キャッシュヒット率があがって正常に動作するようになります. また, リソースを非常に使うアプリケーションなので, スペックの低いPCではアクセスしないことをお薦めします. アクセスすると, きっとフリーズします.

感想としては, "Googleすげえええええええ!!!"って感じです. というのも, 下図の左上にある飛行機みたいなアイコンをポチっと押すだけで, なんとサーバにデプロイできてしまったからです!



地道にweb.xmlとかwarファイルとかFTPとか弄っていたのが馬鹿らしくなるくらい, シンプルなデプロイメントです. というか, これに慣れてしまったら, きっともう従来のデプロイとかできなくなりそうだ...

とまぁ, 今だ若干の興奮を隠せませんが, とりあえず今日はこんなところで失礼します. ではでは.

Migrating from Windows to Linux




お久しぶりです. 最近, 久々に暇が出来たのでtango!の移植作業の続きをしました.

以前, Google Developer Day 2009でGWTについて色々と学ばさせてもらった甲斐もあって, 何とかWindows XP -> Linux on 64-bit architectureの移植が完了しました. ところどころwarningは出ていますが, 致命的なエラーをゼロにすることが出来たのでまぁ良しとします.

念のため, もしかしたら同じようなことで躓いている人もいるかもしれないので, 以下に移植のKey wordsを, 覚えている限りですが, 書き出してみます.

-JVM 32-bitをインストールして, 例えば, /opt/以下に置く
--GWTが32-bitのJVMに対応していないため
--Build PathでインストールしたJVMを指定
---ダウンロード先
-GWTは複数のバージョンを用意 (e.g. gwt-linux-1.5.X, gwt-linux-1.6.X)
--どうしてもコンパイル出来なかったらバージョンを変えてみる.
--僕の場合, 1.6.4だとGWTShell周辺が動かなかったのですが, GWT1.5.3に変えたらうまくいきました.

---嘘です. さっきやってみたらプロパティが上書きされてしまって, 動かなくなりましたorz
---別々のプロジェクトおよびワークスペースでやった方が良いかもしれません.
---参考: Issue 134 GWT hosted web browser does not work in 64-bit Linux
---ダウンロード先
-Eclipseは64-bitでもOK?(うる覚え)
--確か32-bitだとGUIが恐ろしいことになって, 使いものにならなかったと記憶しています.
--参考までに, 僕のversion: Eclipse Platform Version: 3.4.2 Build id: M20090211-1700

加えて, 情報として多少古い(まだCypal Studioを使っていた頃)ですが, 以下のようなページもあります.
-tango!プロジェクトの背景&開発環境


とまぁ, こんな感じにやっていったら何とかなりました.

何とかエラーが無くなったとはいえ, 今無事に動いているtango!のversionは2008年9月時点のバージョンなので, これから少しずつversionをアップデートしていく地道な作業があったりします. 加えて, GAEではjettyのcommunication機能が使えないから, サーバにアップロードできないという潜在的な問題もまだ解決していませんが, まぁそれは後で考えればいいか(笑). とりあえずはローカルで動かせるように頑張ってみるテスト.

2009-06-10

Android携帯でGmailからログアウトする方法




Android携帯では, Gmailからログアウトする機能がついていません. これなんて孔明の罠?

「How to sign out of Gmail on G1 phone?」
http://groups.google.com/group/android-beginners/browse_thread/thread/9f362779566197e7/874238837445fe51?hl=en&lnk=gst&q=log+out+account#874238837445fe51

苦肉の策としてデータリセットも考えましたが, どうやらcacheをクリアすればどうにかなるようです. 実際に試してみたところ, ちゃんとログアウト(?)出来ていました.

Link dev phone to a different account, WITHOUT factory reset!
http://groups.google.com/group/android-beginners/browse_thread/thread/4d1e0f9f80bc6fb4#

恐らくメールの通知機能を持たせるとき, Loginしているかどうかの状態を考慮してしまうと, 想定しなければならない振る舞いが多くなってしまったから実装しなかったのかもしれません. とはいえ, ちょっと不便を感じずには入られませんでした. というか, キャッシュのクリアによるログアウトって, 一般ユーザは理解できるのかな?

2009-06-09

Google Developer Day 2009



今日は横浜まで行ってきて, Google Developer Day 2009に参加してきました。サプライズとしてAndroidが搭載されている携帯を無料で貰えました。開発用なので勿論サポートは無いし, SIM差すと請求額がとんでもなくなるらしいから, 実質Wi-Fi環境でしか動かせませんが, それを考慮してもメチャクチャ使い勝手が良いです(文字入力を除いて). 例えば, カメラで取った画像は2タッチでgmailおよびpicasaに送れます. また, 動画ならば2タッチでgmailおよびyoutubeにアップロードできます.

当日, 横浜で何があったかは, ネットで検索すれば色々と分かると思うのでここでは割愛します. とりあえず, Google Web Toolkitのベストプラクティスや, Google App Engineでjavaを動かす時の仕様および注意点などを聞けただけでも個人的には大満足です. あそこまで至れる尽くせりだと, なんか少しはオープンソースに貢献しないとバチがあたりそうな気がします. 時間が空いたらちょっとやってみたい気にさせられました.

Google Web ToolkitとGoogle App Engineには御世話になるつもりでいるので, またこのような機会があったら是非また参加したいと思います.

以上, 近況報告レポートでした.


#以下、メモ
※注意: 誤字脱字・誤解誤認の可能性あり

Google Developer Day 2009 memo

[基礎講演]
Google Chromeによる利点
-Speed up
--高精度化
--HTML5: canvas, vide, geolocation, app cache/DB, web workers(マルチタスク化)

1. canvas
-javascriptはスケールでない.
-canvasは宣言するだけ(?)
-O3D
--web app(NOT flash)で高解像度の3Dが描画可能

2. video
video tag
-Ex. 動画そのものをjavascriptで回転
-HTMLだけで動く, not flash

3. geolocation
???

4. app cache/DB
connectionに不具合がえってもcache/DBで補完

5. web workers
canvasで動かすタスクをマルチスレッド化

「これら全てをweb標準にする」
-そのためのGoogle Chrome
--IE以外(firefox, safari, opera)は賛同
--IE8でどうなるかは分からない

web socket -> Unixのsocketライク(パンフレット参照)
notice -> ポップアップは別の形で(パンフレット参照)

Google Chromeプロジェクトは"chromium"で今も動いてる。
-いつでも参加可能。
HTML5を実装し, マルチplatform化した(パンフレット参照)

次は, Mobileと統合したnew techを!

[Tom moss]
androidは活発で, USAでは既にNo.2に.
-次はJapanへ進出

[NTT docomo Mr. nagata]
Androidへの期待
-今までのdocomoのサービスを反省し, Smart phoneへ

keyはdeviceとapplication.
-deviceは良い
--あとはアプリ開発
---アプリ開発が売り上げ曲線の傾きに影響すると考えている.
----「ケータイするGoogle」
----Docomo Pro series HT-03A

app, dev, costの正の循環に期待
6月末〜7月上旬に環境を提供

[Chris Pruett]
Android storyの話

download app
-directly download
--easy to get
-develop business

サプライズ企画:Android Phoneの無料配布
-androidを広げたい
-androidのキラーアプリはGoogle以外の開発者が作ると期待


[Daud Glazer]
social webの話
-open social

webの特長
-web connect
--web <---> doc
--web <---> open

Problem
-app ---> user
--app <---> user

Social Web motivates innovations.

[Mr. kasahara]
mixiの次のステップ
-communication service

Mixi platform
1. application
-inside mixi
--social application
--PCとMobileの整合

2. connect
-outside mixi

3. ビジネス支援
-広告: 1page = 0.01 yen
-課金: 手取り8割
-資金: 出資or融資

利点: marketing costが低い
-マイミクによる伝播を利用
--social networkの一つの魅力
---アイデア勝負の環境を提供

Ex. ハグ☆ミー
-ハグ友達を選択
--相手に通知(それだけ?)

OSDE with Eclipse plug-in
-OpenSocial hackathonで使われている

[Ex. Goo home]
2 or 3以上のappを統合
-Goo homeのあるgadgetのアクションが他のgadgetに伝播

[Google Wave]
Google Waveの話
product, platform: API, protocol:open source
-serverにユーザがアクセス

Google Wave Demo
1. insert sentnce
2. real-time chat
3. 3人目以降は時系列を参照可能
4. localfileからD&Dでアップロード
5. uploadしたものはスライドショー可能
6. Blogからもアクセス可能
7. twitter + wave
8. Gameもシームレスにプレイ可能
9. Gameの時系列(Ex. チェスの手順)も参照可能

Ex. API
-loggy
--real-time translation

まとめ
-wave.google.com
-code.google.com/apis/wave
-222.waveprotocol.org
-devアカウントを後日配布

[Mr. Ishihara]
他productの紹介
-Google Web Elements
--make blog pwerful
-MapsAPI ver.3
--3年ぶりのバージョンアップ
--Key less
-ルート検索
--近いうちに公開予定
-GTUG(Google Technology User Group)発足
--1,2 monthlyで活動
---詳細はGOogle Lightening Talk

Android phoneについて
-Wi-Fi環境を強く推奨(通信費用の関係上)

Key: Make Powerful Web By Yourself


----------------------
[Google App Enging]
GAE-request処理について
-分散システムに類似してる?
-Ex. 分散システムのスケーラビリティ
--Ex. データでは無く参照ポインタを伝播

まとめ
-Fan-out
-Geolocation Info
-Relationship Glaph
-membership question
-write時間を考慮する


-----------------------
[Java on GAE]
outline
-GAEとは
-On Java Support
-App Enging Datastore

使えるもの
-Java 6が動く
-servelet/lib
-Google interface

特長
-install / maintainance不要
-負荷に応じてリソースの動的割り当て
--自動scaling
-CPUやband widthに応じて課金
--入っていの規模まではFree

App Engineについて
-Load Balancingベース
-開発者はアプリにfocusして欲しい
-最低でも3つのサーバ
--高信頼性

注意点
-HTTPリクエストが30秒をこえるとExeptionを投げる
--長いbackground processの禁止
-sand-box内でのみ動作
--ユーザによるスレッド操作はダメ
---serverはok(?)
--File Systemのread禁止
---FS readは必要ないはず

servelet API 2.5
Jettyを使用
-しかしjettyの特長は使えない
--jetty-web.xml
--continuations(継続) ← tango!は動かない可能性高いorz

Software Service
-JBBCはダメ
--Relational Databaseはコンセプトと合致しない
---正規化は必ずしも必要ではない
-APIはAPIProxyを通してつかう
--AOPができる
---サービス前後のprofilingが取得できる
----debugが簡単に!

sand-boxについて
-制限
--JVM permission
---local file / socketの禁止
----互いに参照させないため
--ただし, JVM上で動くものなら全てok
---JRuby, Jython, Rhino, etc.

under constructing...
-tech theme -> async
-full text search
-mail receive
-Datastore import/export tool
-etc.

Data Storeについて
-dataの格納の仕方が違う
--big tableは動的に分割される
---一見、制限は無いように見える
--schemaが無い
---not strict
--NOT RDBMS
---RDBMSはpowerful過ぎる
----ターゲットと合致しない

storeはsimpleに
-App dev
-App message
-App environment service on GAE
-APP scaleするインフラ
--リクエスト量, データ量を重要と考えているため

Data storeの特長
-Entity
--object in Java
-Kind
--Class in Java, table in DB
---person
-key
--primary-key in DB
---person/person:44, /pet:8
-e-group
--Transaction in DB
-property
-- Column in DB
-friends
--1対多
---/person:32, /person:34

functions
-get()
-put()

soft schema
-App layerによって決定
--devが楽 based on 経験
-JDO/JPAのmete-def

移行のヒント
-databaseはRDBMSは置換できない
--designし直す
---Primary key
---transactionが必要かどうか
----結構大変かも
----何がrootか考える
-----userがrootになりやすい
------複数かどうか考える
---array, view, trigger, data移動

Ex. joinが使えない
-非正規化

まとめ
-AFDを永続化
-soft schema
-非正規化を恐れずに行う
--高速化と堅牢性のトレードオフ

参考資料
-Google developer relations japan
-google code


※次はGoogle Web Toolkit: ベストプラクティスから

追記:
----------------------------
[Google Web TOolkit: ベストプラクティス]
Introduction
-nontrival cache
-client side
-AdWardsUI

History
-Event Bus
-DI + MVC(Model, View, Controller)

3 themes
1. async
-AJAX, ID array for scaling
--Sync/Asyncを2つとも用意
-make arm torelable
-failureを1つの場所に!
--GWT.ranAsyncUI to split
-Abstract Got
-通信したらレンダリング

2. decouple
2.1 DI
easy test, wit, debug
-Connection's'
-Geust's'
--remove over connections
-Instant
--if(コンタクトIDs!=???)
-EventBus for tossing

Ex. Private onSuccess{
cb.onSuccess{
... // then, create a new contact
}
}

2.2 MVC(Model, View, Controller)
ブラウザ遅い
-model<----prefetch<--->View
--Model: Keep Simple!
--prefetch:
---class PhoneEditor
inteface G_Display{
// ハンドラを増やす(?)
}
--View
---Keep Simple, but still slow
---MochView

3. stateless
duplicate functions
-Phone.front() // safer
-Save
-Cancel

Dependency Interaction(?)
-No Global, No Service
-GIN - client
-GUice - service

Decoupling Advantages
LayOff
-tests run fast
--Store Action in Local
--After cancelling, We can test

Ex. FireEvent(GwtEvent(?))...
// 色々用意して
-editor.editPhone
-display ...
//verify
-vndate...
-assert...
-phone...
-assert...

User Should NOT notice Server restart
-Expect multiple Instances

Recap
-Get b-history
-Use EventBus
-DI + MVP FTW
-3 themes
--1. 同期/非同期を含める
---常に使う必要は無い. scaleするため.
--2. 常にdecouplingする using EventBus
--3. strive to archive statelessness

参考資料
code.google.com/webtoolkit/
-スライドあり?

----------------------
[Google & OpenSource]
Googleとopensourceの関係の話
-結構面白かったからyoutubeであとでみるのも良いかも!

Google Code
-CSの学生は理論が強い
--しかし, 実践に弱い傾向がある
---Google Summer of Code

ライセンスの話
-GoogleのライセンスはBSDが多い
-Google Chromeは最もexposureなproject
--processやgoogleのstrategyもオープンにしている

プロジェクトによってopenの度合が違う
-Ex. 広 GoogleChrome, Android 狭

----------------------
[Google Lightening Talk]
Google Technology User Groupが各5分で自分のプロジェクトを発表
-Key by matsuo-san
-JRuby on GAE
--800 files to 100 files
-OpenSocial
--hackathon is opened for even begginers
-???VM

GTUGの発足
-メンバー募集
-活動は1,2ヵ月に一回

----------------------
[Google Wave API]
Google WAVE APIの仕様の話?
-途中から興味が無くなり, 寝惚け眼で聞いてた

3 waves type
-1. oneself
-2. 2 participants
-3. more than or equal to 3
※詳細は基礎講演のメモ参照

2 part
-1. embedding
--archtecture
---include javascript

method
-LoadWave
--ID
-SetUIConfig
--style???
-AddReply
--Visit -> reply
-Follow???

-2. Robot
???
※理解できなかった

2009-06-07

IAESTE派遣準備会





先日、IAESTE派遣準備会に出席し、自分の研究内容を英語で発表してきました。発表形式は、通常のプレゼンテーションではなく、ポスターセッション形式でした。実は人生で初めてのポスターセッションだったので、内心結構緊張してました。研究内容を英語で説明することはそこまで難しくは無かったけれど、ポスターセッションの発表方式に慣れるまでに四苦八苦しました。

というのも、一応ポスターセッションがどういう発表形式なのか事前にGoogleで調べて下記のサイトに辿りついたのですが、今回の場合、10分以内にきっちり収めないといけなかったからです。

ポスターセッションの実施例
http://www.otaru-uc.ac.jp/~egashira/post/poster.html

実際に、audienceから貰えるEvaluation Paperという評価表を読むと、"Learn Time Management"という文字がありましたw。ポスターセッションといえど守るものは守らないといけなかったようですorz。とはいえ、評価を頂けることは貴重なので、僕としては有り難いかぎりです。

今回の派遣準備会に参加してもう一つ有り難かったことは、他分野の技術者と話せたことです。皆、理系でありながら英語も流暢にしゃべれる方々なので、高い目的意識を持っている人も多く、話をしていてとても刺激的でした。まさに"しゃべれる理系"って感じでした。

僕の派遣まではまだ約2ヵ月、派遣が終わって帰って来るまで約4ヵ月弱ありますが、派遣後に集まって話をすればきっともっと面白い話できるのかなぁ、と妄想してます。IAESTE学生委員が幹事をしてくれたら嬉しいのですが、そうでなければ、多分きっと僕がまた幹事になるでしょう(笑)。

とまぁ、そんな近況報告でした。ではでは。


#以下、メモ
※MAX = 4, MIN = 1

Contents:
# 説明はわかりやすいか、論理的であるか。

# 聞いている人の興味を惹く説明であるか。
-3: 観客に分かり易い発表だが、主要な点をもっと明確にする。
→Ex. 次世代OSの利点を知ってもらい, 他分野へ貢献できること, または他分野から貢献できることを探る.
-4: 特に無し。
-3: 特に無し。
-3: 特に無し。
-3: 特に無し。

Visual Aids:
# 提示されている情報に論理的な流れが認められるか。
# 文字の大きさや形式などは読みやすいか。
# 発表内容を理解しやすくするために工夫されているか。
-4: よいスライドだが、各スライドが詳細過ぎたかもしれない。
→イラストがあれば, もっと簡潔なスライドに出来たはず.
-4: 特に無し。
-3: 特に無し。
-3: 特に無し。
-3: 特に無し。

Presence:
# 発表者に熱意や意欲があるか。
# 説明を聞いている人に対して、発表内容を伝えようとする姿勢は感じ取れるか。
-4: 楽しそうに研究の発表をしている雰囲気が良かった:)
→満点ktkr。
-4: 特に無し。
-4: 特に無し。
-4: 特に無し。
-4: 特に無し。

Pronunciation:
# 英語の発音は適切であるか。
# 聞き取りやすい英語表現であるか。
-3:一般的に良かったが、ときどき日本語訛りが聞こえる。
-4: 特に無し。
-3: 特に無し。
-4: 特に無し。
-4: 特に無し。

Response:
# 質問に対して的確な答えを述べることができるか。
# 質問に対して即座に対応できるか。
-3:よい回答が出来ていた。しかし、長すぎる回答は、結果として観客の注意を削ぐかもしれない。
-4: 特に無し。
-2: もっとシンプルに回答した方が良い。
-3: 特に無し。
-4: 特に無し。

Body Language:
# 説明をする際の身振りや動作は適切であるか。
# 発表者と聞いている人とのコミュニケーションはきちんと取れるか
-2: 特に無し。
-4: 特に無し。
-2: 特に無し。
-3: 特に無し。
-4: 特に無し。

Other Comments:
-ポスターに顔を向けている時間より、観客に顔を向けている時間を増やすと良い。
-一般的に、丁寧に解説された発表は聞き易かった。しかし、少ない専門性はあなたの主張の印象を弱くするだろう。
-発表中は頭を掻かないw
-冒頭の説明に時間をかけ過ぎていた。"Learn Time Management", もっとうまくなるでしょう。
-最後のReferenceのスライドは必要無いかもしれない。
-全ての観客に平等に注意を払うべき。
-時間を気にして、Time Managementを図るべき。
-簡単に分かるように説明してもらえたのが良かった。

2009-05-22

LRT Unit 1-4




うーん, まだまだブレインストーミングに時間かかり過ぎだな. きっとまだまだ妄想力が足りないんだろう. しかしまぁ, うまく時間制限をかけてあげればTOEFL iBT writingの良い練習にはなりそうかな.

Unit 1, Lesson Review Task
1. What are your goals for learning English? Why?
There is one specific goal for learning English; specifically, because of this purpose, I take this Tutorial English course.

I want to brush up my speaking skills because I am planned to visit Czech Republic to work as an intern on this summer vacation, through IAESTE Exchange program. In this program, I will work at a software engineering company in Prague, Czech, so I am required somewhat high English abilities, such as to fluently and efficiently communicate and to discuss some technical problems. However, there are few opportunities to speak English in Japan; subsequently, my English speaking skills will rust out even if I read a lot of English textbooks. To solve this problem, this course, Tutorial English, clicks with my purpose to achieve, so I took it to improve my English speaking skills higher to overcome problems I will meet this summer.


2. Explain why it is important to clarify the meaning of something you haven’t understood. Give two examples of Conversation Management language, from the front page of your textbook, in your answer.

Clarifying the meaning of what I have not understood is definitely beneficial for my future works, for the following reasons.

First, I will meet same problems anyway if I leave clarifying the meaning of a word. In addition, clarifying the meaning may take some bothersome steps because there are words which have many meanings in it. However, I can cut such waste time if I just say "What does xxxx mean?" at that time. As this example shows, clarifying the meaning is beneficial for future works.

Additionally, I can expand my vocabulary network if I use the phrase, "What's another word for xxxx?", in each time when I meet unknown words. Expanding vocabulary has a positive influence on my images, such as my image of maturity, which may make what I say in discussion persuasive.

In conclusion, I strongly believe that clarifying the meaning of what I have not understood is beneficial for my future works.

---------------------------------------------------------
Unit 2, Lesson Review Task
1. Which one of your English skills would you like to improve the most? How can you work on it during this course?

I would like to improve a listening skill the most, and I hope I am able to brush it up during this course, for the following reason.

It is because comparing 4 skills, which are reading, listening, speaking and writing skills, a listening skill is the lowest skill for me, based on my TOEFL iBT score. As I said in previous lesson, I desire for studying abroad and therefore I have to take some steps. Taking a good score of TOEFL iBT, which is an examination for non-native students to study abroad, is one of the steps. I have taken this exam several times, but a listening score fluctuated widely, so I want to take a good listening score constantly. For this reason, in my opinion, I should take an advantage of this course; specifically, I should go to a booth on time and prepare for each unit before lesson, as a tutor mentioned on his comment. Doing this stuffs, I will take an advantage, and consequently I will take a good listening score of TOEFL iBT.

2. Using the language from Unit 2, describe the character of one family member, one of your friends, or a famous person you see in the media, such as your favorite musician and discuss how compatible you are with that person.

My best friend is a so strong-will person and therefore he is often described as a self-centered person. However, because of the characteristics of him, if you ask me, I am compatible with him.

First, he strongly values to spend his time for himself, which is one of the reasons why he seems to be self-centered, but he also values others to spend their time for themselves. In my opinion, because of this point of view, our relationship is so even-tempered that we get along with each other for a long time.

In addition, he always clarifies his place with strong will. If you ask me, most of Japaneses, maybe including me, tend to avoid discussing with others. I consider that they are potentially scared to lose their friends through discussion, because they are hardly educated about how to discuss in the compulsory education term. However, he does not care about such a thing, and always clarifies what points we conflict or what points we misunderstand, with strong will. Therefore, I am able to deeply understand what he thinks, so I get on well with him.


---------------------------------------------------------
Unit 3, Lesson Review Task

1. In what ways can you use the Internet to improve your English language skills? Are these part of your study plan?

There are numerous different ways to improve our English language skills using the Internet; however, I believe that the ways related to cause interactions are the most effective ways of all ways using the Internet.

First of all, we are able to brush up input skills, reading and listening, by ourselves without the Internet, but output skills, writing and speaking, are improved only by limited ways such as interactions between learners. Subsequently, we better take advantage of improving output skills using the Internet because the Internet can cause interactions easily. For example, I have some foreign friends who are also a learner of English as well, but most of them do not stay in Japan, so we cannot meet frequently. However, some of softwares, such as Skype and MSN messenger, can connect us using the Internet. Also, the softwares can let us communicate with almost no delay, even if we have a very long distance such as between Japan and France. If we could not have used such a technology, the Internet, we have not practiced in such a way.

Hence, I believe that we can brush up our English skills using the Internet in a way to communicate with foreign friends.

2. Using the language from Unit 3, state your opinion about the Japanese education system, support it and elicit agreement.

I do not believe that the Japanese education system is the best way to bring up Japanese people. Specifically, the system should conclude an education of how to succeed a discussion, because as far as I am concerned, Japaneses often discuss same topics as what they have discussed before. Don't you agree with this problem?




---------------------------------------------------------
Unit 4, Lesson Review Task

1. Why do you think there is an “English only” rule in the Tutorial
English booths? Do you stay in the booth during the break? Why or why not?

Some of students may say that they would like to go out from the booth to speak Japanese during the break; however, staying in the booth and talking with classmates in English provides me with motivations to study English, which can be connected with a reason why there is an "English only" rule in the classroom.

First of all, talking with classmates in English during the break encourages us to study at English much more because we are able to notice how difficult practical English is at that time. For example, when I took the break in Unit 4, I talked with Takahiro about his transfer. Being different from when the class goes on, during the break we often talk about real situations, which is a little more difficult to explain than in class activities such as a role-play situation. Therefore, we are required to explain complex things; in other words, we have the time to use down-to-earth English. Needless to say, this practical communication in English often causes miscommunication, but also it notices us that we should improve English skills to communicate better. As this example shows, I believe that talking in English during th break stimulates us to study English much more.

In conclusion, I strongly believe that staying in the booth and talking with classmates in English provides me with motivations to study English.


2. Using the language from Unit 4, introduce an issue that you are
concerned about. Why does it concern you? Is there a solution?

One problem facing Japan is so concerned about a problem that it makes the matter worse than the situation that we do not know it, because of less of information. I strongly recommend any institution and any person that are going to publish something important to inform, to consider the point of view from the opposite side. Also, ordinal people should know that information are often lacked of fairness.

For institutions and someone related to publish, what I am trying to say is that we do care about how much we can publish information fairly. Ideally, the publication should be completely fair, but defining the common fairness among all people is difficult, so I suggested we should be concerned about how much we are able to make the publication get close to be fair.

The important of fair publication is that we can consider the matter from two sides carefully and help to get know of the truth; also, it lets us prevent from being too concerned. Through the Japanese mass medias, we are easily aware that the mass medias are rarely concerned about fairness; for example, none of mass medias agree with the statement and behavior of what Japan prime minister says, even if the statement and behavior are assessed to be highly praised by other countries.

Although I mentioned above about the problem of fair publication, the solution is so simple that we, ordinal people, just know how to evaluate information, which means that we just care about what information is lacked. Some publication may have no lacked information, but considering forewarned is forearmed, suspecting published information will be worthwhile.

Finally, most of Japaneses are taken for granted that published information are fair, true, and unmalicious; however, as we cannot avoid making a mistake, and also not all people are reliable, we have to care about how to evaluate information.