2018 年の雑多な振り返りです。今年で 32 歳になりました。

ライフイベント

次男誕生

年明け早々に次男が生まれ、二ヶ月間育児休暇を取りました。育児休暇中の様子については「育児休暇で二ヶ月会社を休んだ話」という記事を書きました。

子どもたちの手

生まれてすぐの頃は「いかに子ども二人の面倒を見るか」ってことばかり考えていました。

長男の幼稚園入園

4 月から長男が幼稚園に通い始めました。通い始めた頃は初めての団体生活・子ども社会に不安そうな様子でしたが、親しい友だちもできて今は毎日とても楽しそうです。運動会や発表会では息子の成長に感動しました。

また弟の誕生によって兄としての意識も芽生えてきたようです。頼もしい。

ソフトウェアエンジニア活動

Chromium コミッター

Chromium プロジェクトでは昨年から引き続き Web Worker や Worklet 周りの実装を担当していました。調べたところ、今年私が入れたパッチは 181 個、レビューしたパッチは 275 個でした。育児休暇や大きめのパッチを書くことが多かったこともあり、昨年の 240/300 から減ってしまった。

今年は主に以下のことに取り組みました。

  • Worklet の実装と Paint Worklet / Audio Worklet のリリース (Chrome 65 / 66) (slides)
  • Web Worker の ES Modules 対応の設計と実装 (design doc, issue)
  • WebSocket on Web Worker の off-the-main-thread 化 (Chrome 68) (issue)
  • Worker スクリプトのローディングパスの再設計とその実装
    • Off-the-main-thread worker script loading (issue)
    • Browser-initiated dedicated worker script loading (PlzDedicatedWorker) (design doc, issue)
  • Web Worker 実装の仕様互換性の向上 (Web Platform Tests のパス率の向上)

Web Worker の ES Modules は基本実装は完了済みなんですが、いくつか Web Worker 自体の互換性の問題からリリースが遅れています。来年の早い時期には出せるように引き続き頑張ります。

昨年まで Web Worker や Worklet はほぼ一人で面倒を見ていたのですが、今年に入って開発に参加してくれる人が増え、コードオーナーも私一人から四人に増えました。おかげで色々なことに取り組めました。その一つとして off-the-main-thread のための新しい API の設計実装1をしているのですが、今までの経験からアドバイスをするコンサル的なことをやったりしていました。

Web Worker といえば、育児休暇で休んでる間に Spectre や Meltdown といった脆弱性が公表されて SharedArrayBuffer が無効化されたのはかなりの衝撃でした。Out-of-process iframe (OOPIF) といったセキュリティ機構によって問題が回避されたことで再び有効化されましたが、セキュリティに関する意識が一層高まった一件でした。

技術記事

今年も Chromium 関係でいくつか記事を書きました。ウェブ開発者向けの内容に限らず、ブラウザの内部実装に関する話題も書くように心がけました。少しでもブラウザ開発に興味を持ってもらえたら幸いです。

あとは読んだ論文の読書メモを書きました。読みっぱなしにしている論文が多いので、そういうのもちゃんと公開メモとして残せるように来年は頑張りたい。

インタビュー

技術評論社の WEB+DB PRESS Vol. 107 にてインタビュー記事を掲載していただきました。

article header

主に私のこれまでのキャリアや技術的に興味があること、Chromium コミッターとしての活動や Chromium プロジェクトの最近のトレンドなどについて個人的な立場から話をさせていただきました。詳しくは「「WEB+DB PRESS Vol. 107」にインタビュー記事が掲載されました」を見てください。技術評論社のページで記事全文が公開されています。

趣味プログラミング

昨年次のように書いたんですが、結局趣味の時間はほぼプログラミング以外のことをしていました。

プログラミング欲はほぼ Chromium プロジェクトで満たされていたので、プログラミングをしたくなったら Chromium のパッチを書いてた。同僚にその話をしたら「視野が狭くなるからもっと別のことをやった方が良い」と言われ、確かにそうだなという感じなので、来年は何か別のオープンソースプロジェクトに参加できたらいいなぁ、と思ってる。Rust 使いたい。ただ、仕事以外ではなるべくプログラミング以外のことをしたいとも思っていて、その辺のバランスが難しい。 (2017 年の振り返り - nhiroki.jp)

一応プログラミング的なこととしては、年末に LeetCode を始めました。コーディングインタビューを受ける予定は全くないんですが、この手のスキルは時折磨いておかないとすぐに錆びついてしまうし、気分転換になるのでたまに解いています。現時点で解いた問題数は次の通り。

LeetCode status

アルゴリズムの解説を読み、エディタでコードを書き、正しく書けているかテストする、という一連の流れが全てオンライン上で完結するのは学習体験としてとても良いですね。私も学生の頃にこういうシステムを使って勉強したかった。

キャリアの振り返り

育児休暇の間に自分の今までのキャリアについてぼんやりと考えていたのですが、細かいことがだんだん思い出せなくなっていることに気づきました。そこで当時の気持ちを忘れないうちに今までの振り返りをしようと思い、「就職して 6 年過ぎた」という記事を書きました。

参加した技術系イベント

今年はほぼ登壇する機会がなかったので、来年はもう少し何か発表したい。

趣味関係

英会話レッスン

7 月から英会話レッスンを受け始めました。以前別の会社のビジネス英会話やオンライン英会話を受講していたんですが、レッスン内容が楽しくなかったり、受講スタイルが合わなかったりでしばらく止めていました。今回は週一通いのカジュアルなグループディスカッションのレッスンを受けています。英語表現や英会話の学習になるのはもちろん、気分転換にもなってとても楽しいです。しばらく続けようと思ってます。

天文宇宙検定

今年も 10 月に天文宇宙検定に挑戦しました。昨年は二級に合格したので、今年は最上位級である一級を受験しました。受験体験記は 「天文宇宙検定」一級受験期 (1st try)」という記事にまとめました。残念ながら不合格だったので、来年リベンジしたいです。

看板

統計検定

天文宇宙検定が終わり、次に何の勉強をしようかと考えた結果、12 月から統計検定の勉強を始めました。大学で確率論や統計学の授業を適当に受けていたせいで苦手意識があり、それが長年気がかりだったのが勉強を始めた動機です。基礎からしっかりやろうと一番簡単な四級の教材から勉強しています。これについては別途記事を書こうと思ってます。

読書

2018 年に読み終えた本は以下の通り。リンク先は読書メモです。

コンピュータサイエンス関係で読んだ本。

宇宙や天文宇宙検定関係の本。

統計検定の本。

子どもの教育に関する本。次男の育児休暇中に読んでました。

その他、雑多に読んだ本。

ゲーム

今年も beatmania IIDX をたくさんやりました。昨年の振り返りで

左手が以前よりも思い通りに動くようになってきたので、この調子で CANNON BALLERS の間に十段、あわよくば中伝目指して頑張りたい。

と書いたんですが、結局 CANNON BALLERS の間に十段を取れませんでした。DP12 のクリアランプもだいぶ増えてきて成長を実感してはいるので、2019 年こそ DP 十段取得を達成したいです。

SP の方はクロペンと Plan 8 の SPA ノーマルゲージクリア、3y3s のハードクリアができたのがハイライト。あと、TROOPERS と mosaic で SP12 初フルコンボできた。前作のクロペンの結果と並べてみると、スコアがだいぶ上がってることが分かる。

一年遅れですが『ゼルダの伝説 ブレス オブ ザ ワイルド』にどハマリして一時期ずっとやってました。一応エンディングまでプレイしたんですが、冒険を終わりにするのが寂しくて祠などの回収やエキスパンションパス (DLC) にまだ手を付けてないので、来年もチマチマやりたい。

アニメと映画

次男誕生により、アニメを観る時間がさらに減ってしまった一年でした。アニメもっと観たい。新作で一通り最終回まで観たアニメは次の通りでした。

  • ゴブリンスレイヤー
  • とある魔術の禁書目録 III
  • 進撃の巨人 Season 3
  • PERSONA5 the Animation
  • シュタインズ・ゲート ゼロ
  • ロクでなし魔術講師と禁忌教典
  • クジラの子らは砂上に歌う

旧作ですが以下のアニメも一通り観ました。ヨルムンガンドは名作。

  • ヨルムンガンド PERFECT ORDER (二回目)
  • ヨルムンガンド (二回目)
  • ソードアート・オンライン オルタナティブ ガンゲイル・オンライン
  • serial experiments lain
  • 攻殻機動隊 (新劇場版)
  • 映画かいけつゾロリ まもるぜ!きょうりゅうのたまご

実写映画は次の通り。全然観てないな。

  • ブレードランナー
  • ブレードランナー 2049
  • ゴースト・イン・ザ・シェル (実写版)

今年買ってよかった物

結露取りワイパー

長男に渡したら毎朝窓の結露を取ってくれるようになりました。楽しみながら家族内での役割を果たすことができてとても嬉しそうです。

食洗機

据え置き型の食洗機を導入しました。スペースの都合で中サイズの食洗機にしたため収納できるお皿の大きさに限りがあり、一回の洗浄であまり多くは洗うことはできませんが、それでもスプーンやコップといった細々としたものを一々手洗いする必要がないだけでかなりの負担軽減になりました。また食器を食洗機内にどのように並べるかパズル的な要素もあり、食器洗いが楽しいことになったのも良かったです。

Pixel 3

ポートレートモードや夜景モードで写真が綺麗に撮れて楽しい。一眼レフカメラを持ち出す機会が減りそうです。バッテリーがもっと保つとなお嬉しい。

日経サイエンス

キャンペーンで安くなってるときに日経サイエンスの二年間定期購読を申し込みました。一番の目当ては宇宙関係の記事なんですが、それ以外の分野の記事を読むきっかけにもなって興味の幅が広がりました。

まとめ

子どもが二人になって大変でしたが、幸せな一年でした。来年も楽しく健康に過ごしたいです。

  1. 詳しくは Chrome Dev Summit 2018 のセッション “A Quest to Guarantee Responsiveness: Scheduling On and Off the Main Thread” を参照 (動画