株式会社ドワンゴを退職します

f:id:youxkei:20210426013512j:plain

こんにちは、ようけいです。

2021年の6月半ばで株式会社ドワンゴを退職します。

4月26日が最終出勤日で、そこから1ヶ月半ほど大人の夏休みを満喫します。

ドワンゴで何をしてきたか

新卒研修を終えてから今に至るまで、DMCチームにいました。

DMCというのは、動画や配信を受け取って変換して視聴者に配信するシステムです。Erlangで書かれてます。

DMCについてはkojingharangさんの以下のスライドが詳しいです。

www2.slideshare.net

かなりバックエンド寄りなので成果が表に出づらいのですが、(おそらく)唯一表に出ている成果として次のものがあります。

blog.nicovideo.jp

これより以前は、配信先のURLとストリームキーは番組ごとに変わってしまっていました。

配信先のURLとストリームキーを放送者ごとに固定するために、DMCに新機能を追加したり既存の実装を変更したりしたのですが、その大部分に関わりました。

その他、DMCと協調して動作するマイクロサービスをGo言語で作ったりしてました。

ドワンゴにいた時に何をしてきたか

ドワンゴで仕事をする傍ら、ドワンゴでの仕事に影響を受けて趣味開発したりしてました。

Erlangフォーマッタ

探した限り、DMCソースコードをフォーマットできるようなErlangソースコードフォーマッタはなさそうだったので、作りました。

github.com

ある程度のソースコードがフォーマットできるようになった段階で、チームの週例で「Erlangのフォーマッタ作ったんですけど、どうですか?」と聞いてみたところ、えらい人に「Erlangのコードベースが大きすぎて、今の段階でフォーマッタを導入するのは賛成できない」みたいなことを言われました。

確かにgit blameなどで変更履歴を追いづらくなるんですよね・・・

せっかく作ったのにDMCに導入できないのはちょっと残念ではありますが、Rustとtree-sitterのいい練習になったと思うことにしました。

フォーマッタについては進捗大陸04で記事を書きました。

shinchokutairiku.booth.pm

git-timeshift

gitの内部ディレクトリの構成で、ほとんどの容量はobjectsで占められていて、かつobjectsは(基本的には)永続データ構造であることに気付いたので、それを利用してgitリポジトリの軽量な復元ポイントを作るツールであるgit-timeshiftを作りました。

github.com

git-timeshiftは、ドワンゴに入ってすぐにあった社内ハッカソンで発表したものをベースに作りました。

作ったんですが、gitのほとんどの操作は元に戻すことができるので、復元ポイントを使う機会は思ったよりも全然ありませんでした・・・そんなわけで全然メンテしてません

git-timeshiftについては進捗大陸05で記事を書きました。

shinchokutairiku.booth.pm

部活

ドワンゴには同好会がたくさんあり、その中でも自分はポーカー部(正確にはポーカー同好会)に所属していました。

元々、ボードゲーム同好会のボドゲ会に参加していたのですが、なぜかその横で行われていたポーカー大会を覗いた際にポーカー仕草のかっこよさに気づき、その影響でポーカーをはじめました。

結局、ポーカーの腕自体はあんまり上がりませんでしたが、かなり楽しかったです!

一回だけロイヤルストレートフラッシュを引けたこともありました。

f:id:youxkei:20210425225350j:plain
リバーでハートのKが落ちてロイヤルストレートフラッシュになった

ポーカー部内で何故か信仰されているハンドである35でトーナメントを優勝したこともありました。

f:id:youxkei:20210425225659j:plain
35oでトーナメント優勝

忘年会の後ろでひっそりとポーカーを遊んでいたら、えらい人に補足されたりもしました。

最近は新型コロナウイルス周りの情勢によって、ポーカー部では物理で集まらずにPokerStarsを使ってオンラインでポーカーをすることが多くなってしまいました。

やっぱりポーカーは物理でプレイするほうが面白いですね・・・

退職理由

なんか全然退職エントリっぽくなくなってしまったので、退職理由を書き始めます。

ある日、普段の仕事に対するワクワク感がなんとなく薄れてきてしまっていることに気づき、そろそろ転職するかぁという気分になったので、転職ドラフトでレジュメを書き始めました。

ドラフトに参加してみたら魅力的なオファーがあったので、それを受けた感じです。

あとは、まあ・・・お金・・・ですかね・・・

全然関係ないのですが、下の記事のkkbさんもDMCチームにいたので、数ヶ月だけですが一緒に働いたことがあります。

medium.com

さいごに

DMCチームのメンバーにはかなりお世話になりました。ありがとうございます!!!

孔雀を折るのはなかなか大変でした・・・

あと、例のリストを置いておきます https://www.amazon.jp/hz/wishlist/ls/2NDVT263HR6SB?ref_=wl_share

進捗大陸07に参加しました

techbookfest.org

今回も進捗大陸07で章を1つを書きました。タイトルは『QRコードっぽい魔法陣を作る』です。情報を埋め込んだ魔法陣を生成する話です。

情報はグラフ構造の中に埋め込んでいるので、(いまのところ実装はないですが)QRコードのようにスマホのカメラで読み取ることができます。

前々から魔法陣生成をやってみたくて、どうせなら情報を埋め込んだ魔法陣を生成したいと考えていました。今回の進捗大陸の締切駆動開発でどうにか生成するプログラムと読み取るプログラムを実装できました。

MC Code Generatorで下のような魔法陣(?)が生成できます。

魔法陣

mccode_scannerで魔法陣に埋め込まれた情報を読み取ることができます。

$ cargo -V
cargo 1.45.1 (f242df6ed 2020-07-22)

$ rustc -V
rustc 1.45.2 (d3fb005a3 2020-07-31)

$ git clone https://github.com/youxkei/mccode_scanner.git

$ cd mccode_scanner

$ cargo build --release

$ curl -LO https://git.io/mccode_wagahai.png

$ target/release/mccode_scanner mccode_wagahai.png
吾輩は猫である。

しかし、魔法陣と言いつつあんまり魔法陣っぽくないですね・・・

loとleの使われ方の遷移+α

この記事はロジバン Advent Calendar 2017の23日目の記事です。

adventar.org

一年前くらいに、構文論の授業のレポートを書くために、loとleの使われ方の遷移の調査しました。

その時の調査結果を改めてまとめます。

使ったコーパスはロジバンIRCのログ

http://corpus.lojban.org/にロジバンのコーパスが色々載ってるんですが、その中でも圧倒的な量を誇るロジバンIRCのログを採用しました。

ロジバンIRCは今でもそれなりに活発で、最近の傾向も知ることができそうです。

前処理をしてログの書式を揃える

どういうわけか、ログの書式が時期によって異なるので、扱いやすいように書式を揃える前処理を行いました。

このとき、発言した年と発言内容だけを抜き出し、発言者の情報は取り除きました。

構文解析する

前処理をしたデータを構文解析しました。

構文解析には、ilmentufa experimentalを使いました。

github.com

loとleの出現数を調べる

解析して得られた構文解析木にたいして、loとleの出現数を調べました。

構文解析木は、木の中に使ったルールの情報が残っているので、文がどのように構文解析されたかを知るのには有用です。 ただ、文の構造だけにしか興味がないのであれば、正直冗長で使いづらかったです。 ロジバンを構文解析して、さらに抽象構文木を作ってくれるパーサがほしい

結果

縦軸を「loの出現数/leの出現数」の対数、横軸を年としてグラフを作りました。

2005年に逆転してから、leよりもloのほうが多く使われているみたいです。

おまけ: oiの出現数

loとleだけだと面白くないので、「.oiの出現数/UIの出現数」も調べてみました。

どこかの年が突出してたら面白いなぁと思いましたが、特にそんなことはなかったです。

あ、ちなみに、.oinaiは抜いてあります。

使ったコード

前処理とか構文解析とか出現数の解析で使ったコードはここにまとめてあります。

github.com