2016年6月28日火曜日

我が強い、連絡のとれないメンバーへの対処

先日、とあるプロジェクトが学科内の講義で行われていると書きました。
院生全員が1班につき 1〜2人くらいでPMをしています。僕もやってます。

中間の時期になるとPM同士で集まって話し合いをするのですが、そこでの出来事。

「なかなか連絡がとれないメンバーをどう対処するか?」

いろいろやってるらしく、
連絡ツールを使ったり、同級生から呼びかけたり、講義終わりを捕まえる等々...。
ただし、

これでも連絡をくれない

らしいのです。
どうやら、他のメンバーとも連絡を取っていないらしい。
ただし、テーマに対しては妙に意欲的らしく、自分の案を通したいらしい。
どうやら、「自分の案が最強だからPMにも連絡しなくてもいいもの」とのこと。

え、どこからそんな自信が生まれてくるの...。

とりあえず、嘆いてもしょうがないので、僕がそのPMの立場で考えてみた。


  • 自由にその子の好きにやらせてみる
  • リーダーを変える
  • 他班のPMが会議に出てみる

の3つが考えられそう。

自由にその子の好きにやらせてみる」というのは、投げやりなように見えます。
しかし、根拠はある。
 僕は教職をとったことがあります。子どもたちの中にはグループワークができない子が当然います。そういうとき、どうするか?自由にさせてあげればいいのです。無理にグループに入ってもらう必要はないのです。その子が気づくまで放置プレイです。「え、それじゃあ永遠に入ってこないのでは?」と思うかもしれません。大丈夫です。ほとんどの場合は入ります。なぜなら、グループワークの方が1人でいるより楽しいからです。(ここが重要なのですが...。)人間は、ほとんどの場合、社会的な生き物なので1人は寂しいのです。楽しくないのです。つまり、この方法は人間的な側面を利用したグループワークの作り方、だと思います。
 ただし、この方法が使えるかは実際にやってみなければわかりません。例は子どもの場合です。今回は大学生。もしかしたら、さらに引きこもるかもしれません。(もしそれで超大作ができれば、一応ウマウマなのですが...。)さらに、時間的制約がある場合はなおさら取りにくい方法です。班を2つに分けるようなものですから。

リーダーを変える」といのは、現実的な方法かもしれません。
 その子をリーダーにしてしまえば、もう後はついていくだけです。もしかしたら、強力にリーダーシップを発揮して大成功するかも。あわよくば、グループの大切さに気がつくかも。
 ただし、この方法はその子を増長させる原因になるかもしれません。この後さらにPMのアドバイスを聞かなくなるかもしれません。また、その子以外が従うだけの立場になるので、心情的に可哀想です。

他の班のPMが会議に出てみる」というのは、客観的にグループを判断する方法です。
要するに、うまくいっていないことを外部から指摘してあげるわけです。「え、その班のPMが言えばいいじゃん」と思うかもしれません。しかし、現に連絡も取れないのです。聞いてないも同然です。また、班のPMは参加者の立場なので客観的になれないかもしれません。なれても発言力が弱いです。
 これは特にデメリットはないと思いますが、会議に出てみたPMの話し方次第です。もし、ケチョンケチョンに言っちゃうと、その子はもう来ないでしょう。だから、話し方がわかるPMを読んだほうがいい。

だいたいこんな感じでしょうか。僕は最初の「自由にその子の好きにやらせてみる」を推したい。
僕だけの考えなので、他にもベストアンサーがあるでしょうが、とりあえずここまでにしておきます。こんな対処があるぞ、という方はコメントくださいお願いしますm(_ _)m

でも、ま、大学生になって連絡もできないのが悪いのだけど。

2016年6月21日火曜日

アイデアのつくり方

大学ではアイデアを出し合って企画する講義が多いです。
僕たちの学科にも大学 1年生と2年生が、あるテーマに沿ったプロジェクトを組む講義があります。そして大学院生はそのプロジェクトマネージャー(PM)を行う必要があります。

その講義の中で紹介されていた本がありまして、
ジェームス・W・ヤングの「アイデアのつくり方」です。

先日、本屋さんで手にとって、安かったので買ってきました。800円です。
しかも、本文は100pもないです。ちょー薄い。
ただし、この本のふれこみは、

「60分で読めるけど一生あなたを離さない本」

です。また、あらゆるアイデア本の祖なのでは?という本です。(正確にはわかりません)
発売されたのも1988年と、30年くらい前です。

書いてある内容はとても簡単で、
  1. 情報(事実)を集める
  2. 情報を理解する
  3. 他のことに没頭する
  4. ユーレカ!(見つかった!)
  5. アイデアを具体的にする
以上の5つだけ。どういう意味なのかは、本を読んで理解してほしい。(僕もあまり理解してなかったり...)

しかし、理解できそうで簡単そうなのに、この本の著者は「実践することは難しい」と言う。
なるほど、確かに。
「知っていることと、それを行えることは違う」とよく言う。

そう思いつつ、僕は研究に必要な情報をカードに書く作業をしようと思います。
ぜひ、買って(借りて)よんでみて!

2016年6月16日木曜日

ie人狼2回目振り返り

結構頻繁に人狼をしています。
今回は振り返るけど、いい点、改善点しか示しません。(振り返りメモに人名があるので書けない...。もし、参加者の方がこのブログを見ていてよければ、それも載せます。)

以下振り返り

今回の反省をまとめます。
良かったところ
・人数が多く、その村なりの楽しみ方ができた。
・各々が自己紹介できた。
・人狼を苦手と思う人がいなかった。(予習ページがあると、なお良い)
・狐勝利を出せた(一般的に勝利できないので)
・PCに配役を表示して、周知しやすい環境にした。
・観戦者が多かった。
・Twitter周知はわりと良かった。
・思い切って他の研究室に話しかけたら、意外に参加してくれた。
・酒飲みということで、たくさんのお菓子とお酒を参加者が自主的に持ってきてくれた。そのため、人狼で吊られても楽しくない思いがなかった。
・twitterでの人狼推理は楽しい。

改善点
・人数が多いと、人の名前が把握しづらい。
-> ガムテープで名前を書く?
-> プレートを置く?
-> スライドで表示する?
・人数が多いと、ゲーム進行が遅くなる。
-> 遅くなっても楽しめるようにする?
-> 少人数(8人まで)にする?
・自己紹介の仕方が甘い
-> 興味のあること、所属、今やってること、使ってる言語、押しキャラ
・アプリの問題で、狩人二人設定や背徳者を選べない
-> こちらで簡易なアプリを作る
-> ついでに推理ツールを導入する
・酒飲みでは思考が落ちる、または酔ってしまう(それは狙い通りなんだけど)
-> 目的を最初で説明する
・初心者への配慮がたりない?
-> 経験者はフォローを
・村人が吊られたがっている(別に悪いとは言わないけど、TRPGとしてどうか)
-> 「積極的に生きようとしてください」とお願いする。
・twitterでの推理は、最初は参加するけど、あとあとダレる。
-> 墓場は基本twitterでの推理にして、あとは自由に。柔軟性を持たせる方法を

2016年6月13日月曜日

ie人狼振り返り

僕のいる学科ではアナログゲームが流行り始めています。
ちょうど人狼をやりたいという要望が多かったので、人狼アプリをダウンロードしてGM役を引き受けています。

今後の人狼の参考にという意味で、人狼を振り返ります。

以下振り返り

人狼振り返り

開始時刻が30分以上遅れた
-> 即日だったため。ワンナイト人狼などに変更できるようにする。

狼1狂1占1狩1村3
狼が即釣れてしまう。占いが初日に出ないパターンがある。
出ない理由は、占いと狂人が占いとして出やすいため、狩人が迷うから。
セオリー的には出た方が1/2で守れるし、狼は基本的に噛みに来ないからいいと思うが、今回は初心者もいたので残念ながら、思考が足りなかった。

この構成で3ゲームしたが、2ゲームほど狼RTAが続いた。

狼2狂1占1狩1霊1村2
割と村側が強い。金川さんが発言力が強いためもある。人狼アプリでは、人狼同士の会話がないのが難点である。

狼2狂1占1狩1霊1村2役欠けあり
占いが欠けてしまうと、狼側が相当な有利になる。実際、狂人が占い騙りをして、村側は全員信じてしまった。そのため、役欠けはチャットがない限りしにくい。

動画を見て
狼1狂人3占1狩2村1の構成は面白そう。占いが大量に出てきそう。

今後
狐と背徳者を入れる、共有者を入れるというのがセオリーかな。
役欠けは狼側が不利な時に行うと良いかもしれない。
あと、タブレットの電池が減るため、充電もする。議論時間は4~5分くらいがよいと思う。twitterによる推理を導入したが、tweetする人は少なかった。墓については、このままにしておいて、今後考える。

2016年6月7日火曜日

TensorFlowソースコード読み会のメモ

# 5/21 ~ 22 ソースコード読み会
私たちの院にはソフトウェアシステム論という講義があります。
学生が読んでみたいソースコードを持ち合わせて、読んでいくという講義です。
今年はTensorFlowを読むことになりました。
以下、メモをカテゴリ別に"自分向けに"読みやすくしたものです。時系列順ではありません。だから言ってることほぼわかんないかも。

以下メモ

## C++ に関すること

* c++ raii
ポインタを宣言をしたところで、ポインタの解放の仕方を定義する
スマートポインタともいう。arcとも。

* <class T>
<typename T>と大差ない。

* thread pool
あらかじめスレッドを何個か作って、あとあと仕事を任せる。
仕事を任せるにはsynchronized queをつかう。

* auto
http://d.hatena.ne.jp/prettysoft/20101113/1418577983

* 引数に&が入り乱れるのはC++のだめなとこ?

* Copy()
 = 0を入れないとリンカが怒る
なぜ?

* C++は間違えるとぬるぽする

* 初期化する前の変数を代入するとぬるぽで即死

* ...ってなに?
可変長引数

* .*は何?
メンバへのポインタ演算子?

* _から始まる変数(あっとんさん)
C++ の場合は意味がない。強いて言うなら、自動生成されたコードの場合は、_をつけて変数の重複を防ぐ場合がある。
pythonには意味があって、インスタンスという意味がある。
obj-cにもまた意味がある。調べよう。

* Eigen
C++テンプレートで実装された線形代数ライブラリ

## Python に関すること

* p self.__dict__.keys()
でpythonのオブジェクトの中身を観れる
しかし、年に1回しか使わない?

## ソースコード読みに関すること

* factoryパターン
コンストラクタをそのまま使うのではなく、使うオブジェクトに頼んでもらう。
newの中になんでもしてはいけない。
C++ではその処理にチューリング不可能と書いている。
だから、オブジェクトに作らせたほうがいい。
積極的に使ったほうがいいパターンの一つ。

* return 0 or 1
古い。cobraからきてるはず。
関数の戻り値は複数戻してもいいはず。なぜならばレジスタは複数あるから。

* printfよりexitを
デバッグ時に追えなくなる可能性がある。

* メモリアロケーションチェックは無駄?

* 初期化は最初は読むのを飛ばす


## その他のこと

* SWIG
sinplifyd wrapper and interface generater
C/C++を他言語に接続するためのOCC。

* fortranとvector machine
なにか関係がある

* snprintf()を使え?
C99の定義らしい。なぜこれを使うのだろう?

* デバッガいじった
やらかした...
b : ブレークポイント設置
n : 一つの処理を進める (関数をスルー)
l : ソースを何行か読んでくる
l 数字 : 数字から読んでくる
l 関数 : 関数を読んでくる
p : 変数中表示
bt : バックトレース
up : 関数呼び出しに戻る
return : 帰る(Pdb)
s : 関数を見るn
blake list : ブレークポイントのリスト?
だいたいこんな感じか?もしかしたら間違ってるかも

* SWIGの定義ファイル
*.iにはいろいろ書いてある。

* rendez(vous)
出会う

* bariar?
スレッドが終わるまでまつ

* 309はlock
lockが抜けると、lはデストロイされる
lはスタックなので、デストラクタされる際にlock解除?

* ghcは歯が立たない
デバッガすら立ち上げられなかった

* lldb -p $pid
プロセスのデバッグができる。

* dst
destination

* cudaMemcpyAsync()
memcpy()でエラー?CUDAの中でだめなので、引数が間違ってる?
変数をGPUに送り込むところ。

* ExecutorState()
ワーカスレッド

* m_rightImpl.evalSubExprsIfNeeded()
supportしていなければ、folseを返す。
もしかしたら、folseを返せば上手くいく?

* LAUNCH_CUDA_KERNAL()
実際にGPU側で動く

* derived
派生

* rhs
right hand side

* async
ソフトでは計算が終わるのを待たずに、計算。
ハードの場合は、クロックに沿って計算する。

* ABCL
futer言語

* catastrophic error
破滅的エラー

* nvcc cccc.cc
コンパイルコマンド?

* cudafe
cudaコンパイラコマンド?

* vimでsyntaxを変えられる

* dirs コマンド

* 名前から機能がわかるのすごい
名前に努力があるの + 名前が何を意味するか推理できる

* ターミナル間の移り、ショートカットかっこいい
http://techacademy.jp/magazine/5155にある

* grep 探索するもの 探索範囲

* tensor flore
実はGPUのドライバだった。
機械学習用のライブラリってわけではない。
学習自体はsklearnがやっている。

* progressバーを廃止するとdown loadとinstallが3割増しで早くなる?

* bazel
ビルドツール
それにしてもビルドソフトって何が嬉しいんだろう。
規模が大きくなったコードにしか使わないイメージ。

* ゲーム専用マシンを買うとGPU機が買える?


メモ、以上です。

今後勉強したいことまとめ
・bazel ビルドツール(ビルドが簡単になるみたいなので)
・llvm デバッガ(挙動追跡する場面がいくらかありそうなので)
・Unix コマンド(特に検索系)
・python
・TensorFlow

多いな...。
Unixコマンドは即使うので、勉強しがいありますね。
pythonは今後必要になるかも。

2016年6月3日金曜日

一ヶ月まるまる放置記念と、今更自己紹介

なんと、一ヶ月まるまる放置してしまいました。

どうも、あきおです。

生活環境の変化と研究関連の雑用、講義課題の消化に明け暮れてました(言い訳)。

最近、ふと気付いたことがありまして、





僕、自己紹介してない!

いろんなblogを読んでみたけど、みんな自己紹介してる!!1

というわけで、反省の自己紹介。


名前:   
「あきお」ともうします。本名は伏せます(伏せきれてない)。

性別:    
男性だよ。

なにしてる人?:
情報系の院生をしています。専門は音声です。今は週1で情報講義のTAをしてます。

趣味は? : 
プラモデル作ったり、車の世話をしたり、映画見たり、ボドゲしたりしてます。最近は黒猫のウィズをしてます。その名前も「あきお」です。見かけたら友達申請よろしくお願いします。

だいたいこれでいいかな?

というわけで、これからも気ままに投稿します。

2016年6月2日木曜日

Facebookに登録すると顔写真を求められる?検証してみた。

講義でTAをしています。TAしていて勉強になることとか、やったことをまとめようと思っています。

しかし、今回はちょっとホットなものを先に書いちゃいます。

「先週の講義でFacebookに登録しよう!」という課題でのこと。

受講している学生の方々からトラブルの質問が殺到しました。
「Facebookに登録しようとすると顔写真を送ってくださいと言われます!」

ええ〜。そんなことあるの?
どうやらセキュリティチェックのために送ってほしいそうな。
こんなのあったかなぁ?と悩んでいる間に、結局、解決できず。

仕方がないので、検証してみよう!
※注意! 検証では使用しないGmailアカウントやFacebookアカウントを取得して検証しています。一度に大量のアカウントを取得することはいろいろ問題が起こります。くれぐれも軽い気持ちでしないように!(まあ、1つや2つは大目に見て...。)

facebookでセキュリティチェックされるので、避けられる方法がないか試してみる。
gmail 5アカウントとってfacebookに登録してみる。(メールアドレスは伏せます)

まず、gmailにアクセス。

まずはここから。
いうまでもないか。

1つ目のgmailアカウントは無事取れた。

2つ目に差し掛かった時、ここで問題発生。アカウント確認のために、電話番号かボイスメールを要求される。ブラウザが同じだからか?IPが同じだからか?とりあえずブラウザを変更して登録してみる。

セキュリティのためのアカウント確認画面

できた。あと、男性からその他に変えてみた。あと名前も、日本語にした。

どうやらfirefoxでは複アカはだめらしい。chromeでもダメなようだ。
サーバーではIPアドレスとOSが同時に取れるから、もしかしたら一定時間内でアカウントを複数作ろうとしたらセキュリティ確認がくるのかも。

しょうがないので、5アカウントを取るのをやめて2つのアカウントを使って登録してみる。

Facebookは、google先生に検索してもらえば一発ででてくる。

必要なことを記入しよう。

1つめのやつでできた。特に何も言われなかった。
特になにもなく登録完了。

2つめいってみよう。できた。なんだろ。んーーー。
表示は違うものの、難なく登録できるの図。

もしかしたらだけど、gmailと一緒で、同じIPアドレスからの複数アクセスがあったとき、認証が起きる感じかな?

少し調べてみると、こんな記事があった。
http://sns-lib.com/Facebook/2014/11/05/42

個人で複アカを持つことができないらしい。規約違反になるそう。
つまり、写真提示を求められている人って、もしかして、プロフィールを同じにして登録している?
この場合、確認のために写真提示はありうるかも。

じゃあ、どうするべきか。

プロフィールを変えたらいいんじゃないかな?

あるいは、個人アカで講義登録するか。