blog.8-p.info

ex-mixi Advent Calendar 2017 に参加して、Kotlin のコレクションと Mapped Types について書いた。Kotlin が喧伝する Java との相互運用性 (interoperability) って実際のところなんなのか? 別に Scala と変わらないじゃないのか? という問いに対して、このコレクションまわりの設計をあげるのは、まあまあ同意してもらえる答えなんじゃないかと思う。

私は一時期 Scala に肩入れしていたので、Android におけるベター Java の位置が Kotlin に取られてしまいそうなのは残念だ。一方で、ランタイムサイズを考えると妥当な選択肢だとも思う。

サーバー側のベター Java の位置は

  • Android で Google のお墨付きをえた Kotlin
  • Dotty の開発もすすむ Scala
  • 6ヶ月ごとのリリースになった Java

どれが来るのか、まだわからない。

そもそも誰もベター Java なんて必要としていなくて、Go が流行りだすというのもありえる、というか現実に起こりつつあるけど、個人的には map や fold ができるような言語にがんばってほしいです。

家にたまっている Communications of the ACM から、親らしく Portable Device Fears Show Power of Social Development という記事を読んだ。

記事では、テレビは子供に悪いといわれているけど

When those studies on behavior were done, technology just meant television. There is nothing that’s formally in the literature linking those outcomes to portable digital media.

はたしてタブレットなどで消費するデジタルメディアはどうなのか、という点について何人かの研究者の声を紹介している。

テレビが悪いってそこまでわかってるんだっけ、と Google してみると、記事の中にも出てくる Dr. Dimitri Christakis

He and his colleagues in the Christakis Lab have made a number of landmark findings, including discovering that young children who watch TV are more likely to develop attention problems and other health and behavioral issues.

という研究をしていて、一般向けの “The Elephant in the Living Room: Make Television Work for Your Kids” という本も書いているのを知った。氏は TEDx でも話しているみたいなので、まずはそれを見てみるのも良いかもしれない。本は読み切れるか少し不安。

“What we are finding in our lab is that these devices command attention much better than other things. It can make it more difficult for parents to interact with their children,” Christakis adds. “I tend to think of the effects being mediated through two different pathways. One is the direct pathway, which is the actual content. Interactive media could lead to the same kind of overstimulation as fast-paced TV, although being interactive, it means the child can control the pacing in a way that isn’t possible with television.

“There is also the indirect pathway, which works through displacement. This is about what could they be doing that they aren’t, whether it’s singing, reading, or going outside to play. Even if someone developed the perfect app that was perfectly paced and shown to be beneficial, if children used that app eight hours a day, we would recognize that behavior as being a problem,” Christakis adds.

他にも、時間制限を子供に決めさせる話や、スクリーン上での学びを現実に適用することは子供には実は難しいこと、デバイスを2人で共有させたほうが専有するよりもテストで良い結果が出たという話など、興味深いものが多かった。

松尾 豊『人工知能は人間を超えるか ディープラーニングの先にあるもの』を読んだ。人工知能分野のこれまでの経緯と、深層学習 (ディープラーニング) が過去の機械学習とどう違うのか、というところがわかりやすく説明されていて良い本だった。

一方で、最後の章にある

現在、ディープラーニングに代表される特徴表現学習の研究は、まだアルゴリズムの開発競争の段階である。ところが、この段階を越えると、今度はデータを大量に持っているところほど有利な世界になるはずだ。

という書き出しで、アルゴリズムの開発競争でのアドバンテージを持つ必要性を訴える部分は、あまり同意できなかった。そこでアドバンテージを持てたら素晴らしいけれど、一方でアルゴリズムはデータに比べるとオープンになりがちで、優位を維持しつづけるのは難しいんじゃないかと思う。

人工知能というか機械学習というか、ここ数年にわたって毎年勉強しようと思っては挫折していたけど、今年は Udacity のコースで少し scikit-learn に入門できて良かった。

一方で、機械学習の専門家やチームがいるような環境で「ちょっと機械学習を勉強しました」くらいの人がなにか貢献できるものがあるのか、というとよくわからない。

  • どんどん勉強して、最終的には専門家となる
  • 機械学習だけでは専門家には敵わないけれど、ソフトウェアエンジニアリングとの二刀流で価値を提供する
  • 専門家の手の回らないところで、素人でも成果をあげられるような簡単な問題を解く
  • 自身で成果はあげないけれど、専門家と協業するための基礎知識を学んでいる

どのあたりが、自分に実現可能なラインなんだろうか。

アメリカに来たばかりの頃は AT&T を使っていたんだけど、去年に T-Mobile に乗り換えた。

T-Mobile は日本もふくむ海外でのローミングが基本料金に含まれていて、それが一番助かっている。日本に帰ったり海外旅行に行っているときに SIM の入れ替えをしなくていいのは楽で良い。今年に入ってから Sprint も同じようなサービスをはじめているので、今ならこれも考慮に入れて良いかもしれない。

電波はそれなり。T-Mobile が Extended Range LTE と呼んでいるものは、以前は LTE band 12 (700MHz) のことで、最近になって LTE band 71 (600MHz) が加わった。古い電話だと前者は対応していないし、新しい電話でも後者に対応しているのは稀なので、自分の電話が対応している LTE のバンドをちゃんと調べたほうがいい。

値段は、大企業に勤めている人は、会社割引が原則として無いことを前提に、他のキャリアと比べる必要がある。

吉田慶章さんの ブログを書く技術 が良くて「もうちょっとブログを書きたい」と Twitter に書いたら、karino2 さんから

もうちょっとブログ書いていきたい、という話をtwitterでするのはどうなのか?

という、もっともな ツッコミ をもらったので、こちらにも書いてみる。そういえば karino2 さんも ブログの時代がふたたび到来!? と書いていた。

吉田さんは “Soft Skills” も推しているけど、あの本のマーケティングとブログの話はもう少し戦略的で

You should also make sure you’re writing quality content.

といってみたり 1

You might be particularly interested in a certain aspect of a framework or technology, but if your target audience isn’t, it won’t do you much good.

と釘を刺してみたり 2「とにかく書きましょう」というアドバイスとはちょっと路線が違っている。

個人的には、そういうマーケティングを狙ったブログはさておいて、しばらくは書くことの習慣化を目指していきたい。


  1. 21. Creating a widely successful blog ↩︎
  2. 22. Your primary goal: Add value to others ↩︎