combgig2 「kb」の軌跡
TRANSCRIPT
自己紹介 1/3
● HN : Kb10uy(ケービージューウワイ)
● 本名 : 小林 佑( こばやし ゆう)
– 所属 : 栃木県立宇都宮高校1年– 意識最底辺層、成績上位層– 部活動 : 放送部(という名の音ゲー部)
● ウェッブサイト : http://kb10uy.github.io
● Twitter : @kb10uy
● GitHub : kb10uy
● Qiita : kb10uy
元絵 : 自分 アレンジ : @hiyaudon
自己紹介 2/3
● 好きな言語 : C#・プチコン3号(SmileBASIC)・Ruby
● 嫌いな言語 : Java● 作業用BGM(主なやつ)
– 有頂天変 (外せない)
– ぽっぴんジャンプ♪ (くるしい)
– FREELY TOMORROW (free();)
● 好きなキャラクター : もちろん比那名居天子ちゃん!
自己紹介 3/3
● Raspberry Pi Model B持ってます– つい数日前glibcのインストール失敗してSD破壊した(バックアップから復元中)
– 2ヶ月前ぐらいにはSDが物理的に壊れた(割れた)
– いっぱいインストールしてある● R(uby|acket) P(ython3?|erl|HP) F(IGlet|ree Pascal) Vim G(awk|cc 4.9.1)など、詳しくは僕のQittaを参照
● Nucleo F401RE持ってます– mbedのUSB MIDIの機能を活用してFM音源でも作ろうかと思ったらDACないとまともな音が鳴らないことが発覚
– 1500円(秋月)は安すぎるでしょ
「Kb」の軌跡
● タイトル回収● 中1から今までにかけて色々なライブラリを開発
– Kb10uy (C#/開発終了)● 拡張メソッドとかFM音源とかDXLibとか自作言語とかを内蔵、作った割には全く使ってない
– OpenMML (C#・Ruby/開発休止中)● RaspiでFM音源を実装するためにとりあえずMMLライブラリを作ってみた感じ、Nucleoのやつに転用予定
– Kb10uyVM (C#/開発休止中)● 後述のnotepad-rubyをこれの上で動かそうと思って作りかけのスタックマシンインタプリタアセンブラ
「Kb」の軌跡
– Notepad-ruby (Ruby/開発休止中)● @paralleltree氏(今日来てる)から発生したメモ帳ネタが発展しすぎた結果、一応OOP言語
● AST構築まではできてる● まれに見る変態文法(JS+Ruby+ALGOL)
純粋式が文になるとか当たり前
Kbtter の歴史 #1
● Kbtter Polyethylene Terephtalate (初代Kbtter)
– 2月終わりごろから制作開始– とりあえず作ってみた感じのやつ– プラグイン機能はこの時からあった– 実行ファイルが結構小さかった(150KB程度)
– まだTweetSharpを使ってた– TEGAKI Draw & Tweet機能
● 許可はちゃんともらいました
Kbtter の歴史 #2
● Kbtter2 Polyethylene
– 2ペイン型構成に嫌気が差したので4月終わりごろ製作開始– が、TweetSharpの限界を悟って2週間後に開発終了
● ライブラリを変えてまでおなじ名前ではやらない主義です– UIはとりあえず一新してみた– 今思うとこれ見づらい
Kbtter の歴史 #3
● Kbtter3 Polystyrene
– LivetとCoreTweetを採用してUI以外は完全に設計しなおした● ( )α リリースも済ました (バグ)トラックもした● 時の流れ早いさ おまえも(開発)中止になったネ
– RemoveしたTabPageのWebBrowserの動作が止まらないということで6月ぐらいに開発中止
Kbtter の歴史 #4
● Kbtter4 Polypropylene
– タブを使うのをやめたりデータバインディングを積極的に利用したりしたあの7月半ばの話
– 新規にコマンド機能搭載– TEGAKI復活– 割りと管理しやすかったのでついこの間までサポートしてた– 独自クエリ搭載
● ただしIQueryableにはならない
Kbtter の歴史 #5
● Kbtter5 Polyvinyl Chrolide
– TwitterクライアントSTG
– 自機はアイコン– Streamingで流れてきたツイートが敵として出現
– オプション装備可能– DXLib
– yield多用
Kbtter の歴史 #6
● Kbtter6 Polytrimethylene Terephtalate
– Kbtter4の開発が終わって現在開発中のバージョン– GUI版より先にCUI版ができる可能性– Kbtter4の機能を踏襲しつつよりプラガブルな構成に– ボトムアップ、git-flow
● おかげでいつまでたってもGUIの設計に入れない● 今はプラグイン用の独自言語の Grammarを書いてる
– DLRによる実装
Kbtter の歴史 #6
● 全盛期のKbtter6伝説– 1ファイル2クラスは当たり前、1ファイル5クラスも– Kbtter6にとってのホームランは内野安打の打ちそこない– 1回のコミットでHunkが3つに見える– ギットでホームラン– 新ファイルを書くだけで相手Contributorが泣いて謝った、心臓発作を起こす
Contributorも– feature閉じても納得いかなければコミットしないで帰ってきた– あまりに新機能追加しすぎるからバグフィックスでもステージング扱い– そのバグフィックスもヒット– Diffを一睨みしただけでHunkがゴミ箱に飛んでいく– 進捗の無い忙しい日でも2コミット– 総行数1000行記念花束もバスの中で受け取った– SourceTree使わずに手で打ってたことも– 自分のリポジトリを自分でpullしてBitbucketで投げ返す– グッとガッツポーズしただけで5コミットくらい入った– 2014年Kb10uy10 大事件 第1位「Kbtter6開発開始」– SourceTreeeでmergeしてからリリースする方が早かった
Kbtterの将来
● コードネームはKbtter14まで決まってる– Kbtter7 Polyacrylonitrile
– Kbtter8 Acrylonitrile Butadiene Styrene
– Kbtter9 Polyester
– Kbtter10 Polyurethane
– Kbtter11 Polyvinyl Acetate
– Kbtter12 Polymethyl Methacrylate
– Kbtter13 Polycarbonate
– Kbtter14 Modified-Polyphenyleneether
● 生きているうちにそこまで作れるかは知らない