2016年8月22日

大電力ラジオ放送の終焉

新年早々どうやって東京の拠点にて直接波のラジオ放送を受信するかということについて考えていたが、結局結論としては「何もアンテナを建てずに済ませる」のが一番良さそうだという話に落ちついてしまった。

その昔今は亡き関根慶太郎先生の最後のご著書であろうと思われる「無線通信の基礎知識」(ISBN-13: 9784789813464)にて予想されていたのが、「大電力大規模アンテナの無線通信は廃れ、小電力と小規模な到達範囲の無線局を多数置局する方向へ世の中が向かう」ということだったと記憶している。これを読んだ数年前はあまりその実感はなかったのだが、最近の世の中の情勢を見るに、もう大電力ラジオ放送は、少なくとも日本の都会では機能しなくなりつつあるのではないかという結論に至った。(この記事での話はいずれテレビ放送にも適用できると思うが、必要帯域や電力レベルを考えると、テレビでは技術的制約はずっと厳しくなるだろうと予想できる。)

以下に理由を箇条書きで書いておく。

  • ラジオ受信機とスマートフォンとの間の価格差は縮小している。家庭内にWiFi+定額インターネット回線が整備されつつあることを考えると、スマートフォンでインターネットラジオを聞くこととラジオ受信機で直接ラジオを聞くこととの差は縮小しつつある。
  • 移動中であっても、日本では3G/LTEの回線が整備されている地域であれば、ユニキャストのインターネットラジオでも基地局間のハンドオーバーが機能している限り中断はまずない。東京や大阪の地下鉄の中の状況を考えれば、むしろラジオ直接放送よりもアクセス範囲は広いくらいである。
  • 中波放送を電波で聞くのは、家屋内あるいは屋外の雑音(インバータやスイッチング電源の普遍的使用、特に最近は太陽光発電、LED電灯などの大電力パワーデバイスによる使用)を考えるに、ますます困難になりつつある。非常時あるいは停電時を除けば、その機能はインターネットラジオ(日本ではNHKのらじる☆らじると民放のRadiko)で十分補完されつつある。
  • FM放送を電波で聞くのは中波放送に比べればずっとノイズ耐性は高いが、これについても非常時あるいは停電時を除けば、その機能はCATVのFM放送中継、あるいはインターネットラジオで十分補完されつつある。(オーディオマニアの直接波受信指向については例外的な趣味として判断すべきであろう。)

平時の大電力ラジオ放送は以下の技術で置換されるだろう。

  • インターネットラジオ
  • CATVによるFM放送中継(あるいは地デジのデータ放送を使ったAMラジオの中継)
  • 3G/LTEあるいはそれ以降の携帯電話網

パラダイムシフトがあるとすれば、「大規模かつ広範囲なカバー範囲を提供する独立した無線局」から「小規模かつ小電力な狹いカバー範囲を提供する無線局が多数ネットワーク接続された複合体」への移行であろう。この環境では「マルチキャストあるいはブロードキャスト」とユニキャストのコストの違いはあまり意識されない(技術的にどのような負荷がかかるかとは独立した問題である)。この移行はまだ完了していないとはいえ、すでに起こっており進んでいることと予想できる。 このような移行によって失われるものがあるとしたら、それは以下の一点に要約されるであろう。

  • 単なる受信機では放送は受信できなくなったため、各端末に必要なエネルギー量が大きく増えている。携帯網あるいは無線LANに接続される端末は本質的に送受信機である。

この状況下で、大規模ラジオ放送の役割とは何なのか、今一度考えてみる必要があると思う。

(初出: Facebookの自分のタイムラインより 2016年1月3日)

2016年8月18日

祝「プログラミングElixir」刊行

このたび,Programming Elixir 1.2の日本語版がオーム社より「プログラミングElixir」として刊行される。この本は2nd editionであり、すでに3rd editionであるProgramming Elixir 1.3のプロジェクトが進行中だが、それでも日本語で初の本格的なElixir並行プログラミングシステムの書籍が出版されるのは大変喜ばしいことである。著者のDave Thomas、翻訳者の笹田さんと鳥井さん、編集者の方々、レビュアーの方々、そしてその他関係者の方々の努力に深く敬意を表したい。私もErlang/OTPに関わってきた者として、微力ながらレビュアーとして参加することができた。

以下は、「プログラミングElixir」発刊にあたっての、個人的なポエムである。

この本の「推薦のことば」にも書いたのだが、Dave ThomasがErlang Factory SF Bay 2014に現れたとき、「なんでRubyの人がErlangに関係あるのか」が、正直いってよくわからなかったのは当時の率直な実感だった。この時の彼とJosé Valimが共同して行ったプレゼンテーションは、"Catalyze Change"、つまり「変化を触媒となって加速しよう」というものだった。内容は、Erlangを読み慣れていない入門者にとって、Erlangのエコシステム全体がいかにわかりにくいかというのを徹底して糺弾するという、Erlang/OTPのファンにとってはかなり耳の痛い内容で、現場の空気は少なからず殺伐とした感じになったことを覚えている。そこでは、Erlangの文法のわかりにくさ、レコードの使いにくさ、マニュアルの読みにくさが強調された。これらの傾向は2016年の今でも直ったとはいえないだろう。Erlangのいわばドス黒い部分である。もちろんこの悪条件を越えている人達はいっぱいいるし、私もそれほどは気にならないが、多くのErlangを勉強しようとした人達を敬遠させる原因になったことは否定できないだろう。そういう意味でDave Thomasがやったのは、かなりキツいプレゼンだった。「Erlang/OTPにはこんなに未来があるのに、なんでこんな状況を放っておくんだ」というDave Thomasの不満は相当なものだったと思う。

しかし、Dave Thomasはそこで終わるような人ではなかった。なにしろThe Pragmatic Programmerという本を書き、Pragmatic Bookshelfを作った人である。彼はErlang/OTPに持っていた不満について、おそらくElixirに救いを見出したのだと私は思っている。そして彼はElixirを普及させる本を自分で書いてしまった。それがProgramming Elixirという本だった。かつてRubyに対して熱心だったDave Thomasは、今度はその情熱をElixirに向けたのだと私は思っている。残念ながらRubyに関する本は私はほとんど読めていないのだが、Pragmatic Bookshelfのラインアップを見ても、そのことは証明されているだろうと思う。なにしろMetaprogramming Elixirなんていう、Elixirのマクロを知らないと読めないような本、そしてPhoenixフレームワークのProgramming Phoenixという解説書まで出版させているのだから。こんなElixirに対してマニアックな人が他にいるだろうか?

Elixirが有名になってきた過程で、Erlang/OTPの側にいた人達は、かなり当惑していたように思う。ElixirにはErlang/OTPにない要素がたくさん詰まっている。そういう意味で私はまだElixirはほとんど使えていない。たぶん死ぬまで使えるようにはならないだろう。それくらいElixirは奥が深い。Erlang/OTPも2008年からつき合っているが、おそらく死ぬまでまともに使えるようにはならないだろう。どちらも奥が深すぎる。並行プログラミングシステムは、人類にはまだ早いのかもしれない。そんなことを思いながら、少ない時間の中で何度も実験を繰り返し、失敗し続けているのが現状だ。でもErlang/OTP単独ではできないことがElixirでできる。そのことは確かだ。だからElixirを支持しようと思った。その判断は間違っていなかったと思う。なにしろElixir、Erlang、どちらのコミュニティも小さすぎる。仲違いしている余裕なんかない。誰がErlang/OTPを維持し続けるのかということを考えたら、ElixirをきっかけにErlang VMを使うようになった人達を、仲間として歓迎こそすれ、絶対に敵にしてはいけない。今のところ、そういう判断でコミュニティは上手く回っているように私は思っている。共存共栄である。幸い、Erlang/OTPのプログラマの多くは、自分達のツールをElixirにも対応させている。

残念ながら未だにDave Thomas本人と個人的に話をしたことはない。しかし、Elixirを引っ張ってきた設計者でありErlang/OTPの辣腕プログラマでもあるJosé Valim、Phoenixフレームワークの作者Chris McCord、hex.pmパッケージマネージャの作者Eric Meadows-Jönsson、今はErlang/Elixirから離れているように見えるがビルドツールkerlを作りElixirの初期の普及に尽力したYurii Rashkovskii(この4人は皆若い!)、そして私同様のオッサンではあるがElixirの普及に力を注いできたBruce Tateなど、多くの強者達と話をし、彼等の作品に触れた経験で考える限り、ElixirはErlangが作ってきたエコシステムの可能性を大きく広げたことは間違いないと私は確信している。そのことをずっと前から見抜いていたDave Thomasについては、さすがとしかいいようがない。

「プログラミングElixir」は、どちらかといえばProgramming Erlang(第2版)(日本語版は「プログラミングErlang」(第1版の翻訳))同様、リファレンスではなく、最初から最後まで読んで手を動かしていくことで、プログラミングシステムの基本が身についていくようになっている本である。中にErlangのコードはほとんど出てこない。やっぱりErlangはDave Thomasには嫌われているのかもしれない(笑)。でも、OTPという単語は出てくる。だからOTPは知らないとこの本はわからないかもしれない。ということは、Elixirのマニュアル同様、Erlang/OTPのマニュアルを読まないと結局はいけなくなるのだろうと思う。Elixirは多くのElixirで書かれたモジュールを持っているが、実際はErlang/OTPのモジュールにも多くの機能を依存しているからだ。そういう意味で、この本を読んで先に進むには、Erlang/OTPの本が必要かもしれない。幸い、オーム社からは「すごいErlangゆかいに学ぼう!」(このblogで紹介した記事へのリンク)という本が2014年に出ている。両方読んでみることを、ぜひお勧めしたい。

これを機に日本でもElixirErlangに触れる人達がますます増えることを願っている。

2016年8月17日

個人事業ブログとの統合のお知らせ

個人事業ブログはTumblrで動かしていたのだが、米国Yahoo!の買収やセキュリティ攻撃などもあってTumblrの先行きが不安定なこと、そして個人としての自分は事業をやっている時とそうでない時と特に人格が変わっていないこと(変わったら大変だ…)など、諸々の理由により、個人事業のブログ(現在はblog.rikitake.jpで書いている)をこちらに統合することにした。blog.rikitake.jpからのリダイレクト先を変えれば済む話なので、運用上はそれほど大きな問題にはならないだろう。

なお、移行の際は記事数が少ないため、投稿日時を可能な限り保存しつつ手で移行する予定である。そのため、古いURLは消えてしまうが、そんなに記事数が多くないため深刻な問題にはならないだろうと予想している。 このblogの文体は基本的に「である調」だが、それ以外は今までの個人事業ブログと内容を変えることはないであろう。まあいわば事業報告をこちらのblogでもやっていくことになる。

2016年7月1日

大阪大学基礎工学部電子物理科学科にて平成28年度の講義を担当致しました

大阪大学基礎工学部電子物理科学科エレクトロニクスコースの平成28年度科目「電気工学特別講義」にて、力武健次技術士事務所 所長 力武健次が、2016年6月14日、21日、28日の3回にわたり講義を担当致しました。

講義の内容はInternet of Things(IoT)をめぐる諸問題についての一般的な解説です。詳細についてはこちらのGitHubレポジトリに公開しております。

なお、力武は平成21、22、27の各年度にも同講義を担当しており、今回は通算4年度目の登壇となります。

2016年3月12日

Erlang Factory SF Bay 2016にて発表致しました

米国サンフランシスコにて開催されたErlang Factory SF Bay 2016にて,力武健次技術士事務所 所長 力武健次が“Fault-Tolerant Sensor Nodes With Erlang/OTP And Arduino”と題して英語にて発表致しました.スライドはspeakerdeck.comにて公開しています.また、この発表で使用したソースコードやスライド原稿はGitHubのレポジトリにて公開しております。

なお、Erlang Factory SF Bay 2016 での発表の模様はYouTubeにて公開されております

2016年2月20日

Software Design誌にて「Erlangで学ぶ並行プログラミング」を連載しました

技術評論社のSoftware Design誌にて,力武健次技術士事務所 所長 力武 健次が,同誌2015年4月号より2016年3月号まで「Erlangで学ぶ並行プログラミング」と題して連載を行いました.ぜひご一読いただければ幸いです.

2016年2月18日

大学で過ごした日々

1984年から東大で学部から修士まで6年間、2002年から阪大にて外部の研究協力者として、また社会人博士の学生として3年過ごし、2010年から京大では教授として3年弱勤務した。残念ながらそれらで得た結論は皆同じで、どこも組織としてはダメだった。もちろんその過程でいろいろな出会いはあったし、勉強もできたことを考えれば、全部無駄だったとは思っていないけれど。

最初に大学に行ったときは、コンピュータ屋は目指していなかった。大学の中では計算機屋の地位は低い。そして率直に言って日本の大学は計算機科学のレベルは高いとはいえない。東工大のTSUBAMEのような例外的成功例はあるが、基本的に米国の後追いを越えていないし、また越えられない理由が無数にある。もしコンピュータ屋を目指すのであったなら、学部の時点でUC BerkeleyやStanfordやMITを目指すべきだったと思っている。もっとも、お金もなかったし体力もなく健康でもなかったので叶わぬ夢だったが。

もっとも、そうはいっても、結局、自分は理論物理屋も地球物理屋もできず、さりとて成績も良くなかったのでそもそも理学部情報科学科への進学はかなわず、工学部応用物理関連学科群に進学することになった。本格的にコンピュータ屋に復帰したのは、修士の時に情報工学専攻で学ぶことになってからである。これが良かったのかどうかは、自分では判断できない。まあ、好きなことではなく、目をつぶってでもできることでなければ人間はロクに稼げないので、そういう意味では向いていたのかもしれない。

21世紀になっても相変らず旧7帝大が権勢を振るっているのが日本の実情だと個人的には思っている。国公立私立を問わず、文科省が生殺与奪を握っている以上、これは不可避かもしれない。国立大学も2006年に国立大学法人と名称を変えたとはいえ、どの大学も運営は官僚的そのものであり、計算機科学のような論文数も少なく何をやっているかわからない分野には理解は低い。

大学は基本的に外部との交流をものすごく嫌う。中の組織は皆それぞれの派閥を作りたがるので、常に相互監視疑心暗鬼の世界にある。このような状況はこの30年弱で変わるかと思ったが、大して変わっていない。かつて京都大学にて全学の情報セキュリティに関する仕事をしていたときには、多くの教員から敵意に満ちた批判を受けた。まあ職務上無理からぬこととはいえ、組織としての統制がまったく効いていない状態では、徒労感のみ残る仕事だったことは否めない。実際には、統制される側が自律しているとはお世辞にもいえない状況であり、日々起こる事案に対応しなければならず、現場は混乱の極みだった。

京都大学でもう一つ感じたのは、学生が自由を求めていろいろ騒ぐのはいいとして、本来それを受け止める側の教員までが同じように騒いでいる例が少なくないことだった。京都大学は対話を重視する大学をスローガンとしてかかげているが、実際には各人自分勝手な主張をしているだけで、何の対話にも教育にもなっていないように見えた。もちろん粛々と日常業務をこなし、一切動じていない先生方もたくさんおられたのもまた事実だが。自分もそのような日常業務をこなし、一切動じない教員になろうと努力はしたが、あまりにも不条理が多く、プロパーでないことによる立場の低さはいかんともしがたい状況であったため、結局健康を害してしまった。

そんなわけで、自分は大学に関しては、人生選択を誤ったなというのが率直なところである。計算機科学に限定するならば、北米のトップの大学へ行った方が遥かに実践的な勉強ができただろうし、現在なら他の選択肢はないに等しいだろう。

ただ、学術研究そのものに対する締め付けとコスト高騰の波は日本以上に北米は厳しい。コンピュータ屋の場合、大学を出てさらにテックベンチャーで滅私奉公して働くことを覚悟しない限り、自己破産でも免除されない学資ローンの借金で首が回らなくなることは想像に難くない。それが本当に正しい人生の選択なのか。そしてサンフランシスコの超高コスト社会で大きな出費を強いられるのが良いことなのか。


何が正しいか、今の私にはわからない。それが率直な感想である。

(初出: Facebookの個人アカウントでのNotes 2015年9月26日)