2011年10月17日月曜日

A3 Together "アプリ/Webサービス賞" に「牛トレーサー」がノミネートされる!

以前この blog でも告知させていただきましたことがあります、拙作 Android アプリ「牛トレーサー」ですが、日経BP ITPro さん主催の「A3 Together」で "アプリ/Webサービス賞" にノミネートされました( 受賞作品一覧, ITPro Expo 2011 での発表を伝える記事 )。まずは陰に陽に応援してくださいました皆様に御礼申し上げます。

正直このアプリはコンテストに出展するために書いたものではなく、逆にアプリの宣伝の一環としてエントリーさせていただいたような形で、賞に入ることは期待せずに、審査に関わった方に触れていただくことのみを期待してエントリーしたもので存外の評価を頂いてちょっと恐縮しております。開発した私の方針としては「時事ネタの単発アプリだけど、やるからにはマジメに取り組もう」という方針で作ったものでございました。

もちろん消費者の方が汚染された食品を口にすることも、放射線による過剰反応で農家の方が風評被害に苦しむことも、どちらも悲しいことなのでそういったことを防ぐ助けになればという思いで作ったものでございました。

今後の日程でございますが、来る 10/29 に仙台で A3 Together の発表会・表彰式が予定されており、"アプリ/Webサービス賞"の大賞をかけ(?)て 5分間のプレゼンを行う予定です。この模様は UStream.tv の A3チャンネルでも配信されるということなので、ご覧になってくだされば幸いです。


Ubuntu 11.10 "Oneiric Ocelot" リリース

今、最も人気があると言っていい Linux のディストリビューション Ubuntu の最新版 "Oneiric Ocelot" が先週 10/13 にリリースされました (いきなり脱線しますが、"Oneiric Ocelot" は「夢見がちなオセロット」と翻訳されることが多いですが個人的に「夢見るオセロット」を推していきたい気がします) 。また、一歩進んだ日本語環境を提供する「日本語 Remix CD」も 10/16 にリリースされました。

Ubuntu 11.10 リリース ( Ubuntu Japanese Team )

Ubuntu 11.10 日本語リリースノート ( ubuntu wiki )

Ubuntu 11.10 Desktop 日本語 Remix CD リリース ( Ubuntu Japanese Team )

リリースの大まかな雰囲気としては、リリース日に公開された Ubuntu 道場が、より突っ込んだ内容についてはリリースノートが大いに参考になると思います。特に Ubuntu Japanese Team の皆さんが言っている通り、リリースノートは必読です。リリースノート翻訳はかなり修羅場だったそうなのでそういった面も含めて是非読んでください。

行っとけ! Ubuntu道場! - 第49回 ~師範、Ubuntu 11.10について教えてください!~ ( ascii.jp )

私もこの週末に以前この blog でもとりあげた「さくらのVPS512」や自宅のマシン等にインストールやアップグレードを行ってみました。道場の記事やリリースノートを読む限りにおいては、ブラッシュアップが主な内容だということですが、/var/run が /run へ、 /var/lock が /run/lock へ移行したことによる影響がアップグレードインストールを行った際に出る場合があるようです。リリースノートには Ubuntu AppArmor と VMWare に焦点があてられていますが、これ以外にもこれらのディレクトリの移行に失敗し影響が出るケースがあるようです。実際に遭遇する現象としては、アップグレード後の起動時に
Waiting for network configuration...
Waiting up to 60 more seconds for network configuration...
という表示がなされたままログインプロンプトやログイン画面が表示されないという状況になります。これらについてはそれぞれ


incomplete migration to /run (shutdown script order has been demolished)

Boot hangs at "Booting system without full network configuration..."

Unable to connect to the system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused (oneiric)

[oneiric] Keyboard & mouse not working in X - incomplete migration to /run

で議論されているところですが、対処方法としては、[ctrl]+[alt]+[F1~F6] でコンソールを切り替えたり rescue mode などでログインし、 /var/run と /var/lock を手動で移行するという方法があるようです。Ubuntu 11.04 までの標準構成ではこれらについては tmpfs で mount されていますので、
# mv /var/run /var/run.bak
# ln -s /run /var/run
# mv /var/lock /var/lock.bak
# ln -s /run/lock /var/lock
として、/var/run や /var/lock については /run および /run/lock へのシンボリックリンクを作成する必要があるようです (もちろん問題がないことが確認できたら、 /var/run.bak や /var/lock.bak は必要ありませんので削除できます) 。 /run や /run/lock への移行が完全であればこのシンボリックリンクは必要ないように思われますが、この辺はまだまだ完全に整備されているわけではなく、シンボリックリンクがないとやはり起動しませんので注意が必要です。

また、このような移行を行ってもなお問題が解決されないケースがあり、/etc/network/interface の記述をそれぞれコメントアウトしつつトラブルシュートしたりする必要があるようです。

今回の /run および /run/lock への移行は Linux FHS ( Filesystem Hierarchy Standard ) 3.0 Draft 1 への準拠による問題なので、これは Ubuntu に限らず遅かれ早かれ多くの Linux ディストリビューションで問題になりそうな感があります。

ということで、今回の Ubuntu 11.10 へアップグレードする際には道場の記事の中でも出てきましたが
編集S:まとめると、「自信があるならバックアップ取ってからアップグレードするといいよ」「自信がなければ1ヵ月ぐらい様子を見て、問題が出尽くしたあたりでチャレンジ」かな?
ということに尽きそうな気がします。新規インストールではなくアップグレードする際には今回はいつにも増して「バックアップ推奨」したいところです。サーバ用途に使っているのであれば検証用の環境を用意してそこで練習するくらいが丁度良いと思います。

2011年10月12日水曜日

「ミログ」に関わる一連の騒動について思うこと


Android スマートフォンでのアプリケーションのインストール情報や使用履歴を、無断で送信するということで「ミログ」の「app.tv」や行動ターゲティング広告を提供するとしている「AppLog」SDKが大きな問題となっています。

アプリケーションの振舞いとしては「app.tv」が、そして開発者を巻き込んでしまいつつあるという意味で「AppLog」SDKが問題になっており、どちらも利用者の許諾をきちんとした形で取っていないか無断で送信するという振る舞いがあることが問題の核心です。

私自身、Android のアプリ開発者としてデベロッパー登録をしていますし、アプリケーションも Android マーケット経由でリリースしており、また当然 1 ユーザでもあるのでこの問題は注目せざるをえない事柄です。折しも日本Androidの会の定例会で渦中のミログCEOが登壇し、UStream にて配信され、その録画が公開されているということなので、視聴してみました。


Video streaming by Ustream

このプレゼン動画を見て、仮に技術的な部分が理解できなくとも皆さんがどう感じたかという部分が一連の問題の核心であるのですが(非常に失礼な言い方ですが私には「ネットワークビジネスのできそこないプレゼン」のように見えました)、私の感覚では
  • ユーザの立場に立てば、ずさんな許諾のとりかたをしている点で問題外
  • 開発者の立場に立てば、これを採用することによって信用を失ってしまうので問題外
だというのが率直な印象です。ユーザの立場に立った際の問題点についてはすでに多くの方がさまざまなサイトで検証されているので触れませんが、開発者として見た場合でも、「AppLog」SDKはとても採用できないところがあるので、書いてみたいと思います。

「マルウェアを配布してしまう」ということ


まず大きな問題にしなければならないのが、このSDKを使うことでユーザさんの端末を「マルウェア端末」にしてしまう可能性が強いということです。プレゼン動画の中ではしきりに「バッテリの消費が...」という言葉が繰り返されていましたが、バッテリどころのさわぎではなくマルウェア端末にしてしまうというのは大きな問題です。

Android アプリケーションを開発して Android マーケットで公開し、それなりに使ってもらおうと努力した経験のある方は少なくないかと思いますが、インストールして使ってもらうというのはそれが無料アプリであっても大変なことで、こういう経験を通じて「アプリ開発者の『顧客』はユーザさんだ」ということを実感するわけですが、苦労してアピールして使ってもらえたユーザさんの信頼をいっぺんに崩してしまうだけの破壊力を持ったものがこの「AppLog」SDKだといわざるを得ない側面があります。

このような事例は実は今初めて起こったことではなくて、Windows の「オンラインソフトウェア」界隈でも、無料で提供されるソフトウェアに「JWord」というスパイウェアが同梱され多くのユーザを悩ますことがありましたが、「AppLog」SDKを使うことは「JWord」を同梱することかそれ以上にユーザの顰蹙を買い、開発者の信頼を失墜させるようなものであるということができると思います。

「ミログ」という会社の経済的信用


さらに非常に穿った見方かもしれませんが、「ミログ」という会社にどこまで経済的信用をおけるかということも重要な視点かと思います。

この「AppLog」SDKではどのような形態になっているのかはサインアップしていない私は分かりませんが、開発者が得る報酬は一定額に達するまで出金できないか手数料で損をしてしまうというのが世の常です。そして未出金の報酬は開発者にとっては債権ということになりますが、この債権には当然のことながら発行元の「ミログ」の信用リスクが存在します。また多くの開発者が参加したとすると最低出金額以下のものについては退蔵されたままサービスが終了してしまうという可能性も考えなければなりません。ちょっと古い記事ですが、Techcrunch に

[jp]ミログが3.1億円をオプト、リクルートから調達、あわせてAndroid向けリワード広告への参入も
(http://jp.techcrunch.com)

という記事が掲載されていますが、これを読む限りでは「開発者の金庫番」としては「ミログ」はいささか役不足なのがおわかりいただけるでしょう。

実際のところ私はアプリ内広告には AdMob ( 2009年に Google が買収 ) を使っていますが、元締めだけあって「ミログ」とは経済的、倫理的な部分双方で安定感が違うように思います。

ユーザコミュニティに頼らず皆さん自身が判断を


一方、一部 Twitter 方面では今回の日本Androidの会の定例会に「ミログ」CEOに登壇させたことについて是非の声が上がっていますが、実際「日本Androidの会」は「Androidに興味を持つ人が集まるユーザーコミュニティ」という目的の団体ではありますが、かなり「ゆるい」つながりをもつコミュニティで、今回のような事態に対して「公式な見解」を出すような仕組みはありません。入会にお金が必要なわけでも血判状に押印するわけでもない単なるコミュニティにすぎませんので、是は是、非は非でそれぞれの事柄について開発者やユーザそれぞれの立場で判断してもらうしかない部分があります。

私の個人的な意見では、今回の件で Android 全体が脆弱なプラットホームだと認識されるのは心苦しいものがある一方で、このような「邪悪」なものが早期に排除される現状はある意味健全な部分があるのではないかと思います。なによりこういったモノに加担してしまった開発者が淘汰され、えげつないことをやるライバルが減るというのは正直非常に好ましく感じます。

ある意味今回の騒動は、健全なアプリが正当な評価を得るようになるための試練のように思います。

2011年10月11日火曜日

Google Code Jam Japan 2011 結果ご報告

今年はじめて日本を対象に計画されたものの、今回の震災で延期されていました、Google のプログラミングコンテストの Google Code Jam Japan 2011 ですが、この 10/1 に予選ラウンド、10/8 に決勝ラウンドが開催されました(スケジュール, 参加登録開始だけが2月と早かったのは震災で延期されたためです)。

Code Jam については以前参戦したことをblogで取り上げたこともあり、機会があったら挑戦しようと思っていたコンテストでした。実は今年の wordwide 大会についても参加登録して予選は通過することができたのですが、ラウンド1の日程がOSC仙台とかぶってまともに問題を読むことすらできずに敗退していたということもありました。


結果としては決勝で上の画像の通り 157位という成績となり、上位 200 位に入り Google Code Jam Japan 2011 Tシャツ獲得できたようです。とはいえ、予選でのパフォーマンスもあまり芳しくない状況で、まだまだ反省すべきところがたくさんあったように思います。

そんなこんなで七転八倒していたさなかに、「プログラマ35歳(32歳?)定年説」やら「FizzBuzzができない人」ネタ(双方あえてリンクしません)が Twitter 関連で噴出しててちょっと呆れてしまっていました。

それで、ちょっと考えてみたのですが FizzBuzz が書けないことに危機感を微塵も感じない底辺「PG」(あえてこう書かさせていただきます。しかも全角英文字で)として業務をしているのであれば確かに 35歳で引退すべきなのではないかという妄想を考えてみました。

どういう妄想をしたのかというと、比較のためにIT業界と同じ頭脳労働でしかも非常に厳しいとされる職種として、将棋の棋士と比較してみたのです。

将棋の棋士というのは、プロになると基本的に「順位戦」の「C級2組」に所属して、1年間かけてリーグ戦を戦い上位者は上の階級に、下位者は下の階級に落とされるか「降級点」がつけられ、最上位の「A級」の優勝者が「名人挑戦者」となる仕組みになっています(詳細の規定はこちら。他の棋戦もありますがばっさり省略しています)。

将棋棋士の引退については「順位戦」の「C級2組」で「降級点」を3つ取ってしまうと、「フリークラス」に降級し、「フリークラス」から10年間の間に規定の成績を収めて「C級2組」に昇級しないと引退となってしまうというシステムです。

ストレートに大学を卒業して企業に就職する年齢である 22歳を起点にして、同じ年齢でプロ棋士になったと仮定して、そこから成果を挙げられず毎年「降級点」を取ってしまったと考えると、 25歳で「フリークラス」に降級、復帰できずに10年経過すると 35歳で引退という計算になり、 「プログラマ35歳定年説」に符号する部分があるように思えます。

もちろん将棋の世界では戦績があれば生涯現役を続けることができますし、上位のクラスに昇級したり棋戦で優勝したりタイトルを獲得できればそれに応じて収入も高くなるという特質がありますが、いわいる「PG」職の場合ではあくまで頭数、人月での計算だけでその中での能力についてはまったく考慮されません(むしろ最も無能なメンバーに作業のやり方が合わせられるケースがあるので、高いスキルはそのままスポイルされるケースが多いかと思います。またスキルを発揮しても「これだけの人月見てるのだから」と煙たがられるパターンもあるかと思います)。

将棋でいうならば毎年「降級点」を取ってしまう内容の業務にしか従事できないという悲劇がおこり、 結果として最短の年数での引退を余儀なくされてしまうというそういう構造がもしかしたらあるような気がします。

さらに問題なのが、「35歳で引退したPGがその後何をするのか」ということで、ありがちなのが「SE」職(これもあえてこういう表記します)や管理職なのですが、結局のところ最低限の素養すら持とうとしない人が別の部署に移動するだけでその系(=企業やグループ)全体の能力が上がるわけではないので、また同じ過ちを繰り返してしまうということに繋がりそうです。

Code Jam のようなコンテストに参加していつも考えさせられるのは、こういった難問に挑戦する姿勢や、実際に難問を解く能力をうまく生かし、能力のある人間がその能力に見合った収入を得られるような、そういう生き方はできないのだろうかということだったりします。そして、企業の中で発揮できないのであればその外で、私の場合にはまがりなりにも Tシャツを貰える程度の能力に見合うような成功体験を得て、それを次の世代に伝えていければと思うのでした。

有線ルーター BHR-4GRV レビュー

先日ブロードバンド優先ルーターの BHR-4GRV (AA) を買ってみましたが、なかなか紹介されてないところがあるので、レビューしてみたいと思います。

この機種はバッファローの有線ルーターラインナップの最上位機種として、この8月に発売された最新モデルです。下位の BBR-4HG (AA)などは家庭用のブロードバンドルータとして非常に高いコストパフォーマンスで話題になり、いまなお現行販売機種で量販店の店頭にも並べられている機種です。私は個人的に BHR-4RV (AA) を使っていて、その置き換えで購入した形になっていますが、値段も安く、かつ「遊べる」内容に仕上がっている感じがあります。

この機種は「リモートアクセスモデル」と位置づけられており、PPTPサーバ/PPTPクライアント機能が実装され、出先から自宅の環境に比較的簡単にVPN接続を行うことができるという特徴があります。

その一方で、この機種の非常にユニークな点はルータ本体に USB 端子がついていて、USB 接続のプリンタやスキャナを接続するとデバイスサーバに、またHDDなどのストレージを接続すると NAS や メディアサーバ、 BitTorrent クライアントとして使うことができる点にあります。ホームサーバを兼ね備えるルーターということで非常に意欲的な製品です。

実際にHDDをつないで、 BitTorrent クライアント機能を試してみたのですが、設定画面の中に「ダウンロードマネージャ」という画面があり、ここで torrent ファイルをアップロードしてダウンロード指示を出すという流れです。

この BitTorrent クライアント機能ですが、NATの内部から使用しようとすると、NATテーブルを大量に消費し、特にBBRシリーズの場合NATテーブルが枯渇してしまうという問題が出る場合があり( BBRシリーズが800, BHR-4RV が 2048, BHR-4GRV が 4096 とカタログに掲載されています )、CentOS などのようなDVDイメージの配布にBitTorrentを使う必要があるものをダウンロードするのに苦労することがありましたが、この機種ではNATテーブルの大きさ的にも、また BitTorrent クライアント機能的にもフォローされた形となっています。

ただし、PCとは違って処理速度が非力な部分が否めない部分があるので、複数のBitTorrentジョブを並行して実行するとルーターのレスポンスが遅くなってしまうという部分や、XFSでストレージをフォーマットする必要があるため、ルータから取り外したものをWindows が動いているPCにつなぎ変えて使用するといったことができない点はあらかじめ注意しておく必要があります。

メディアサーバやファイルサーバといった機能についても非常に素直に設定てきる部分があり、設定画面的にも同じバッファロー社の無線LAN製品のように見た目が工夫されていたり、価格的にも実売価格で 5,000 円程度と安くなってきていて、BBR シリーズとの価格差も縮まっているので、自宅ネットワークをより活用したいという方、いろいろな Linux ディストリビューションを試してみたい方、実家とのVPN接続を試してみたいという方は是非挑戦してみてはいかがでしょうか。