また1からこつこつと

最高はひとつじゃないと信じてまたがんばります。

グアムのIT事情 〜グアムに4日いて気づいたこと〜

久しぶりに家族で海外旅行に来ている。場所はグアム。
日本からわずか3時間半ほどで着いてしまう南国の楽園。
具体的になにをしているとかは別のエントリーで書くとして、今回はグアムのIT事情についてご紹介してみようと思う。

1. グアムでiPhoneを使う

自分はSoftbankと契約をしているiPhone5Sをメイン端末として使っている。
Softbankだと「海外パケットし放題」が使えるので、グアムでもそのまま使うことができる。
www.softbank.jp

グアムに到着し、入国審査を待っている間に現地キャリアの設定をしてみた。
f:id:mjk0513:20160314100100p:plain

割と簡単にキャリアに接続することはできた。

が、

まったくもって回線を受信しない。
感覚的には通信制限くらったときぐらいの遅さ。
いろいろ調べたら4Gではなく3G回線だったみたい。
でもタモンの中心街でも受信してないんだからこのキャリアはないよなという結論に至った...

2. グアムの公衆無料Wi-Fi

前述したとおり、基本的に携帯電話回線は使えないに等しい。TwitterのTLを更新するのに何分もかかる。
そんな環境だからこそなのか、グアムは公衆無料Wi-Fiが半端無く発達している。
どこのお店にいっても基本的にWi-Fiスポットを開放してるし、いま泊まっているホテルは各客室に1つずつアクセスポイントが設置されている。
また、ビーチにも「(ホテル名)-beach」みたいなSSIDでアクセスポイントがあり、これがめちゃくちゃ便利。
完全に観光客向けなんだろうけど、だいぶ助かった。

おかげで、ビーチから日本とSkypeをつなぐことができた。

3 グアムの現地の人たちの携帯電話

現地の人たちがiPhoneとかスマートフォンを使っているのを見たことがない。
もちろん使ってる人もいるんだろうけど、基本的にみんなガラケーだった。
タクシーの運転手さんがもってるのは簡易無線的なもので、ガラケーのようなかたちをしてる。
それで「 Four Japanese ◯◯ hotel」のように行き先を本部に伝えてた。

あと、町中で普通にケータイ売ってる。
アウトレットとかだけじゃなくて、普通のスーパーの一角にあったりする。

日本だとキャリアの直営店とかが多いから新鮮だった。

4. オーダーシステムがすごい

iPad mini をつかって客の注文をとり、厨房に流して提供する。チェックもその端末で行う。
AppleStoreの決済は店員の端末からできるようになってるけど、それと似たような感じ。
座席をタップすると明細がでてくる場所もあった。

キャッシュで払った人には当然お釣りを返さないといけないからレジに行かなきゃいけないんだけど、そのレジもいろんなところに備え付けられている。
データは一括で管理されてるから、レジも複数個あっても不便なことがなにもないんだろうなと。
すごく合理的で良いシステムだった。
日本でもAirREDIとかがあるからうまく活用できると思うんだ。
airregi.jp

5. 番外編 UNITED航空のアプリがすごい

成田からグアムまではUnited航空を使ったんだけど、公式が出してるiOSアプリがすごすぎてびっくりした。
航空券の番号と自分のラストネームを入力すると、どの飛行機に乗るかとか、どこから出るだとか、空席情報だとか、席のアップグレード申し込みとかが自分の手元の端末で確認できる。
さらに、Apple Wallet(旧Passbook)にも対応しているのでチェックインがiPhoneまたはApple Watchで行える。
自分はAppleWatchユーザだから当然AppleWatchでチェックイン。
f:id:mjk0513:20160314173314j:plain

さらにすごいのが、機内にWi-Fiが通っていてローカルネットワーク使って動画をストリーミング配信してる。だから飛行機自体にはディスプレイはなく、個々人のデバイスで見ろという考え。

おもしろい。

スマホで見ることを前提としてるから、こういう簡易スマホスタンドが配られた。
f:id:mjk0513:20160314174750j:plain


旅行の詳細については書く気があればまた書きます。
とりあえず、グアムのIT事情紹介でした。

高校生から大学生になりかけている今感じていること

高校生最後のテストが終わってから1ヶ月が経とうとしている。
うちの学校は卒業が3月の半ば過ぎとかなり遅いので、約2ヶ月ほど自由な時間がある。
同級生は教習所いって免許とってたりバイトしてたり卒業旅行に行ったりとしてるんだけど、うちは教習所にかかる費用は全て自分で出さないといけない系の家族なので今すぐには行けない。

だからと言ってなにもしていないわけでもないのだが。

それで、なんだか最近いろんなことを漠然と考えたり思ったりしているのでちょっと書いてみる。

「漠然としたモチベーション」の維持

テスト終了後から前回ポストしたプロジェクトに取り組んでた。
mjk0513.hateblo.jp
ただ、これも前述したとおり雨で中止になってしまった。
2週間くらい集中して取り組んで製作したプロジェクトだったのでとても残念だった。
僕は全体の統括とKinectとProcessingの部分の開発をしていたんだけど、Processingでがっつりコード書いたのは初めてだったのでいい経験になった。
数学が苦手な自分としては、作りたい機能にどんな数学的知識が必要なのかさえわからず手間取ったが、チームメイトのおかげでどうにか実装できた。
...といった右往左往がありつつやっと形になったので、なおさら悔しかった。
まあ天気に文句を言ってもどうしようもないので割りきるしかないとは思っている。

が、その後の「漠然としたモチベーション」がだだ下がりしているのがやばい。
ここでいう「漠然としたモチベーション」とは自分の行動全体の話で、ある特定のこと(仕事、勉強、家事 etc...)だけではなくそれ全体のことを指す。

なんだか生活にハリがなくなったなぁと感じることが多い。
1年くらい前はもう少し日々おもしろく過ごしていたような気がしてならない笑

もう少し「漠然としたモチベーション」を上げる努力をしないとダメになる気がするのでもう少し頑張ろう。

最近はスプラトゥーンばっかりやってる。
f:id:mjk0513:20160225201703j:plain
親友がWiiUごと貸してくれた。

高校楽しかったな&大学どうなるのかな

もうこれはタイトルどおりで、高校がめっちゃ楽しかったという話。
男子校も6年間通い続けるともうそこは天国なわけであって、もちろん大変なこととかめんどくさいこともあるけど基本的には楽しい。
うちの学校の雰囲気だからこそという部分はあるんだろうけど、本当に高校は楽しかった。
そして、大学。
大学はそのままエスカレーターで進学するので、全く知らない大学というわけではない。
しかも同じ学科にすすむ内部生の中にこの3年間ずっと一緒に遊んでたやつが何人かいるので楽しみでしかない。

ただ、それと同時に学校外の活動はどうしていこうかなと考えることもある。
そして学校外の活動でしりあったうちのメンバーたちとの関係って今後どうなっていくのかなぁと思う時もある。

もともとうちのチームは皆高校が違うんだけど、進学先もまたバラバラ。
歯医者さんになるやつもいれば美大に進むやつもいるし、音響の専門だったり映像系の大学だったり...

わけがわからない。

また謎な奴らの集まりになりそうなんだけど、最高なチームであることは間違いないのでずっと一緒にわいわい仕事していけたら最高だなと思ってる。

将来どうしようかな

大学もそうだがそこから先の進路もどうしたものかと考えることが多くなった。
教育学科に進学予定なので何事もなければ小学校の教員免許を取得することができる。
小学生のときから先生になることが1つの夢だったので嬉しい限りではあるが、小学校の先生になりたいわけではないのかなぁと思ってる。

教育学をしっかりとまなび、プログラミング教育の専門家になりたいな。

この3年間プログラミング教育をテーマとしてCoderDojoだったり他の活動もやってたこともあり、このテーマからは逃げたくない。
中高の情報の免許も取得して、現場のことも知りつつっていうのがベストかなぁと。

あと、個人のプログラミングスキルについて。
教育学科なのでプログラミングの授業とかはほぼほぼないので、自分の技術力を維持増進していくのはかなり大変だと思うんだけど、いままでもそうやって覚えてきたからこれはもう少し頑張ればどうにかなるかなって甘い考えをもってる。(どうにかなって!)
ハッカソン行きたいってずっと言ってる。(今年の石巻ハッカソンには何が何でも参加するぞ)
生の開発現場でもみくちゃにされる経験もしてみたい。

まとめると

漠然と思っていること・考えていることを言葉にしたらなにかまとまるかなと思ったけどそうでもなかった笑
またなにかあったらつらつらと書いていこう

あとこのブログの説明変えなきゃ。
"""高校生"""じゃなくなる。

(たぶん)高校生最後のプロジェクトが雨で中止になってしまった悲しい話

最近OpenFrameworksやらProcessingやらKinectやらをブログに書いてたけど、すべて今日(2/20)に予定されていたイベントにむけての準備だった
ただ、イベントの性質上雨になるとイベントそのものが中止になってしまうのでちょっと怖かったんだけど、なんと今日は雨です

☂☂☂

悲しい

前日にはもう中止が決定してたのですがそこからのやる気の無さがまずい

かなり準備してたからどこかで発表できる機会を作らないとだ

Simple Open NIをつかって、ProcessingとKinectを接続してみる

mjk0513.hateblo.jp
で、OpenFrameworksを使ってKinectと接続する云々と書いたんだけど、ちょっといろいろ厳しくて断念。
その代わりにProcessingでKinectと接続してみた。

SimpleOpenNI とは

公式サイトはこちら
Google Code Archive - Long-term storage for Google Code Project Hosting.

ProcessingとKinectをつなげてくれる外部ライブラリ
もともとOpenNIってのがあったらしいんだけど、開発元がAppleに買収されちゃったあと開発が中止されてしまった

[OpenFrameworks + Kinect] で検索するとほとんどこのOpenNIを使ってるサンプルばかりで、僕の欲しい情報があまり見つからなかったので、このSimpleOpenNIで開発することにした

まずはこれをProcessingのライブラリに追加する必要がある
Processingのデフォルト機能にライブラリを追加する機能があるので、そこに「SImpleOpenNI」と入力する。
(Sketch > import Library > Add Library)
そうすると自分のスケッチにSimpleOpenNIがインポートされる
これで下準備は完了

まずはサンプルから

cmd + shift + o でサンプルを開くことができる。
f:id:mjk0513:20160206202848p:plain
画像の通り、SimpleOpenNIのサンプル画面を開いていろいろ試してみると吉です
Userってのが一番分かりやすかった

関節の情報を取得してみる

サンプルを実行したら、次は実際に自分で書いてみたくなるのがプログラマってもんですよね
というわけで、今回は左手の動きをトラッキングするコードを書いてみた

import SimpleOpenNI.*;

SimpleOpenNI kinect;

void setup(){
  kinect = new SimpleOpenNI(this);
  kinect.enableDepth();
  kinect.enableUser();
  kinect.setMirror(true);
  background(0);
  size(640, 480);
}

void draw(){
  kinect.update();
  background(0);
  
  //認識しているユーザを格納する配列
  int[] userList = kinect.getUsers();
  
  PVector rpos = new PVector();
  PVector ipos = new PVector();
  
  for (int i = 0; i < userList.length; i++){
    if ( kinect.isTrackingSkeleton(userList[i]) ){
       kinect.getJointPositionSkeleton(userList[i], 1, rpos);
       kinect.convertRealWorldToProjective(rpos, ipos);
        
  //左手を検出する処理
       PVector leftHand = new PVector();
       kinect.getJointPositionSkeleton(userList[i], SimpleOpenNI.SKEL_LEFT_HAND, leftHand );
       PVector convertedLeftHand = new PVector();
       kinect.convertRealWorldToProjective(leftHand, convertedLeftHand );
       fill(0, 255, 0);
       ellipse(convertedLeftHand.x, convertedLeftHand.y, 50, 50);      

    }
  }
 
}

成功すれば、黒い背景に緑色の円が、自分の左手の動きに合わせて動くはずだ
draw()の中はループされるので、その都度background(0)してあげることで毎回円の位置が変わるようになっている

大事なのは

kinect.getJointPositionSkeleton(userList[i], SimpleOpenNI.SKEL_LEFT_HAND, leftHand );

の部分

SimpleOpenNI.SKEL_LEFT_HAND

というプロパティの部分を変えることで他の部位のデータを取得することができる
簡単にまとめてみた
(L = LEFT / R = RIGHT)

  • SKEL_HEAD → 頭
  • SKEL_NECK → 首
  • SKEL_(L/R)_SHOULDER → 肩
  • SKEL_(L/R)_ELBOW → 肘
  • SKEL_(L/R)_HAND → 手
  • SKEL_(L/R)_WRIST → 手首
  • SKEL_(L/R)_FINGER_TOP → 指先
  • SKEL_(L/R)_KNEE → 膝
  • SKEL_(L/R)_FOOT → 足
  • SKEL_(L/R)_ANKLE → かかと
  • SKEL_TORSO → 胸
  • SKEL_(L/R)_HIP → 腰

詳細はこちらをどうぞ
SimpleOpenNIの公式リファレンス
SimpleOpenNI

全身を作ってみた

幾つか部位をピックアップして全身を描いてみた
vimeo.com

これを使ってまたおもしろいことできそう

OpneFrameworksをいじってる

OpenFrameworksとはいろいろなツールがはいってるC++のキットで、いろんなことを簡単にしてくれる。最近ではメディアアートとかで使われることが多い。
で、僕もメディアアートをかじりたいと思い、oFを入れていろいろ書いてみた。

vimeo.com

日本語の情報も程よくあるし、かなり楽しい。
今はKinectとかLeapMotionと接続してるところです。

AppleがCM等に使ってる曲のプレイリストをAppleMusicで作った

タイトルままです
いろんなサイトみてかき集めてみた
まだまだありそう

一番のお気に入りは、AppleStore表参道のオープニング曲
itun.es
聞いてて清い気持ちになる

ちなみに番外編として、Appleのオリジナル曲で一番好きなのは、AppleWatchのReveal曲
www.youtube.com

夜遅くにこの曲とともにAppleWatchが発表された時のテンションの上がり方はすごかった

1から卒業アルバムを作ってるお話

皆さんの中学・高校時代の卒業アルバムはいろいろな思い出が詰まった大事な一冊だと思う。
うちの学校はとても不思議な事に卒業アルバムの最初から最後まですべて生徒たちの手によって製作される。
もっとすごいことに、その中には生徒たちの個人写真も含まれており、どんな格好で写ろうがどこで撮ろうがすべて生徒たちの自由に任されている。

控えめに言っておかしい

この伝統はどうやらかなり昔からのようで、僕が見た最古のアルバムが1997年卒の方々のものなんだけどその時にはすでに手作りだった。
当時はみんなパソコンとか使うわけじゃなく、写真を台紙に切り貼りして作る、文字通り手作り感満載のものだった。
生徒たちが作るからこそめちゃくちゃ見てておもしろい。たまにぶっ飛んだ代の卒アルとかあってすごい。今だったら確実にできないようなことを平気でやってのける諸先輩方すごすぎます。

さて、そんなこんなで今年のアルバムのお話。主管から「お前やりそうだからやれ」と言われアルバム委員になったわけですが、気づいたら委員長になっていた。
大学進学のための試験が終わってから2週間、怒涛の日々を過ごし身も心も疲弊したので、後輩くんたちへの警鐘という意味でもこのブログを書く。

アルバム委員の仕事

アルバムを構成する要素は以下のとおり。

  • 学校の写真(教室とか校舎全体とか)
  • 生徒全体の集合写真
  • 常勤の先生方の個人写真
  • 非常勤・職員の先生方の写真
  • 各クラスの個人写真 x5クラス
  • 各クラスのクラススナップ x5クラス
  • 部活動/委員会の写真
  • 行事の写真(入学式から最後の球技祭まで)
  • アルバム委員の編集後記ページ
  • 院歌

多い💢
これだけの写真をすべて生徒たちで撮影し、選定し、貼る。
この中で一番めんどくさく、大変な作業は先生方の写真撮影だった。特に、女性の先生方の場合にはその日いって撮らせてくださいと言うわけにはいかない。やはりメイクアップの時間が必要なのである。
また、うちの学校には「研究日」という制度があり、月-土の6日のうち1日は学校に来ない日がある。
さらに、非常勤の先生方の場合には、1週間に一度しか来られないというパターンもある。
それらを全てリストアップして1つずつアポを取り撮影していく作業はめんどくさいことこの上なかった。
今年は早い段階からGoogle Driveを委員会の中に導入していたので、ある程度は簡略化されたかもしれないけど、それでも負担は大きい。

ほんとに辛かった...

もちろん部活動の写真も撮らないといけないし、自分たちのクラスの写真も撮影しないといけない。外部受験組は3学期に学校に来ることがほとんどないので、すべて2学期に撮り終え無ければならなかった。これを取り逃すと厳しいことが待っている。

あと、非常勤の先生方は顔と名前が一致しないことのほうが多い。撮影するときもどの方がどの人でっていうのがわからない。
そんな時には学校の生き字引的存在の先生に聞くのが一番いい。写真見せて名前と教科を聞くのが早い。

写真の選定

先ほど、ほとんどの写真を自分たちで撮らないといけないと言ったが、そうでないものもある。それは、学校行事の写真である。
専属のカメラマンさん(業者)が行事に同行し撮影してくれた素材を提供してくれる。修学旅行や文化祭、ほとんどの行事に来てくれるためそこはすごく助かった。
…しかし、写真があったとしても大変な作業がある。
それが、写真の選定である。
なにがめんどくさいって、写真の枚数は多いし、しかもプロのカメラマンさんだからみんなうまい。写真の取捨選択がとても大変だった。
1日だけの単発行事とかだったらまだ枚数は少ない。院内大会とか、柔道納会とか。しかし、スキー学校や沖縄研修旅行などの複数日に渡る行事はもはや苦行。
単純作業というわけにもいかず、常に頭を使う作業なので辛く厳しい。

扱い方がわからない一眼

撮影は学校が持っている一眼レフを借りて行った。20Dだったかな。
僕はカメラを触ったことがほぼほぼ初めてに近く、今回で大分いろんなことを覚えることができた。
とは言え、ずぶの素人には変わりないわけで、扱いに苦労したことが何度もある。
なぜかわからないけどめちゃくちゃ暗い写真になっちゃったり、シャッタースピードが遅すぎてブレッブレの写真になってしまったり...
カメラわかる人が撮らないと大変なことになる。
幸い、委員のひとりにめっちゃカメラできる子がいて本当に助かった。

ひどい写真を復元すべく、AdobeCCに入ってるLightroomでいろいろゴニョゴニョやったり。中々大変な作業だった。

来年からはiPhoneを使うことをオススメする。正直iPhoneで十分な気がする。6Sで12MPだからね。

扱い方がわからないPhotoshop

うちの学校が契約している卒業アルバム製作会社は、データの納品が.psdファイルだった。
ただ、Photoshopなんてごく一部の人間しかちゃんと使えないし、初学者がぱっと習得できるようなアプリケーションではない。
幸い僕は文化祭を経てPhotoshopがなんとなく使えるようになってたので、とりあえずみんなに教えるワークショップ開いた。
学校のノートPC(Windows8 Core i3)にPhotoshopCCが搭載されているのだが、スペックがスペックなだけあり動作がめっちゃモッサリしてる。
途中でPhotoshopが落ちることもしばしば。劣悪な作業環境だ。
そして、説明したとしても苦手な子たちは必然的に作業進捗が遅くなる。それどころか「Photoshopアレルギー」とでも言えるような子たちはだんだん来なくなる笑
一昔前だったら手作業だったからみんなでぱぱっとできたのかもしれないけど、デジタル化したからこそ発生する弊害もある。
あと、学校のノートPCにしかPhotoshop入っていない子がほとんどなので(僕以外みんなそう)家での作業ができない。明日までに仕上げなきゃいけない作業とかは全て僕案件になる。厳しいですな。

これはどうすればいいんだろうな。もっと早くから着工する以外に解決策ない気がする。

データの管理

複数人で作業する場合などに一番問題となるのが、データの管理方法である。今回は学校が用意してくれた1TBのHDDに保存していったのだが、このHDDが曲者だった。
そもそもの問題点として、うちの学内ネットワーク環境とかの制約もあり、貸し出されているノートPC本体にデータを保存しておくことができない。毎回リセットされる。
だからすべての作業進捗は外部に保存するしか無いんだけど、HDDが1つだと作業が遅くなる。
例えば、膨大な写真データから使える写真を選定する作業。データはすべてHDDに保存されているわけだから、そのHDDが必要になる。
でも行事は複数あるし、並行して作業を進めたいがそれができない。
これはかなりイライラするものだった。
結局増やすために僕は自前でHDDを購入した。(ただし、Mac用にフォーマットしたためWindows機で読めないという事故が発生した)
ここ、来年以降どうにかしておきたい。

そして、もともと学校が購入していたHDDがかなり不調で、保存したはずの写真が消えていたり、psdファイルの変更が反映されていなかったり...
作業環境が劣悪すぎてほんと泣きそうになってた。

業者との認識のズレ

これは仕事してる人間からすると論外な話なんだけど、業者と打ち合わせした時に納期が曖昧なままになってしまっていた。
業者の方が「例年は2月中旬までやってますね」と言っていたので、てっきりそれくらいまで作業してていいんだろうなと思ってたんだけど、いきなり今週末でお願いしますとか、どうにか1週間のばしてもらったけどこれが限度ですとか。
そこはしっかり確認しておくべきだったなと反省してる。早いうちから納期わかってればあんなに辛い1週間過ごさずに済んだ。

できる人にしわ寄せがいく

これはもうどこの組織でもそうなんだろうけど、スキルがある人のところにしわ寄せがどんどん溜まっていく。今回はタスクが降り積もりすぎてて、ほんとに倒れるかと思った。
先述したPhotoshopの使い方とかもそうだけど、こればっかりはどうあがいてもしょうがない問題な気がする。
そもそも、こういった作業だったり、行事で委員やったりとかする人が固定化してしまうのが良くない。モチベーションもある程度あり、技術力もあるような人たちが少なすぎる。今回のアルバム委員、85%が高2の沖縄研修旅行の時の学年委員だった。もちろん好きでやってる子もいるだろうけど、大多数が「とりあえずお前がやっておけば大丈夫」みたいなノリに流されやってるパターンだ。
結局「誰ががやってくれるだろう」という心理なんだろうな。倫理の授業でやった「フリーライダー」、多すぎる。

まあ、辛い辛いと言いながら結局良いもの作れてしまうのでしょうがない。これは僕だけじゃなくて、委員みんなのことね。
おかげで良いアルバムを作ることができました。ありがとう。

来年以降への提言

最後に、来年以降の後輩くんたちへの負担が極力減るように、いくつか提言しておく。

【学校側への提言】

  1. 業者との連絡をもう少し蜜に。あと委員長を積極的に巻き込んだほうがいい。
  2. アルバム委員を選ぶときに、内部進学や推薦等で3学期も学校にいる生徒を中心に選ぶべき。
  3. HDDをもう一台購入したい。できれば2台。100GBで十分だから、作業効率を考えて購入すべき。
  4. アルバム委員がすべき仕事をもう少し明確に生徒側に伝えるべき。今年度は僕が資料を残すからそれを必ず伝えてほしい。
  5. (できれば)photoshopがサクサク動くマシンで作業させて... イライラの原因

【生徒たちへの提言】

  1. できる人にしわ寄せがいくのは良くない。
  2. 早め早めに行動したほうがいい
  3. こまめな保存は自分を救う(プログラマの格言)
  4. 担当教員と積極的に関わっていったほうがいい。少しでも疑問に思ったらすぐに質問。ホウレンソウの原則。
  5. かっこつけて一眼とか使わなくていい。iPhoneとかのスマホで十分。

とりあえずこんなところかな。気づいたら原稿用紙10枚以上書いてた。
これを書いている今(2016/01/30)の時点では、第一稿を入稿して現在校正待ちの状態。
もうちょいで作業が終わる。
山場は超えた。もうちょいだ。
終わったらみんなで”反省会”しましょう。


最後に、作業が一番の佳境に差し掛かった時に先生が差し入れしてくれたプリンの写真をお届けします。
f:id:mjk0513:20160130204651j:plain