sonsonです.
3tch/2tchの開発が遅れています.
また,たくさん頂いているフィードバックにも対応できていません・・・.
すみません.
今のところアップデートできる見通しがまったく立っていません.
理由はご推察の通りだと思います.
色々な事情を考慮してくださるとうれしくおもいます.
敬具.
sonsonです.
3tch/2tchの開発が遅れています.
また,たくさん頂いているフィードバックにも対応できていません・・・.
すみません.
今のところアップデートできる見通しがまったく立っていません.
理由はご推察の通りだと思います.
色々な事情を考慮してくださるとうれしくおもいます.
敬具.
GWに大阪に帰ったので,大阪勢の@sumihiro, @nagisaworks, @ku_sukeたちと飲み会をセッティングするタイミングでフィードテーラーさんにお邪魔しました.
@cqa02323がセッティング.(あれ?彼関東にいるはずじゃ・・・.)
@cqa02323と@sonson_twitによる急なお邪魔にもかかわらず,エンジニア総出で迎えてくださり,お茶まで頂いてしまいました.
アットホームなアップル色全開の会社でした.
その後,フィードテーラーのエンジニアさん二人も急きょ参戦し,技術以外の話題はキラキラ女子について以外,まったくでない硬派なオッサンの飲み会が行われたのでした・・・・・.
iOS Simulatorの動作動画をキャプチャするために,CopernicsっていうMac用の画面キャプチャソフトを使っていたのだけど,
10.8あたりで動作が安定しなくなってきたので,こちらのアプリケーションに切り替えた.
このソフトウェアは,アプリケーションというよりは,プラグイン.SIMBL(っていう入力メソッドをクラックして機能を追加する,で合ってます?)用のプラグインだ.
https://github.com/davbeck/iPhone-Simulator-Capture
まずは,ここからSIMBLをダウンロードしてインストールしよう.
とりあえず,SIMBL-0.9.9.zipのバージョンのものでMacOSXの10.8.2上でSIMBLは動作するようだ.
githubからソースコードをダウンロードし,XCodeでダウンロードしてビルドし,~/Library/Application Support/SIMBL/PluginsにビルドされたiPhone Simulator Capture.bundleをコピーすればよい.
そうすると,iOS Simulatorのメニューに下の図のように表示される.
まだ基礎中の基礎しかできてないけど,UICollectionViewFlowLayoutをハックしていくのが一番手っ取り早い気がする.
上揃えとか,下揃えとか,クリックするとアニメーションしたりするUICollectionViewFlowLayoutを実装してみた.
https://github.com/sonsongithub/IntroduceCollectionView
ソニーに関する本を読んだ.ふたつの視点から没落していくソニーを読むことができた.
一冊目の辻井氏の本は,彼視点なので,当然,公平性はないし,西田氏の本は,久多良木氏への愛が深すぎて不公平感が否めないが,まぁ,本なんてバイアスかかって当たり前なのでよしとしよう.
辻井さんの本は,彼自身の八面六臂の活躍と最後は背中から打たれてソニーを辞めてしまうまでの流れを彼のソニーへの愛を中心にかかれている.
また,ゲームの方は,帝王任天堂に挑むソニーのエンジニアたちの活躍と新しいビジネスモデル,PS3の失敗とその後のソニーの没落が描かれる.
おもしろいのは,PSXとすご録という二つのハードディスクレコーダという商品に関するソニーの二つの部署からの視点が,これらの本にそれぞれ描かれている点だ.
PSXというゲーム機という財産を使って,新しい体験を売り込む久多良木チームの猪突と,ソニーのレコーダを統括しなければならない辻井氏側の製品ラインナップを考えろというある意味経営視点の行動.
これら二つを連続して読むと,それぞれの視点がそれぞれ描かれているのがおもしろかった.
しかし,残念ながら,これらの本から共通して読み取れるテーマはソニーの没落である.(書かれた時期が時期だけに仕方ないけど)
辻井氏の本から.
上司から、面倒くさそうに、「ところで辻野さん、留学というのは、君にとっての個人的な経験だし、もう終わったことなんだから、早く忘れたら」と返されたのだ。
ソニーに足りない技術を学ぼうと息巻いて社費留学した辻井さんが帰国後なげつけられたこのフレーズは研究系にいるとよくわかる感じ.せっかく海外で留学してきたのに帰ってきたら,事務方へ異動とかよくある話.
そんで,留学前に留学後3年以内に辞めたら賠償金みたいな契約書にサインしないといけない.
つまりが会社も留学制度をご褒美程度にしか思っていないし,人に知的な投資をしたにもかかわらず,それを回収する気もないんですよね.
エンジニアやらなんやらを軽視するよくあるマネージメントです.
西田氏の本から.
どうやら、SCE側は「ディスクよりもネットワーク配信」という意識が強く、ディスク規格にはあまり興味がなかったようだ。「来るべきPS3にとって、ブルーレイ搭載は本質でない」との意見も見られた。
PS3のチームはできあがってきたものはどうであれ,ちゃんと未来を見据えていたというのが驚いた.
もったいない・・・.PS3はOSの開発がぐちゃぐちゃでえらいことになった書いてたけど・・・・やはりソフトウェアエンジニアリングがだめなのかしら.
さらに辻井氏の本から.Google TVをGoogleとソニーが発表したときのこと.
それから、七年も八年も経って、アンドロイドのようなグーグルのオープンプラットフォームを使って同じようなことをしようと発想したのだろうが、両者の決定的な違いは、今回は主導権はソニー側にはまったくないということである。
結局,ソフトウェア技術や知的財産を積み重ねることを怠った日本に今残っているものは,海外移転可能な生産技術が中心であり,それも韓国や中国に技術面を徐々に脅かされ,人件費の面では完全に競争力を失っている.
ソニーの没落におけるそういった競争力の喪失の側面と「昔はよかった」ばかりが並ぶこれらの著書は,私のような若輩者が読むと悲しみが広がる.
大学院生の頃から私は急速にソニーブランドへのかっこよさのような感情が萎えていった.その理由がこれらの著書にある.
最近読んだ本.Steve Jobsの原著のために読書が全然進まなかったナリ・・・・・.
色々,大変なことがありましたが・・・・・.2tch v5.0のテストをしたいと思っています.
ユーザさんの数は,3tchと2tchはあまり変わらず,むしろ2tchの方が多いくらいです.
2tchのコードは古いし,色々・・・・で,もうすでにメンテナンスがgdgdの状態です・・・・.
そんな状況を受けて,2tchのコアをすべて今風に書き直し始めたのが,2年近く前のことです.
そのコアを使って,タブブラウザを試しに作ってみて,そのまま暴走して完成しまったのが,3tchです.
つまり,3tchは,2tchのv5.0を作っているうちにできてしまった派生で,色々実験的なことをやってみたアプリケーションという位置づけでした.
今ではそこそこ多くのユーザさんに使っていただいているので,うれしい限りです.
今回は2tchの使い方の延長線上でバージョンアップしてみた感じです.
特にgdgdだったiPad版もそこそこちゃんと使えるようにしてみたり,iCloudを使って色々できるようにしてみました.
また,今後のメンテナンスに焦点を合わせて,iOS6以降で動作するようにしたので,ちょっとユーザさんの環境が気掛かりではあります(マップアプリもあるし・・・・).
数名の方が手をあげてくださいましたが,ベータテストユーザさん,数名受付中です.
参加を希望される方は,@sonson_twitまで,よろしくお願いいたします.
すでに希望された方・・・・もう少しお待ちください.
iOS6の新機能に焦点を当てた本を書きました.
6人で書いた本です.
私の担当部分は,StoryboardのUnwind segue, カスタムSegue,UI State Preservationです.

Unwind/カスタム Segue
iOS6の戻る方向にも遷移できるUnwind segueの使い方およびオリジナルの遷移アニメーションを持つSegueの実装方法について解説しました.
あまり知られていないのですが,Segueのサブクラスをつくると,オリジナルの遷移アニメーションを持つSegueを実装することができます.
Unwind segueやカスタムSegueがどのように実行されるかも含めて,それらを使いこなすために突っ込んで解説しています.
UI State Preservation
iOS6から,一部の状態保存をランタイムに任せることができるようになりました.
その機能をUI State Preservationと言います.
このUI State Preservationの実装方法から,内部のランタイムの動きについて解説しました.
付録
他にもなんと無料で読める付録があったりします.iOS6から実装されたマップアプリからアプリケーションを呼び出せる機能やiPhone5のためのコードとかの解説もあります.
私の担当箇所は,ドキュメントから読み取りにくかったり,解説されていないことを中心に書こうとがんばったので,初心者お断り感が漂っているかもしれませんが,結構読みごたえはあると思いますです.
ぜひお買い上げください.

コーディングが進んでくると,顕在化してくるのが過去の汚いコードです.
定期的なリファクタリングでこれを除去していくしかないのかといつもあきらめていますが,それをはかどらせるツールを見つけたのでメモ.
void hoge(int bar);
のようなメソッドを,
void hoge(int bar, void **context);
のように変更したくなったときなど,定数名を変更したり,メソッドの仕様を変更することはママあります.
名前の変更くらいならリファクタリング一発で終了なんですが,多少なりともロジックに手を入れた場合は,
一括変更は思わぬバグを生むかもしれません.(実際)
そこで,gccやllvmのattributeを使ってdeprecated警告を出すようにしてみます.
void hoge(int bar) __attribute__((deprecated("Use hogeWithContext.")));
void hogeWithContext(int bar, void **context);
こうすると,コンパイル時にコンパイラが警告を出してくれます.便利です.コメントは省略することもできます.
JenkinsのTestFlightプラグインを使ってgitのコメントをTestFlightのリリースノートにしようとしたら,どうやっても文字化けする・・・・・.
Webのフロントエンドからやっても文字化けするから,そもそも日本語に対応してない?
スクリプトでgitのログをエスケープして渡してもだめだった・・・・・
curl http://testflightapp.com/api/builds.json -F file=@ipafile -F dsym=@zipfile -F api_token= -F team_token= -F notes="`/usr/bin/git_log.rb`" -F notify=true -F distribution_lists=Test > curl.log
more curl.log
git_log.rbは,gitからログとってきて,URI escapeするだけの人.スクリプトでエスケープするやり方がわからなかったので迂遠だけどRubyでスクリプトかいた・・・・.
#!/usr/bin/env ruby
require "URI"
git_result = `/usr/bin/git log --pretty=format:\"%s\" -10`
puts URI.escape(git_result)
仕方がないや