習慣にしたいこと
具体的に行動していくこと/習慣にしたいこと
英語でoutput
英語inputは普通にやるようになってきたので,outputを意識的に続ける
- lang-8
- 日記を書く
- 目的: 日常会話で必要な語彙を増やす
- Langrich
- 目的: 定期的(毎日)な会話の練習
- yaotti.github.com
- 技術ブログを英語で書く
- 目的: 英語圏にアウトプットする,技術の話を英語でできるようにする
- Genius app
- 目的: 上記の練習で知った単語,フレーズを自分のものにする(speaking/writingで使えるようにする)
日本語でoutput
- このblogを毎日書く.1行でもよしとする
- 2011年を振り返る - nokunoの日記 "ブログは2011年1月1日から毎日更新を続け,12月20日まで休まず記事を書くことができました." すごい…
- 目的: 自分のため.何をやってきたのか,何を考えていたのかを記録したい
その他
- 計画を立てて過ごす
- やることだけではなく,簡単に見積りも立ててみる.
- 目的: pivotal trackerでの見積り精度を上げる(いまは適当すぎる)
- コードを大量に読む
- 書く方はどうせやるので,inputを怠らないようにする
個人的な部分では,とにかく英語に時間をかけていく.
2012年,意識しておくこと
あけましておめでとうございます.
一年の計は元旦にあり.2012年何に気をつけていくかをメモしておく.
「プログラムを書く」から「サービスを開発する」へ
何事においても、完璧に到達するのは、 付け加えるものが何もなくなった時ではなく、 削るものが何もなくなった時である。(アントワーヌ・ド・サン=テグジュペリ)
Goodはやらない、Bestに集中する(cookpad)
良さそうな物を作り続けるのではなく,無ければならないものだけ作るように考えを変えていく.
良い機能をたくさん持っているサービスが良いサービス,ではない.
shut the fxxk up and write some code.
毎日朝から晩までプログラムを書き続けるということはできないけれど*1,会社という形を作っても書き続けていきたい.
自分の過去や先人に学ぶ
- 過去の自分
- 様々なポイントにおいてどう考え,その結果どう行動したのかを残していく.
- 先人
- 理論を体系的に学ぶ.プログラミングに限らず,仕事の進め方などにおいても車輪の再発明をしない.我流/なんとなく,は大体うまくいかない.
ひきこもらない
知らない人と話すのが苦手なのだけれど,そうも言ってられないので頑張る.積極的に人に会う.頑張る…
今年もよろしくお願いします.
listening: NON-STOP NYAN CAT!
2011年まとめ
はてなブログに書いた.2011年を振り返って - yaotti's diary
おそらくこっちは使わなくなるかな…→インポートした
2011年を振り返って
今年は大学を卒業したりQiitaを作ったりと自分にとって大きな転機となる1年だったので,きちんとまとめておく.大きなイベントを時系列順に10個ほど並べてみる.色々とあったのだなあ…
卒論
「Dalvik VMにおけるインクリメンタルコンパクションの実装と評価」というテーマで,昨年11月ごろから今年7月ぐらいまで取り組んだ.プログラマなら皆好きなGC関連の研究です.
卒論提出間際はQiitaの開発と並行していたため,研究でCのコードを書き,実験を走らせている間にQiitaのためにRubyを書いたり,id:kony_tと昼間Qiita開発をしてから夜研究室に戻って卒論書いたりという生活だった.大変ながらも楽しかったなあ.
卒業研究で初めてCをしっかり書く良い機会になったけれど,もう「メモリの一部データが壊れている」なんてバグのデバッグはやりたくない.LLがいかに楽かということが身にしみて分かった…
それまでアルバイトやインターンで触れてきたものとは違ったレイヤーについて考えられたので良い経験になった.
FCRC 11, Fluxflexメンバーとの会話
人生のターニングポイントとなった出来事.
6月最初に学会&卒研関係で*1FCRC 2011に行ったとき,Fluxflexの人達と話した.
せっかく近くに来たのだし(滞在していたホテルから数ブロック離れた場所が彼らのオフィスだった!)まあちょっと食事でも,というつもりだった…が,大きな影響を受けることになった.
ここでの会話はほんの数時間だったけれど,id:keikuboさんやid:kyoro353さん,id:sowawaさんの話すシリコンバレーのスタートアップ事情や彼らの日常の話はとても魅力的で,聞いていてワクワクするようなものだった.
彼らと別れてホテルに戻ったあと,シャワーを浴びている間悩んだり叫んだりしていたのを覚えている.
結果,ここでの話もあって自分の進路を考え直すことになった.話をしようと誘ってくれたid:sowawaさんには本当に感謝している.
もしFCRCの学会に行っていなければ,もし泊まったホテルと彼らのオフィスが近くなければ,もし一緒に食事していなければ今どうなっていただろう.人生に何がどう影響してくるかわからない.
院進学を辞める
それまでは院に行きつつQiitaを開発していくつもりだったのだけれど,院には進学せずにフルタイムでQiitaを作っていくと決めたのは6月下旬ごろ.
Qiitaの他2人のメンバーは仕事を辞めてフルコミットで関わっていく中,1人だけレールに乗りながら関わるのが嫌だった*2のと,上述のfluxflexメンバーとの会話で「新しい価値を生みだす」ということに挑戦したい気持ちが非常に大きくなっていたことが大きな理由.*3
「迷ったときは大変そう&&楽しそうな方を選ぶ」という自分ルールに従って(はてな/Googleインターンもそれでtryした)id:kony_t, id:tatata111と一緒にフルタイムでQiitaを作っていくことを決めた.もし大失敗したとしても,たぶん餓死したりはしない:P
Qiitaリリース
Qiita - The best way to log and share programming knowledge.
今の「プログラミングの知識,経験共有」という形ではなく,最初はQ&Aサービスとしてリリースした.気軽に聞ける日本語版StackOverflowのイメージだった.
しかし今考えると「エンジニア向けのQ&Aサービスを作る」ということが目的になってしまっていたなあ.ただ自分が作りたいものを作るのは趣味でしかなくて,人々にとって本当に必要なのか,抱えている問題を解決するのかという基準で考えなければならないことを学んだ.
Qiitaの開発時は2ヶ月ほどlang-8オフィスにお邪魔して開発していた.24時間営業オフィス!:D id:yang_yangさんにはお世話になりました.
はてな卒業
2年半前のインターン以来,ちょうど2年ぐらいソフトウェアエンジニアアルバイトとして働いていたはてなを卒業した.
アルバイトとしてwebサービスのバックエンド,フロントエンドやiPhoneアプリなど色々やらせてもらえた.はてなについては書き出すと長くなるのでまた別エントリで.
一流のエンジニア達に囲まれて仕事できたことは自分の基礎を作っていると思う.はてなの方々には本当にお世話になりました.
大学卒業
9月末に大学を卒業し,すぐに東京へ引っ越した.京都が,鴨川が恋しい.
小学生以来,十数年持ち続けてきた,学生というステータスを失なったのだなあ."学生"でなくなっても,生きるために学び続けなければならない.
最近はThe Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
という本を読み,とても勉強になった.まさにこれが知りたかったんだ!とここまで強く思える本はそう無い.スタートアップに限らず,新しい物(最初の時点で作るべき機能が決まっていない物)を作る人にはおすすめです.
TechCrunch Tokyoでの発表
TechCrunch Tokyo(naverまとめ)というイベントで幸運にもプレゼンする機会をもらえた.リハーサルがあったので頑張って資料を作っていったのだけれども,全然伝わらないと強く駄目出しされた…
そこでしっかりとフィードバックをもらった後,id:kony_t と話しながらプレゼンを0から作り直し,当日の直前にもid:kony_t と会場の建物を出た所で声を張り上げて練習してから本番に臨んだ.資料作りも練習も,今までで一番時間をかけたプレゼンだったなあ.
プレゼンと説明は全然違うのだということを知った.最初に作ったプレゼン資料を今見直すと,何がいいたいのかわからないし別に聴衆が聞きたがらない内容ばかりになっている.
本番の発表は,頑張った甲斐あってとてもうまくいった(と思っている)けれど,残念ながら賞を取ることはできなかった.ちょっと残念.
600人以上(ustやニコ生配信を見ていた人も合わせると何人ぐらいになるんだろう)の前での発表だったけれども,そこまで気負うことも緊張することもなく出来た.これは事前に十分プレゼン練習をしていたのと,Qiitaというサービスの目的に確信を持っていたからだと思う.「自分達は,絶対に解決されるべきだと信じている問題に取り組んでいるんだ」という思いがあるのだから自信を持って話せるのは当然ではある.
Qiitaによって何を実現しようとしているかは[特集:2012年生活を一新するサービス 1/3] Qiita、co-meeting、ウォンテッド...作り手が見据える未来像に迫る! |エンジニアtypeで取材された記事にて話しています.髪型変!
Open Network Labへ
Open Network Lab(オープンネットワークラボ)
Qiitaが採択された第4期は1月開始なのでまだ入ってはいないため,数回onlabのprivate/publicなイベントに参加した程度だけれども,今の時点でも本当に入れて良かったなあと思っている.1月からが楽しみすぎる.
Open Network Labについては Open Network Lab―日本製“Y Combinator”は世界を目指すスタートアップを支援する や シリコンバレーの起業家、日本のY/Cスタイルのインキュベータ、Onlabを訪問 など.
まとめ
「進学/就職しない」という1つの選択によって,進む道*4が大きく変わった1年だった.本当に良い道を選んだなと今のところは思っています(来年末もそう思えると良いな).
Qiitaのステータスとしては最近動きがないように見えるかもしれませんが,今は色々学んだり試したりしています.来年最初からid:tatata111も加わり,加速していくので楽しみにしておいてください:)
では来年もよろしくお願いします.よいお年を!
hello world
はてなブログはじめました.
ちょうどエントリを書こうとしていたところでした!良いタイミング.
FCRC(ISMM+PLDI)に参加した
SanJoseで開かれた2011 Federated Computing Research Conferenceに参加した.*1
FCRCというのはCS関係の学会が集まった,acmのお祭のようなもの.4年に1回開かれているらしい.
海外に行くのは2回目*2だけど2回ともCaliforniaのSanJose周りだなあ.
以下簡単なメモ.
ISMM
マルチコアなシステムを考えた論文が多いように感じた.マルチコア環境でのGCやキャッシュミス削減など.
局所性を強調しているプレゼンが多くて,本当に重要なのだなあと思った.知識として重要だと知っているのと,実際本当に効いてくることを知るのとは違う…
全体的に聞いていて面白かったのだけれど,特にキャッシュの話は楽しかったのでもしかするとそのあたりに一番興味があるのかもしれない.
PLDI
自動並列化はよいですね.何も考えずに書いたプログラムがコンパイラ/VMレイヤーで勝手に並列化される未来!
プレゼンでは詳しいことは理解できなかったのだけれどもメモリフェンスを自動で入れるというのが気になった.
興味の強さの違いか,PLDIは眠くて集中できないセッションが多かった…反省.
まとめ
メモリ管理が一番面白いと思える対象だと改めて思った,のだけれど…ISMMの論文投稿数や先生に聞いた感じでは,メモリ管理の研究は落ちついてきているみたい.
まあそれでも一番面白いと思える対象だし,必要とされなくなることも無い分野なので頑張りたいと思います.
ちょっと気になったのは,ISMMでもモバイルデバイスを対象とした論文がなかったこと.サーバーアプリとは違った制約があるから*3,あっても良さそうだと思うんだけどなあ.既存の研究を適用すればいいからなのか,まだそれほど取り組まれていないのか,どっちだろうか.
今回,面白そうな理論や論文をたくさん見つけたのでしばらく論文を読みまくることになりそうです:)
最近のこと
自分のページを見て,半年近く(去年末以来)ダイアリーを書いていないことに気付いてびっくりした.
なぜここまで書かなくなったんだろうと思って考えてみるといくつかの理由が思い当たった.
まず,今年最初に始めた"出来事や考えなどをテキストファイルに1日1ファイル単位でまとめていく"という記録活動が習慣化していて,
そのせいでdiaryを書こうという気持ちが弱くなっていたのかも.
$ wc -l ~/diary/2011/*/* | tail -1
5321 total
空行もあるけど,1日30行程度書いているらしい
もう1つの理由は,ちょっとした技術ノウハウをよく書いていたけれども何か不毛感というか重箱の隅つっつき感があり,
そんな記事ばかり書くのはどうなのか,と思い始めていたこと.
情報の価値は受け取り手が決めることだろうと思いつつ,一度その思いが浮かんでからはわざわざダイアリーに残そうという気にならなくなってきた.
しかし生駒日記のmamorukさんも"自分も過去は OS をインストールしたとか、ソフトウェアの設定ではまったとかばかり書いていた"とのことで,それはそれで通過点として(?)悪くはないのかもしれない.
最近やっていること
卒業研究
Androidの中身(Dalvik VM),メモリ管理まわりに手を加えていろいろやっている.
Dalvik VMのメモリ管理(dlmallocやGC)については一度まとめたいなと思っているけれどもいつになることやら…
GC本(下の本)で説明された時からバージョンアップ(Froyo->Gingerbread)した今のDalvik VMでは
- precise GCができるようになっていたり
- レジスタマップを作る
- concurrent GCになっていたり
- card tableを使ったmostly-concurrent M&S
- Copy GCのコードが入ってたり
- 入ってるだけ,使われてはいない&動かすこともできないけど…
- オブジェクトを動かしたいんだろうなというのが伝わってくる
と面白い変更がいくつかあるのでまとめたい(と書いておけばまとめるはず).
GC本にはGCの基礎を学ぶ際にとてもお世話になりました.
- 作者: 中村成洋,相川光,竹内郁雄
- 出版社/メーカー: 秀和システム
- 発売日: 2010/03/18
- メディア: 単行本
- 購入: 24人 クリック: 771回
- この商品を含むブログ (88件) を見る
webサービス開発
隙間時間を見付けつつ,友人と一緒に開発を進めていっている.(コードはほぼ全部僕が書いているけれど)
webサービスを自分で0から作るのは初めてなので,アルバイトでの機能開発とは違った楽しさがある.
アイディアとしては同じサービスが既にあるけれども,その分野にはGoogleやTwitterのような巨人はまだおらず,
また自分の中で何度検証しても「これはいける」「必要とされるはず」と思える物なので満足のいくレベルまで作り込みたい.
輪講
Certified Programming with Dependent Typesというのを読んでいる.なかなか難しい.
Coqを理解していないことによる難しさと,論理学に明るくないことによる難しさがあるのかな…
論理学の教科書を引っ張り出して思い出しつつ進めている.
昔使ってた教科書を今改めて読んでみると,以前は知識を暗記し表面的に理解していただけで体系的な理解はできていなかったということがわかる.悲しい.
という感じの最近.これからも適当に日記を書いていこう.