ほかの Advent Calendarを眺めてみる
ほかの Advent Calendarを見てうらやましげだな、と思って始めた企画なんで、とりあえずほかのやつを見て小並感でも書いてみます。 あんまり網羅しておらず、行き当たりばったりです。
上から目線でどうでしょうか、とか書こうと思ったけど、上から目線で切る立場じゃないので、面白かったものを淡々と。
モバイル DevOps
モバイルDevOps - いいアプリを楽しく開発できる現場を作るために大切なこと - Qiita
Webと Mobileの違いが面白かった。というか、そこらへんに歯がゆさを感じてるモバイル開発者は多いんじゃないかな。Webの best practiceを適用できないという。 そのせいで、Mobileはまだ Water Fall風の流れがまだ残ってるんだよなあ。仕様書きっちり書こうとしたり。tryするだけでできないけど。中途半端だ。
Sketch3
github×Sketch 3 運用のススメ - meycoのUX&UIデザイン技術メモ
一応、自分も参加してる Sketch3 Advent Calendarの 1日目です。同僚でもある meyco氏です。
思ったより長い。というか、こんなこと考えてたんだなあ、とびっくり。あと、ちょっと突っ込みたいところもあるけど。
っていうか、Github運用の話はもっと先の日じゃんかったっけ。自分はそこに続くネタとして日にちを調整したのに。まあ、面倒くさいから日付は移動しないけど。
まあ、DevOps的な観点からここら辺の Designの雑事ってもっと減らせる気がするので、かかわっていきたいとこです。
Android
Choreographer 〜 AndroidでFPSを意識してみる話 〜 - Qiita 専門の Androidも。 @wasabeef_jpさん相変わらず頑張ってるな。
FPSというのは、普段意識してないけど,確かにかくかくするところはあるので意識すべきかな。それよりライブラリをすぐに切り出す態度が偉いな。でもメンテできてるのかな。いっぱい出して生き残ればいいのかな。
Scala
http://qiita.com/wasabeef_jp/items/a98571081f6c3224744a Scala が解決できる Android アプリ開発の問題領域について - 非同期処理編 - Qiita
すごい Scalaファンじゃないけど成り行きで読んでしまった。Androidネタに絡めてあります。
ここら辺、Promiseは monadだ、ってことに帰着するんでしょうか。ざっと読んだだけなんで咀嚼できてません。
個人的には Androidで Scalaはないなあ、と思うので Kotlinで同じことできないかなあ、とか夢想します。でも Closureの数が多くなりすぎて Androidでは破たんするのかなあ。Bytecodeレベルでの optimizer (facebookが作ってたよね) で解決したりするのかなあ。
オレの
本日 JavaScript ゲームライブラリ『phina.js』をリリースしました! | phiary
勝手に対抗意識を燃やしてた オレの Advent Calendar ですが、俺のみたいにネタじゃないみたいです。Phinaって jsライブラリをまじめに公開してます。結構準備してたみたいです。すみません、侮ってました。
終わり
現場からは以上です。
俺の Advent Calendarをやってみる
0655を見て、ああ、師走も始まってしまったんだなあ、と思いつつも 12月最初のあわただしい朝が始まってしまった。今日は嫁が用事で早く出るとかでいつもよりも忙しい朝だった。その代わり、子供とともに出かけてしまうといつもよりも静かな朝が来た。ということで、一人でいる朝にこんなものを書いている。
というより、思い付きで始めてしまった。俺のAdvent Calendar である。
まあ、twitterで 1日目書いたよ、ってのをいくつか見てちとうらやましくなったのが端緒である。blogとかいうものちっとも書いてなかったので書かなきゃ、というものもある。発表もいくつか応募したのでネタを書く練習をしなきゃ、というものある。まあ、いろいろある。
よくある 30days lifehackというやつと言えなくもない。まあ、正確には25日だけど。たぶん、同じことをしてる人もそこそこいるんだろう。ググってもないけど。「俺の」って命名も、某レストランチェーンに乗っかったようで凡庸なネーミングだ。あれってあとから変えられるのかな。
単に書き続けることが目的なので、何について書くかは決めません。時間がなくて単に一言の愚痴とかになることもありそう。避けたいけど。たぶん、仕事柄プログラミングネタが多くなるだろうけどそうじゃないものも書くのでは。よくわかりません。
いずれにせよ、最初は勢いで、最後は惰性で頑張りたいと思います。「勢い」と「惰性」、物理的には同じような意味なのにやる気のあふれ方の違いが面白いな。アリストテレス的とガリレイ的な世界観の違いかな。
あわてて思い出しながら描く
7月も終わりになってしまうというので、一応近況がてら書いてみます。忘備録というか、誰得なチラ裏になるけど。
Quipper社買収発表および引っ越し
一番でかいのはやはりこれでしょう。techcrunch ですっぱ抜かれて、というかリークしたように Quipper社は Recruit 社に買収されていたのでした。これで公に言えるようになってよかった。
それに伴って、渋谷区の端っこの笹塚から中央区は京橋にオフィスが引っ越しました。Rグループの一員という感じです。個人的には昼飯事情がよくなって大変うれしいです。旧オフィスは笹塚といっても駅徒歩15分の住宅街の中にあったので、あまり昼飯の選択肢がありませんでした。でも、京橋は歩いて5分以内に選択肢が山ほどあります。毎日違う店に行っても半年ぐらいは困らないでしょう。夜もいろいろありそうだし。めでたい。
ちなみにオフィスについても前回ほどではありませんがファンキーさを残しております。ごろ寝スペースはあるし、テーブルフットボールもバージョンアップされました。前回は、くつろぎすぎてまるで部室みたいだ、と言われたのですが、今回は社会人としてもっと清潔感を出すように心がけたいと思います。
お近くに来た時はぜひ遊びに来てください、といいたいところですが、今回大企業に買われたということで、いろいろ社内ルールを見直していて、簡単に執務スペースに入れなかったりするのかも知れません。カードキーとかもついたし。はっきりしたらまた更新するかもしれません。誰も見てないからしても意味ないか。
お仕事内容は、まだはっきりとは言えませんが、なんとなく決まってます。残念ながら自分は向こうのエンジニアとかとちゃんと絡めてません。隣なんだから行きたいんだけど、いきなり乗り込むほど度胸ないっす。まあ、当面は以前どおり海外むけの Quipperサービスをメインに粛々と続けていきます。
社内の雰囲気は変わるかについては、今のところそんな変わってません。11時過ぎに blog書いてるところで察してください。CEO経由で聞いたところによると、R社はそういう文化込みで Quipperを買ったので、それをわざわざ壊すようなことはしないはずだ、とのこと。それを信じて、当面は短パン Tシャツで出社してます。
残念なこととしては、そこそこやめた人がいたこと。これは単に R社に買われたからというわけではなく、皆それぞれ事情があって、それとタイミングを合わせて考えたら今やめるのがベストだということでそうなったようです。もちろん、イグジットしてしまってこれ以上いてもチャンスがないから、というも加味されたりしてるんでしょう。スタートアップとしては当然のことであります。
そのかわり資本力が増えたことにものを言わせた採用活動が実って、一緒に働いてくれるメンバーが数人内定しました。ちなみにフィリピンでも 2人 Android Engineerが増えました。そこについてはまた別で書こうかな、とか思います。
全体としてなかなか強力なメンバーがそろったようで、wktkです。チーム運営的な難しさは増えてくるんでしょうが、Q社としての文化を残したまま、うまくゴールを合わせて作り上げていきたいところです。
その他
なんか、買収まわりのことを書いていたら長くなってしまいました。ほかの activityについては githubでも参照してください。
あと、Windows10まだ入れられてません。うむむ。
WIndowsの入力回りがだいぶまともに
二週間ぐらい前に Vaio Pro買ったよ報告をしたが、やっとキーボード回りが快適な状態になって来て使えるようになってきた。のでみんなに公表。我ながら偏った設定だと思うが、Unix系から流れた人には参考になることを希望しつつ。
のどか
autohotkey や ymmyも試してみたが、のどかにした。
英語モードだと default2.nodokaをちゃんと読んでくれない (SJIS encodingになっていたらしい) とかではまったが、まともに使えるようになってきた。やはり emacs bindingから離れられない。
ということで、現状の設定ファイルをhttps://github.com/dagezi/nodokarc に置いといた。
Thumbsenseも当然ながら有効になっている。
やや困るのが、touch trackpad
-> D-F
-> untouch trackpad
-> U-F
のシーケンスで、最後に MouseUpではなく U-F
がそのままはかれてしまい、いろいろ整合性が取れなくなる。ここはちゃんと shift状態を保持してほしいが、設定ファイルでいじるところではない気がする。
やれやれ、subversionをinstallしないと。
Synaptics track pad
本当にこれはひどい。MacBookユーザが Windowsに移行して使いにくいという原因の 8割がたは、この tuneされていない trackpadに起因しているのではないかとさえ思う。コンピュータに意志を伝える第一段階、マウスカーソルの反応が遅いと、どれだけ普段の生活にストレスを与えるかの好例。しかも脳みそは、それを trackpadのせいだと認識できず、Windows全体に非難は分散する。Windowsかわいそうだ。
てっきり、そういう tuneされていないデバイスは台湾製の PCだけかと思ったら、元Sony製の Vaioですらその状態だったというのはがっかりである。
ということでこの tuneはむちゃくちゃ重要、かつ生産性に聞くと思う。まだ Windowsで何も生産してない俺がそういっても説得力ないが。
以下、defaultから変更した設定項目を書いてみる:
- Tapping: off。カーソルを移動しようとしてクリックになるかと思うと、怖くてカーソルも移動できない。
- SmartSense: とにかく off。default onなのが信じられない。これを切ったらむちゃくちゃ反応性がよくなって快適になった。
- Pointing-Sensitivity: これは一番 lightに。すぐに動け。
- Button-Right Button Zone: Thumbsenseがあるので 0
- Clicking-Two finger click action: Primary clickに。間違えて触ってしまって右ボタンメニューが出てびっくりするので。
でもまだ2本指スクロールがちょっと不満。MacBookほど反応性がよくないのは、deviceだけのせいではない気もする。
あと inactiveな window上での振る舞いが MacBookとちょっと違う。Macはカーソルがある部品がスクロールする。論理的整合性がないなあ、とか思ってたが結構便利だったことが、Windowsに移行してわかった。xmouseも試してみたが、active windowだけの問題ではなく、windowsの中の focused controlもあって、単にカーソルの下の controlが scrollするようにはならず、ちと不満。
windowsいいね
先週末に Windows 8.1搭載の VaioPro11を買った。というか正確には注文してたのが届いた。たぶん、ものを知ってる人にはなんで今更 VaioProなの、と言われそうな気もするが、Buildをみて Windowsに興味を持ち、いきなり店頭を見て現状のもので一番よさそうなのを探したらそうなっただけである。もう少し待てばいいのが出たのかもしれないが (実際、VaioPro mk2とか出て少しびっくりした) 果報は寝て待てじゃなくて思い立ったら吉日だし。
現状の感想を言うといろいろ面白い。まだ、Android Studioも入れてなくて実用段階にはなっていないのだが、それ以前のところではまって遊べている。単なるカスタマイズ厨になってるだけかもしれない。
そういう段階ではあるが、同僚に「windowsにもいいところあるんですか」とか煽られたので現状を書いてみる。
大きさ
まず、MacbookProなんかより軽い。900gぐらい。鞄に入れて移動しても腰が痛くならない。 Air対抗でしょうが、RAM 8GiBなので実力的には MBP相当だと思ってます。CPUは i5の 1.7GHzだけど RAMのほうが重要でしょう。
PocketBSDのころ、とまではいかないけど、FIVAと同じぐらいに気軽に、必要性をあまり考えずに持ち歩けるのではないでしょうか。
Metro
すまん、ちっとも使ってない。タッチパネルにはいいのかもしれないなあ。でもキーボード厨の自分には合わなかった。
キーボード回り
実を言うと、一番はまってるのがここだ。
昔は窓使いの憂鬱を使っていたもんだが、今は動かなくなってる。yamyというのが後継に当たるらしいが、ThumbSenseとの絡みで、同じニッチを占める autohotkeyを入れてしまった。また、xkeymacsもうまく動いていない気がする (現にいまこの textfieldで動いてくれない!) ので何とかしたい。
autohotkeyというのはいろいろ怪しいマクロみたいなのを書いてカスタマイズできて、ThumbSenseっぽい機能もこれで実現しているのだが、どうにも怪しい。Vzマクロに BASIC風味を入れたみたいな (Gosubとかある!) 21世紀にいるのが信じられなくなる奴だ。そこらへん、どうにかしたい。
IME
実を言うと、一番いいのがIMEかもしれない。自分は boiled-eggにかぶれて以来、勝手にローマ字かな変換してほしくない派なので、MS-IMEの「半角英数からローマ字かな漢字変換」というのを愛用していた。Macにはなかった気がする。GoogleIMEにちょっとパッチを書いたことはあるのだが、メンテするのが面倒臭くなってやめてしまった。
ということで、MS-IMEに戻ってその機能が使えるようになったので、かなり日本語が楽に打てるようになった。Macでは日本語打つのが面倒なので英語で memoをとったりしてたので、それはそれでよかったが。
開発環境
とりあえず、Visual Studio 13 Community Edition(だっけ)をダウンロードしただけです。C#とかちっとも書いてません。
開発環境じゃないけど、PowerShellもちょこっとやり始めてるところ。「使う気がない人向けの PowerShell入門」とかからリンクをたどってる。
やせ我慢
とりあえず、emacsと cygwinを入れずに当面は頑張ってみる。editorは Atomメインでやってみてます。 gitとかは scoopってので入れてみた。windows版 homebrewらしい。Rubyとかまともに使えるのかなあ。
Linuxとかも多分入れなきゃいけないことになりそうdけど、とりあえず 100GBほどパーティション切って放置してる。
まとめ
実用性を考えるなら、まだ MacBookProを買ったほうがよかったのかもしれないな。まあ、所詮趣味のPCだし。
Infield Top Aligned Label on Android
知り合いの facebook経由で以下の様な記事を見た。
普通の infield labelは消えちゃうから駄目だし、かといって上に label 書くとうざいから fieldの中に書こうぜ! という話。一読してから、Androidでは難しいのではないかなあ、と反応したものの、本当は難しくないような気もしてきたので作ってみた。結果、そんなに難しくなかった:
あんまりオリジナルほどかっこよく見えないのは、自分のデザインセンスのなさです。あと、生年月日と性別を横に並べると Nexus Sぐらいの画面では切れちゃうので縦にしたのもいまいちですね。
そもそも使いやすさとは
元ネタでは「紙のフォームっぽいから使いやすい」とか書いてあった気がするのだけど、考えてみると紙のフォームそのものが使いにくかったことも多い。こういう枠が書いてなくて、下線の下にラベルが書いてあるのを勘違いして、ラベルの下 (つまり下線のさらに下) に書いてしまったりしたこともよくあった。世にはびこる UIを真似しても、実は BADUIだということもあるので気をつけねばなるまい。
4月にやったこと
ふと思いついて、4月にやったことのまとめ。なんとなく頑張ったなあ、と思ったので。
フレッシュ完走
自転車で 24hで 360km以上走るというマゾヒスティックなイベント、フレッシュ2015 に参加して完走しました。 コースとしては、山形は天童から裏磐梯、喜多方、鬼怒川を通って武蔵小杉に向かうという、最初山あり、後半平坦で楽に走れるコースのはずでした。でも最後の環七のアップダウンの多さでヘロヘロになり、時間切れしそうになって危うかった。 ブルベは、後半疲れてネガティブなことをいいあうのが楽しいと思いました。
自転車修理いろいろ
で、思い起こしてみるとフレッシュ以降も自転車をいじっていろいろ楽しかったのが 4月の充足感につながってるなあ、という気がする。
ブルベのためにペダルを変えたんだけど、それをちゃんとはめてなかっせいでクランク壊して、交換してもらったんだけど自転車屋がいい加減でチェーンががたがたで、自分でチェーン切って直したり。今となっては快調に乗れるようになった満足感高いっす。
自分のはカネかけてないけど、自分が制御できる範囲でいろいろ変わるのが自転車満足度高い。ヘタしたら簡単に死にそうだけど。
生命保険見直し
生命保険とかいうのは面倒臭いなあ、と思っていたのです。でも結婚した時に嫁に言われたのとかで入ったのが、更新時期が来たのでエイヤッと見なおして、保険料が安くなったのがめでたい。具体的には、いわゆる生命保険はやめて、ほぼ医療保険だけにしました。俺が死んだら実家でも頼ってなんとか自活してくれ、という意味です。
医療保険はいまでも元はとってないんだけど、年取ってからだと入れないかなあ、という恐怖のためです。ここも冷静に考えるとどうなのかなあ、という気もする。
あと、営業の人はやたら要介護状態のことを話してたんだけど (まあ、俺が死亡時の保障はいらないっていったからそこしか攻めるところなかったのかもしれない)、鬱とか精神衛生が問題になって就労不可能になったときはどうなるんでしょうねえ。コの業界だとそっちのほうが切実だと思うんですが。そういう保険ってないのかしらん。
Kotlinかわいい
potatotip 16 っていうところで発表したんですが、Kotlinやりました。まあ、面白かった。というか、発表ドリブンになって、そのあとコードいじってないのがいけない。うむむ。
IntelliJがちゃんとサポートしていて、正しい書き方教えてくれるのがすごく楽です。新言語やライブラリを覚えるときの負担がものすごく少ない。逆に IDEがないとかけない身にはなるけど、まあ、Javaだってそんなもんでしょう。
Kotlin自体は、Javaの冗長なところを省いていていい感じです。Groovyほどの自由奔放さもなく、おしとやかな感じ。Scalaのような重装備感もない。使っていくうちに不満もたまるのかもしれないけど。
Rxは、ちょっと強力すぎて、逆にぐちゃぐちゃなコードをかけそうでこわい、というのがおじさんの最初の感想。何も考えずに Observerを継ぎ足していってこまったことにならないかなあと。まあ、それほどでかいものを書いているわけではないので杞憂だったり、すでにベストプラクティスがあったりするんでしょうが。
JavaDay + Java CCC 2015
両方共 Java関係のイベントなんで一緒にしちゃいますが、JavaCCCの方が面白かった。そこでも Groovyやら Clojureやら AltJavaの話が面白かったんですが。Kotlinネタはなかったな。
Groovyは、ちゃんと聞くと強力だというのがよくわかりました。Spockとかで使ってますが、確かに、書いた本人も構文解析できないような強力さがあります。スクリプトとか書くと便利そうだとは思いますが、現職では Rubyのほうが流行っているのでわざわざ使う必然性も低いのが辛い。
Clojureは、括弧が安心させてくれますね、やはり。自分は Clojureは STMの文脈で興味をもったのだけど、そうじゃなくてもちゃんと使えるというのを教えてくれました。Emacsおじさんとしてはすかすかとコードかけそうな幻想を抱かせてくれます。
JavaOneは、lambdaの実装の発表が面白かったっす。Androidで使えないのがフラストレーションだったので。発表してくれた Davidさん、日本語上手でした。
DroidKaigi
これは、キャンセル待ちにして忘れてたら、当日の朝繰り上げメールが着てて、あわてて嫁さんに許可とって 3セッションだけ聞きに行った。ほんとは Pixivのひとの企画からの話を聞きたかったんだけど、自転車の錠わすれて、渋谷の錠売ってる店探してたりして聞けなかった。
@kmt-t さんの ARTの話がやはり面白かったかな。でも、自分がしってもいまのところそんなに利用価値がない話ではあったりするんだよな。
できれば、ちゃんと予定をとって全部聞きたかったですねえ。
というか、ああいう人気のカンファレンスになると、行けるかどうかわからないけどとりあえず予約しておけ、っていう人が増えてキャンセルが増えるんですかね。俺みたいなキャンセル待ち順位が低い人でも行けたってことは。そこら辺、無駄な予約に対するインセンティブが問題になるっていうのは、ムーンライトながらみたいだなあ。
仕事
最後になりますが、仕事の面でもそこそこやってます。
まず、Quipper社全体としていろいろ発展しそうなネタが出てきました。ここでは言えないのだけど、いままでやってきたことが認められた感じです。個人的には、なんとなく雰囲気で Quipper入っちゃった気はするけど、その選択は間違ってなかったかな、と。
個人の仕事としては、Android側だけではなく、サーバ側と協調してやらなきゃいけない機能が増えてきて、Rubyのコードも読んで設計するようになってきました。ただ、まだ書くのは時間かかるので頼んだりしてます。でもそろそろ挑戦する。MongoMapperよくわからねえ。
また、世界の趨勢、及び Quipperの狙ってるターゲットからすれば Androidっていうプラットフォームをもっとサポートするべきじゃねえ? という意気込みで、口出していってます。モバイルファーストとかぬるいこといってないで、オンリーモバイルなんじゃないの、と。まあ、そこは長年組み込みに関わってきたポジショントークもあります。
まとめ
なんとなく、連休初日に早起きして気分が良かったのでだらだらと書いてしまったのですが、お付き合いくださってありがとうございます。こんなところまで読んでる人いるのかなあ。 もしも読んでたらスターでもつけてくださると幸いです。