プログラミング略歴

Macと一緒にCodeWarriorを購入し、Macでプログラムを始める。
色々やってた。

中略

2ch専用ブラウザ「BathyScaphe」の一部を無理やり担当。BathyScapheのスペルを覚える。
AppleScriptメニューを作成するが、すぐ後にAppleAppleScriptメニューバーエクステンションを登場させ無事死亡。
スレッド一覧関連のデータベースをSqlite3で作成して遊んでたらマージされて大慌て、バギーすぎて死ぬ。
さらにしばらく後にCoreDataが発表されもう一度死亡。

当時のMail.appの「ルールエディタ」を動作を見て無理やり実装。あんまり使われていないようで草。
しばらく後、NSRuleEditorが発表されNSRuleEditorに移行。日本でNSRuleEditorを真面目に使った最初の人ぐらいになるがおそらく誰も知らない。
つか、NSRuleEditor自体誰も知らないんじゃねぇの??

何度か本体を正しいDocument-baseに直そう試みるがすべて失敗。

BathyScaphe本体には手を入れなくなり、プラグインばかり作るようになる。
当時のBathyScapheはプラグインを一つしかロードできない仕組みであったが、この制約を外すべくプラグインを複数ロード/管理するプラグインを作り、プラグイン製作に拍車がかかる。
複数のプラグインロード/管理機構を本体にマージ。

2chの要請によりBathyScapheがクローズドソースになることを契機にコミッタから外れる。

(以下重複時期あり)
ヤバいところからDLしてきたアニメを連続して再生させたいという理由でアニメ用ムービープレイヤ「XspfPlayer」及び管理アプリ「XspfManager」を作成。
オープニングスキップ機能(単に1:30スキップ)を搭載し発表したためバズッたが使い方説明などを全くしてなかったので一瞬で終わる。

BathyScapheのNSRuleEditor関連はこのアプリでテスト実装をしていた。

また。Finderラベルのようなラベルを設定できるUIであるHMLabelを作成してGitHubCocoa Controlsに公開。Cocoa Controlsで18だけスターが付く。GitHubで3つぐらいForkされる。

ヤバいところからDLすることがなくなったのでもうずっと放置中。

趣味の本の冊数が増えたので管理アプリを作成。
画像処理はよくわからなかったのでGNUのバーコードスキャナを利用してISBNを読んでAmazonからデータを取得するもの。
hatenaなどへの投稿機能付き。

某宇宙戦闘ネトゲをはじめたらギルド仲間から全く毛色が違う艦これを勧められる。
さらにTwitterでも艦これが話題になったので艦これ(Flashコンテンツ)を始める。
経験値の表示が「ドラクエ」方式なのに苛立ち、経験値記録アプリを作る。

経験値記録アプリが半自動だったため面倒くさくなり、通信データを覗き見て完全自動でデータを反映させるブラウザ一体型情報管理アプリを作る。
以前からネーミングセンスの悪さが気になっていたのでラノベ的な名前にしようと「艦娘は今日も元気です。」とする。
本人に宣伝する気力がないので知っている人は知っている程度。
当初開発言語はObjective-C。現在はSwift4.0に移行済み。

今まではCocoaに含まれていないものは可能な限りなんでも全部自分で作る方針だったのだが、Swiftに移行してから考えを改める。
SiftyJSONを採用。
SwiftyJSONを選んだ理由はゲーム鯖からの通信データの変更に耐えるようにゆるーいものを求めたため。

基本動作機構は
URLProtocolを利用し通信を傍受
JSONをCoreDataにマッピング
KVO/CocoaBindingsでUIに反映

ユーザーからミュート機能の要望がありWKWebViewのミュート機能実装。
ただしWKWebKitではURLProtocolでのFlashの通信データ傍受が不可能なことが発覚、無事死亡。
GitHubに公開。