Skip to content

Instantly share code, notes, and snippets.

@equal-l2
Last active December 10, 2021 12:30
Show Gist options
  • Save equal-l2/74fdeddaaec3ecdd4663eaac142ef2f1 to your computer and use it in GitHub Desktop.
Save equal-l2/74fdeddaaec3ecdd4663eaac142ef2f1 to your computer and use it in GitHub Desktop.
自分の作りたいものしか作れないから成果物がない話(&作ったものまとめ)

Boushitsu Advent Calendar 2日目(12/2)

目次

序説(ポエムなので読み飛ばしてよい)

サポーターズさんが鬼電してくれたのでこの際(就活をやらないといけない時期の青シャツ1)ということでえいやで合同説明会や会社説明会に出てみた。それぞれの会社はなるほど面白い。

しばらくすると出席した会社から選考の案内が来る。
どれもこれも「成果物」とか「作品」の提出が要求されるのだ。

一見、人生で面接をとことん避けてきた2青シャツには好条件に見える。
しかしここで問題(questionではなくproblemissue)。
青シャツには堂々と見せられるような「成果物」とか「作品」というものはないのだ。

なぜか。青シャツは自分が心の底から必要と感じるもの以外にその労力を割かないからだ。
提出するためだけのプロダクトは作れないのだ。

「なんだ、作れるんじゃん」と思ってもらっては困る。
青シャツの「必要と感じる」はその辺のキラキラした強者のそれとはオーダー違いに弱々しい欲求であった。
その欲求は滅多に起こらない上に、起こったとしても割と秒で解決してしまうのだ。
要するに「作りたいものしか作れないけど欲がないから作りたいものがない」状態なのだ。

助けて〜(老人と子供のポルカ)

作ったもの振り返り

じゃあその「滅多に起こらない上に、起こったとしても割と秒で解決してしまう」欲求の結果を見てみましょう。

創プロのチームで作った、RESTful APIで動くラジコンカー用のサーバ。 チームは4人で、自分の担当はRESTによるGPIO制御とHLSによるカメラ動画配信。 HLSはffmpegでエンコードしてhls.jsで再生するだけなので大したことをしていないけど…… 4人の努力の結果「浜松まつりの音楽を鳴らしながら走る、学生証認証つきキャタピラ車」という恐ろしいものができた。

fjpr-nori (Python)

Aringくんと共作した内輪向けSlackボット(青シャツの担当は半分くらい)。
任意の言葉を形態素解析して「フジプラ語」3に変換する。
ドラえもん

mogura (Java+JavaFX)

AD2かなんかの最終課題で作ったゲーム。グループの誰もアイデアを出さなかったので天啓に任せて作った。
危うい題材&著作権を無視したアセットのため、表に出せない。
Screenshot 2021-12-03 at 0 12 45
out2

ツイキャスからコメントを引っ張ってきて標準出力に吐くCLIツール。
パイプで音声合成に繋いでやれば勝手にコメントを読み上げてくれる。

コロナ禍であまりに暇で一瞬だけ身内でツイキャスをやってたことがあった。
全画面でゲームをやるとコメントが読めなくて困ったので作った。
制作風景もツイキャスで流してその時のコメントは読み上げさせた。それ以来二度と使っていない。

vim-base64 (VimScript)

Vimでbase64を便利に扱うためのプラグイン。
OverTheWireかなんかでbase64を復号する必要に迫られて作った。それ以来二度と使っていない。

デモ

GitHubから通知を取ってきて、正規表現でフィルタして既読にするCLIツール。
homebrew-coreをwatchしていたときに一日500件くらい通知がくるので興味のないものを弾くために作った。
homebrew-coreをwatchするのをやめたので二度と使っていない。

novelang (Rust)

自作プログラミング言語。
"Let there be light"を書けるプログラミング言語が作りたくなったので作った。
インタプリタにする予定だったが、今までの授業でコンパイラしか作ったことがなかったせいで「全文をパースしてから、ASTノードを一つづつ読んで動く」というわけのわからない言語になってしまった。
引数・戻値付きのサブルーチンを作るのが面倒で放置している。

reversi (HTML+CSS+JS)

ブラウザでできるオセロゲーム。弱いCPUプレイヤー付き。
「相手の取れる手を減らすとオセロに強くなる」というのを思い出してHTML+CSS+VanillaJSで作った。
相手の手を減らすだけではダメということがわかり、青シャツは普通にオセロが弱くていい戦略も思いつかないために二度と触っていない。

ニコニコ動画のランキング画面で、指定した投稿者の動画をぼかすFirefoxアドオン。
興味のない動画をぼかして脳のデータ処理量を減らすために作った。
このページはスクロールに合わせてインクリメンタルに要素が追加されるので取り扱いが面倒。
そのせいでぼかしが効いたり効かなかったり不安定だけど、見たら死ぬ訳でもないので先延ばしにしている。
Screenshot 2021-12-03 at 00-00-32 動画ランキング - ニコニコ動画

終わり

思ったより作ってたな。
でも1個これ、って代表作として出せるのがないね……

まあこういうことです。 よろしければスター&コメントよろしくお願いします。


雇ってくれ〜

青シャツを着て行ってもいい会社さん、雇ってくれ〜 (2023年卒業予定、東海・関東が嬉しいけど他でも全然行きます)

できること

RustとC++ならそこそこ書けます。(C++は投稿時点で半年程度の実務経験あり(点群処理))
Javaも4年間の授業で使ってきたのでいくらか書けます(Gradleも基礎的なところはできます)
Googleの名人なのでわからないこともググってなんとかできます(逆に言えばネットがないと死にます)。

苦手なこと

CLIインタフェースしか書いてないので、GUIプログラミングは総じて不得手です。
JavaScriptもあまりできません……(基本的なHTML+CSS+JSならともかく、フレームワークとかバンドラが出てくるとなんにもわからなくなってしまう)。
Goは苦手です……(相性問題)
ガチガチの要件定義などの設計や、マネジメントとかはできません。

Footnotes

  1. KPS 9566リスペクト

  2. 3年次編入(落ちた)を受けたときに筑波大学(3年次編入にしては珍しく面接がない)しか選べなかったり、英検3級以上(面接の二次試験がある)やTOEFL(スピーキングがある)が取れなかったりする

  3. 某部ではフジプラ語もどきが別人の名前を冠して広まるという文化盗用が起きているらしい

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment