2016年を振り返って

振り返ってみれば、2016年は超アクティブに色んなことに手を出した年になってました。

4月

  • 研究室配属

6月

  • 大学院入試

6-8月

  • 大学院の機械学習の授業を下履修 (Scikit-learnを使う実践的な授業で楽しかった)

9月

  • Android Experiments OBJECTSで最終選考まで残ったものの、本選考では選ばれず。準備不足が悔やまれる。
  • Kyoto Hack (CyberAgentのインターン)に参加した。 1週間かけてアプリを作るという課題だったのだけれど、特別賞(準優勝)だった。優勝したかった...!

10月

  • ME310という海外の学生とチームを組んで企業の課題解決をする授業に参加し始めた。(来年6月まで続く)

11月

  • Android Experiments OBJECTSから立ち上げたプロジェクトで東大のピッチコンテスト優勝した。
  • 初めて国際学会のSVをした。

12月

  • 初めて国際学会に投稿した!(ポスターだけど!)
  • 卒論がヤバイ!!!

昨年から続けてエンジニアアルバイトも行い、受注案件も何件か受けることもできて、 学問と技術、両方に学びのある一年になりました!

ただ、忙しくなりすぎた結果、そのエンジニアアルバイトを11月で一時退職することになったり、 進路に悩んだり、時間を作るために大学近くに下宿したりと、もちろんすべてが上手く行ったわけではないです。 他にも、全く女っ気が無いとか、金銭的に大丈夫なのかとか問題は数えだしたら切りが無いけれど...

来年に向けて

来年は既に、ME310で渡米2回、渡仏1回が確定しているので、まずは英語を話すことに抵抗がないようにしたいですねー。 それから、自分が何で将来お金を稼いでいくのか決めないとなって思ってます。

Scala関数型デザイン&プログラミングを読み始めました

Scalaを書いたりしているものの、ちゃんと関数型言語の勉強したことがないなと思い、 Scala関数型デザイン&プログラミングを読み始めました。

関数型プログラミングといえば、すごいH本こと「すごいHaskellたのしく学ぼう!」が定番らしいのですが、 Haskellの文法知らないのでHaskellも覚えつつ関数型の勉強するの難しいかなと思って、こっちにしてみました。

今のところ3章の途中まで読み進めたのですが、僕にとってはちょうど良い本という感じです。 Javaが書ける人がScala始めてみたけど、綺麗に書けない...!もっとScalaらしい綺麗なコード書きたい!!みたいな人に向けて書かれていそうです。 抽象度が高い話が多いので、ただ読んでるだけだと???みたいな感じになりがちなんですが、 この本は演習が結構多いので、実際に手を動かして読んだことをチェック出来て理解が深まりやすいです。

時間測りながら読んでたんですが、最初から3.3節まで演習込で4時間かかりました。 (まだ最初のほうなのに遅い)

カリー化ってこういう風に実装されてるんだーとか、Scalaコンパイラ型推論しやすいコードを書くのはこうするのかーみたいな新しい発見が得られて良かった。

演習解いた結果をここに残してます。(間違ってるかもしれないです!) github.com

5章の正格と遅延や、10章モノイド、11章モナド、12章アプリカティブあたりが難しそうだなって思ってるので、 最後まで完遂できるよう頑張る!!

環境と人

自分の人格とか性格を作るのは、環境に依存することが多いのではないかと思っていて、 行き詰まった時は思い切って別の環境に身をおくことが大事なのではないかなぁと思っている。 言語化出来て、これがダメだからこの環境はダメだ!って言えるところまで分かってるなら、 そこを改善したら良いのではないかと思うけれど、なんか上手く行かないな...みたいな気持ちなのだったら、 他の世界を見るのが良いのかなーと思ったり。

まぁ、自分がどうなりたいかが定まっていないのが問題なんでしょうけど、 問題が分かったからと言ってすぐに解決出来るわけではない。

僕は何でも自分で解決出来るほど賢くないので、いろんな人に会って話して見識を広めるしか無い!という感じです。

4月26日

HHKB Lite2を買いました

研究室用にHHKB Lite2のUSキーモデルを買いました. 毎日持ち歩くのは大変だし,もう一台買って大学に置きっぱにするのに2万円超えのキーボードは怖いのでLite2に. キー配列は慣れているので使いやすいのですが押し心地はPro2には遠く及ばない.

研究のテーマを決めたい

研究室生活が始まったとはいえ,B4向けの課題と輪講の準備くらいしかないので張り合いが無い. もっと追い詰められた状況で色々やりたいので,自主的に研究しようかなぁと思っている. UISTとかSIGGRAPHの論文を読んでまとめるみたいなことしてるんだけど,あんまり良いアイデアが出せない. アイデア出すの苦手なんだよなぁ...

岡崎体育ハマってる

なんか今更はまってて,最近めっちゃ聴いてる.


岡崎体育 「MUSIC VIDEO」Music Video


岡崎体育「FRIENDS」Music Video


岡崎体育 - 鴨川等間隔 【MUSIC VIDEO】

USキーによる日本語入力をUbuntuでも快適に使う

Karabiner

USキーに慣れていると、日本語/英語切り替え時が不便。 普段はKarabinerというソフトを使って左右のcmdキーを言語切り替えに割り当てていて、 左cmdキーを押すと英語入力に切り替わって、右cmdキーを押すと日本語入力に切り替わるようにしている。 同じようなことをMacじゃなくてUbuntuでもしたいと思ったけど、GUIで楽にキーリマップするソフトが見つからなかった。 色々調べた結果、iBus-mozcならキーリマップソフト入れずに対処する方法考え付いたので、書き残しておく。

環境

Ubuntu 15.10 64bit 日本語Remix

iBusに変更

思いついたといっても簡単で、iBusなら入力メソッドをコマンドで変更可能だということ知ったので、そのコマンドを発行するショートカットをUbuntuに割り当てるというだけである。 ただ、日本語Remix版だと入力メソッドがFcitxに変更されているので、これをまずiBusに変えないといけない。 (iBus 1.5の変更が大きくて使いにくいらしく、Fcitxになっているらしい) デフォルトの設定がFcitxなだけで、実際にはFcitxとiBusの両方インストールされているので、切り替えるだけで済む。 設定-> 言語サポート の キーボード入力に使うIMシステム をFcitxからiBusに変更。 f:id:yuki_tkd:20160420232935p:plain

Superキーのショートカットを空ける

MacでいうcmdキーはUbuntuでSuperキーとして認識されるんだけど、UnityのUIを使ってるとSuperキー押下でUnityメニューが出てしまう。 入力切り替えるたびに出ると鬱陶しいので、これを変更する。 スクショ撮り忘れたけど、この情報は調べたら割と出てくる。 一応文字で書いておくと、Ubuntu tweak toolをインストールして、開いた状態でAlt + F2を押すとUnityメニューみたいな検索画面が出るので、about:configと打ち込む。出てきたUnity tweak toolみたいなのをクリックして開くと、Unityメニューのキーショートカットの変更が出来る。 僕はUnityメニュー全然使わないので、Ctrl+ Alt + Shift + Spaceとか使わなさそうなキー割り当てた。

iBus-mozcを使う設定にする

設定 -> テキスト入力を開き、下のスクショのように入力ソースを割り当てる。 f:id:yuki_tkd:20160420234829p:plain この設定をすると、Super + Spaceによる入力方法のトグルは有効になるはず。 けど、左右のSuperキーで切り替えて欲しいので、もうちょっと設定する。

ショートカットキー登録

設定 -> キーボード設定を開き、ショートカットタブで独自のショートカットを選ぶ。 左下の+ボタンを押して、新規追加する。 f:id:yuki_tkd:20160420235502p:plain

名前がMozc On、コマンドが、ibus engine 'mozc-jp'

名前がMozc Off、コマンドが、ibus engine 'xkb:us::eng'

という二つのキーボードショートカットを追加する。

追加したキーボードショートカットをクリックすると、発動させるキーを入力させてくださいっていう感じになるので、 それぞれSuper R、Super Lを押す

終わり。動かなかったらログオフしてログインし直したりするといいかも。

Ubuntuちょっと癖あるし、Unity UI使いにくくて、やっぱDebian + Xfceにしとけば良かったかと思いつつあるけど、これで快適にUSキーで日本語入力は出来るぞ!! 論文が書ける!!

4月14日

在室管理システムとりあえず動いた

在室管理システムの動くものが出来た。研究室のメンバーのステータス一覧と、新規ユーザの追加やステータスの更新が出来るようになった。 あとは、BLEのタグを使って研究室内に居るかどうかチェックしたり、IFTTTでhttpリクエスト投げれば良い。

晩ごはん作った

下宿してなくて、自宅生なので親にご飯を作ってもらってるのだけれど、 最近とにかくモノ作りがしたくて、料理に興味が出てきたので久々に料理した。 シンガポール料理が食べたい気分だったので、カオマンガイとラクサ風のスープ作った。 料理は得意ってわけじゃないけど、予想より美味しく出来た。やっぱり和食のほうが難しい。

カバン欲しい

研究室配属でパソコン割り当てられたので、パソコンを持ち歩く必要が無くなったんだけど、 逆にiPad miniと筆箱+ノートくらいの小容量の荷物を運ぶカバンが無くて困ってる。 小さめのカバンが欲しい。

4月13日

健康診断あるから大学行ったものの、終わってからが暇だった。 研究室行っても輪講の準備しかすることなくて暇なので、面倒だと感じてた在室管理をなんとかしようとした。

在室管理

うちの研究室は廊下に場所が書かれたホワイトボードに自分のマグネットを貼り付けて在室かどうかを管理してるんだけど、頭悪いので毎回動かすのを忘れる。 21世紀だし、みんなスマホくらい持ってるんだから何とかなってほしいなと思い始めて、在室管理システムを作ることにした(暇だし)

研究室に居るかどうかはiBeaconのRSSIで見て、学内とか帰宅はIFTTTを使って特定の場所でHTTPリクエスト投げるようにしようかなと思っている。 これだと、ホワイトボードみたいに想定された場所だけでなく新しい居場所を足したりできるし、やろうと思えばSlackから居場所の変更通知を送ったりも出来る。 バックエンドはnodejs + express + nobleで、フロントはBootstrapとES6をbabelにかけたjsでシュッと作ってる。雑なのは2日くらいで完成しそう。

ただ、別の研究室の准教授の人が作った高機能な在室管理システムあるので、それをcloneしてきても良かったのではという気もする。