2013-02-28

アクトインディに入社しました

2013-02-27 (水)、本日よりアクトインディ株式会社で働き始めた。アクトインディは「子供とお出かけ情報「いこーよ」というウェブサービスを運営している。この「いこーよ」については後日レビューするとして、今日はアクトインディ入社に至るまでの話を書きたい。

退職から就職活動

遡れば 2007 年 4 月、株式会社ケンウッドに入社した。その後、ケンウッドは JVC いわゆる「日本ビクター株式会社」と合併。JVC ケンウッド・ホールディングス株式会社が設立され、そちらに出向した。2010-10-06、ストレスから発症した抑鬱神経症が悪化したため休職。一年の休職期間を使い切る形で退社と相成った。2011-10-06 のこと。2011-10-01 に会社が社名を JVC ケンウッドに変えたばかりだった。ここら辺の詳しい話は、過去記事に書いた。

少し時間を戻して休職の時のこと。休職に入ったとたん、無理が祟ったのか読書好きのぼくが本一冊読めない程に集中力を欠いた。体が言うことをきかなかった。辛い状況は半年くらい続いたかな? そのあと、「まともな生活」レベルまでヨチヨチ歩きで戻っていった。

退職の日。体調はやはり悪かった。けれど社会というのは無情なもので、退職するには退職するで書類を沢山書かなきゃいけない。退職の手続きなんかしたこともないから、何度もケンウッドの人事やら総務やらケンウッド健康保険組合に電話した。

思い出して欲しいのは、JVC ケンウッドが出来たのが、ぼくの退社直前だったこと。中の人達、特に人事やら総務やら健康保険組合はその嵐の中にいた。にもかかわらず、ぼくの電話に対しては、誰一人として嫌がらなかった。誰一人として嫌がらなかった。重要なことなので二度書いた。手続きの混乱ぶりから、相当大変なのだと予想がつくのに、退職していくぼくに対して常に丁寧な対応を取り続けた。ぼくの電話に出てくれた人、そしてその人を後ろで支えてくれた人々に感謝する。尊敬する。適切なタイミングを逃して、彼らへの感謝を書くことができなかったので、ここに記す。

主治医から「働けますよ」のお墨付きが出たのは、2012 年半ばだったか。ハローワーク通いが始まった。ちなみに、主治医のお墨付きに書類ミスがあって、もう一度診断書を書いてもらう羽目になったのはここだけの秘密。

病気ってどうなの?

新しい職業は IT 系に行こうと決めていた。

ハローワークには IT 系の案内が少ないので、ネット系の転職サイトを活用した。

転職するに当たって、心配なことが二つあった。第一に自病の抑鬱神経症。第二に隔週の通院。病院の場所が遠いので、IT 系企業の集まる都心からだと、通院も半日がかりになってしまう。中途採用した人間が隔週で半日休を貰えるものなのか?

そんな不安を抱えていた時、ひょんなきっかけから DeNA の人事の方とランチする機会を得た。色々と話を伺った。勿体ないけれどその話は横に置いて、病気について...

人事の方の答えは明解だった。

  • 心を病んでいるなら、それに応じた仕事を回す
  • 通院についても、配慮をちゃんとするし、仲間も分かってくれる

追いつめられてた心が解き放たれた。そうか、病気であることをサポートしてくれる会社でないなら、いずれ自分は潰れてしまう。それは自分にとっても会社にとってもマイナスなこと。むしろ、ちゃんと言わなくちゃいけないのか!!

DeNA は残念な結果に終わるんだけど、病気に対する自分のスタンスが作れた。ぼくの職就活動は、DeNA の人事の方の言葉なしにはありえなかった。感謝!!!

実際に活動してみると、ダメな所はダメとちゃんと言ってくれた。驚いたのは、IT 系企業で「心の病」のサポートをすると答えた会社が多かったこと。エントリー・シートだけで落ちた会社の場合は、病気が原因かマッチングが良くなかったのか全然分からなかったけれども。その分を省いたら、全体の半分近くは OK との答えだったんだじゃないかしらん。

そんなわけで、同じ悩みを持っている人には、「背伸び禁物」と伝えたい。

高収入か自分のやりたいことか?

「病気」という悩みがなくなった (ネックであることは変わりないけど) ので、会社選びが楽になった。

ネットを見回り、転職サイトからの提案を色々読んで、アンテナの引っかかった所にアクションを起こしていく。複数の会社を見回していって、気がついたら自分の求めているものが二つあることに気付いた。「高収入であること」「自分のやりたいことに合っていること」。

両方を満たせば万々歳だけど、それほど世の中、甘くない。

で、悩んだ。

ぼくはお金を沢山欲しいの? やりたいことをしたいの?

どっちの優先度が高いの?

・・・

若かったらお金を優先していたかもしれない。

病気をしたから苦労した。

せっかくの二度目のチャンス。自分のやりたいことに力を注ぎたい。

それはぼくの選択。

Wantedly

方針が一つに決まると、自然と一つの転職サイトが浮上した。

Wantedly

Wantedly にはGoogleの中の人が転職したとか、Wantedly はソーシャル・サービスで繋がっている人から会社がお勧めされるとか、とりあえずランチだけでお話しを聞く座が持てる (マッチングが合えば) とか面白い。

応募への敷居の低さ。ベンチャーゆえにマインドのある会社が多いこと。「自分のやりたいこと」と出会えそうな場所だった。

アクトインディはそんな Wantedly で見つけて会社。あれよあれよという間にスルスルッと選考が進んで気がつけば「いつから会社に来ますか?」という言葉が「内定です」よりも先に来た。

他で選考が進まなかったのが嘘のよう。何が原因って分からない。パズルのピースが合う様に決まってしまった。

読者には、アドバイスも出来ない。

強いて言えば、自分の望むこと、自分のスキル、自分と会社の雰囲気のマッチング。これらを明確にして、突きつめると、99 の会社が No と言っても 1 つの会社は Yes! Yes!! Yes!!! と言うんじゃないか。それ位いしか言えない。

あとがき

「心の病があります」とちゃんと言う勇気。

自分の望みを明確にすること。

この二つをちゃんとしたら、沢山の会社に落ちて、一つの会社と巡り合った。

アクトインディの中で、ぼくがどう仕事をするのか。今日 (正確には昨日)、入社したばかりなので書かない。その話はまた後日。

2013-02-26

あたしってほんとバカ……

最近、自己評価をしてみた。自分を見つめ直してみた。出た結論を一言で書くとコレ。「あたしってほんとバカ……」。

ぼくは、のんびり屋さん。それは昔からずっと変わらない。基本、焦らない。基本、急がない。基本、ゆっくりしてる。

別にやらなきゃいけないことを、先伸しにするわけじゃない。やること・なすことがゆっくり・のんびりなだけ。

だから苦手なのは頭の回転が要ること。いわゆる「頭いい」って呼ばれる様な作業が苦手。パッと気の利いた言葉を放つのが苦手。論理をゆっくり組み立てるのは出来るけど、論理を飛躍して結論に至ることができない。

そんなぼくが、それなりに社会でやっていけてる理由。それは単に「ストック」があるからにすぎない。

  • 本を読む
  • ブログを読む
  • 人の話を聞く
  • Twitter でニュースを知る

インプットの量を増やす。多めのインプット。それがぼくの「ストック」。

そして、読んだだけじゃ忘れちゃいそうなこと。忘れることを前提に、いつでも思い出せる様にすること。そのためにアウトプットを出している。具体的には、このブログがアウトプットの一つ。これも、ぼくにとって重要な「ストック」。

こういう「ストック」を溜めこむことで、俯瞰的な見方とかプロジェクトの回し方とかが出来る様になった。意見を求められても、ストックの中から情報を探し出すことができた。

ぼくが新しい事に興味を持つのは、ストックを作りたいため。

ぼくが色んなサービスに興味を持つのは、ストックを作りたいため。

ぼくが意外と当たり前のことでもブログの記事にするのは、ストックを作りたいため。

沢山のストックを溜めることで、複数の方法を持ち、複数の判断基準を持てる。より最良の手段が選べる。多すぎるストックが混乱を引き起こすなら、「まとめ」のアウトプット・ストックを持つ様にすればいい。

一例を挙げれば Doing List。

ぼくが仕事を上手く進められたのは、数あるライフハックの中でも Doing List が自分に一番マッチしていて、のんびりなぼくでもスムーズに仕事を進めることができたから。

こう書くと良いことばかりの様に思える。

しかし問題が一つ。人は堕落する

ストックを溜める努力を忘れて、自分の頭がいいんじゃないかと勘違いする。それを傲慢と言う。何度、その誤ちを繰り返したか。

  • 元々のんびり屋さんで頭の良くないぼく。
  • ストックを溜めるのを怠って傲慢になるぼく。

こんな「自分」を、なんたるかと問うならば「あたしってほんとバカ……」が一番合っている。この言葉には、自戒の意味も含んでいるから。

蛇足

先日、友人と仕事で一番基本になることは何か? という話題になった。

ぼくは「PDCA を回すこと」と答えた。Doing List は PDCA を回すメソッドの一つだしね。

友人の答えは違った。「コストを考えること」。自分にとって最小のコストで働くこと。これだけを突きつめれば良いと... 自分のコストを最小にするためには、自然と周りのコストを下げることも必要になってくるし、コミュニケーションを円滑にすることがコスト低下に繋がることは明らかだし、PDCA サクイルを回すことなど当たり前になる、と。

コストを考えるだけなら、ぼくにも出来る。でも、そこから PDCA を回すことが当たり前の様に出てくるかというと、きっとぼくには出来ない。彼のような人間を頭がいい、と言うんだろう。そして、ぼくは頭の良さでは彼に敵わない。そう確信した。

ぼくはのんびり屋さん。地道にコツコツやってゆく。

Blogger ブログの Facebook ページを作る方法

当ブログ(Blogger) の Facebook ページを作成し、サイドバーに Facebook ページの「いいね!」(Like Box) を置いた。設定方法を書く。

目次

  1. Facebook ページの作成
  2. 「Like Box」をサイドバーに置く
  3. 投稿した記事を Facebook ページに反映させる

Facebook ページの作成

Facebook ページ作成画面への行き方が分かりにくい。直リンクから作成ページに行く方法。

もしくは、Facebook のサイドバーから「ページを発見しよう」を選び、ページ右上の「+ Facebookページを作成」をクリックする方法。

Facebook ページの作成画面が現れる。6 つのカテゴリーが用意されている。カテゴリーごとに入力項目が変わってくる。一般的な「ブログ」は「慈善活動またはコミュニティ」を選ぶ。

するするっと、ページ名の選択画面が現れる。ここはブログの名前で良いと思う。当ブログは「clmemo@aka」なのでその通り入力してみた。

弊社の自動システムでは、「clmemo@aka」という名称は認められません。かわりに「Clmemoaka」を提案いたします。ご確認ください。詳しくは詳しくはこちら。

清々しくもハネられた。「詳しくは詳しくはこちら」と二度も書かれてる。重要なので二度書きましたってか?

この名前はページ作成後に変更できるので、とりあえず「Clmemoaka」で我慢する。

ここから、プロフィールの入力。まずプロフィール写真

「コンピュータからのアップロード」でも「ウェブサイトからのインポート」でも OK。ぼくが使ってるキーボードの写真をアップしてみた。

基本データの入力画面。Facebook ページの説明と URL (この場合はブログの URL かな) を入力する。

「広告の有効化」。これ、よく分からないので「スキップ」!

これで、Facebook ページ完成。チュートリアルが現れる。

「いいね!」「メールの連絡先を招待」「タイムラインへの投稿」のチュートリアル。

さあ、Facebook ページを見てみよう。

管理者用パネルにある「Facebookページを編集」から「基本データを編集」をクリック。

せっかくなので、名前を「Clmemoaka」から「clmemo@aka」に変える。う〜ん、「@」がいけないみたい。ズルして半角の「@」を全角の「@」に変えて入力。これでどうかな?

ん、いい感じ。

同様に、通知設定やページオーナーなども時間が出来たら設定していこう。

Facebook ページの作成はこれにてお終い。

「Like Box」をサイドバーに置く

Facebook ページの「Facebookページを編集」から「基本データを編集」をクリック。左サイドバーから「リソース」を選び、「ソーシャルプラグインを利用する」をクリックする。

ソーシャルプラグインの一覧が現れた。今回は、「Like Box」を使う。

次のスクリーン・ショットはぼくの場合のサンプル。

説明:

  • Facebook Page URL: Facebook ページの URL を入力する。実際に Facebook ページを開いて、その URL を入力すればいい。この URL にはユニークな URL を付けられたけど、今は「ファン」が 25 人以上いないと URL を取得できなくなったらしい。25 人のファンを獲得したら、改めて Facebook ページの URL を変える方が良い... のかな。
  • Width: 「Like Box」の幅。デフォールトの 292 を使用。
  • Height: 「Like Box」の高さ。デフォールトは空。特に指定しなくても良いみたい。
  • Show Faces: 「いいね!」してくれた人達の顔写真を表示する。デフォールトは ON。
  • Color Scheme: 色。light と dark がある。
  • Stream: Facebook ページの中身も表示する。デフォールトは ON。ぼくは OFF にした。
  • Border Color: 「Like Box」のボーダーの色。デフォールトは空で黒色。枠線を消したい派なので、#fff (白色) を設定。
  • Header: ヘッダー。デフォールトは ON。ぼくは OFF にした。

右側には、こんなサンプルが現れた。

「Get Code」をクリックしてコードを表示。「HTML5」「XFBML」「IFRAME」「URL」の 4 種がある。Blogger は「HTML5」のままで OK。

1. のコードは下記の通り:

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

このコード、ブログの記事に「いいね!」ボタンを付けるのに使ったのと同じコード。なので、「いいね!」ボタンを付けてる人は、このコードを貼り付ける必要はない。ただし、次のコードを入れてる人は、その部分だけ削除する必要あり。

<b:if cond='data:blog.pageType == "item"'>

</b:if> の削除も忘れずに。

「いいね!」ボタンを付けていない人は、Blogger のテンプレートを編集する (バックアップは必ず取るように!!)。

Blogger の設定画面から「テンプレート」を選択。「ブログで使用中」の下に「HTML の編集」ボタンがあるのでクリック。上級者しかやっちゃダメよ、という警告が出る。OK なら「続行」。

「ウィジェットのテンプレートを展開」にチェックを入れる。(重要)

<body ... で始まる行を探して (ブラウザーのページ内検索機能を使うとすぐに見つかる)、「body のすぐ後に配置します」のコードを挿入する

次に 2. のコードを貼りけ付る。ぼくの場合、こんな感じ。赤色のコードは各自個序有になるはず。

<div class="fb-like-box" data-href="https://www.facebook.com/pages/clmemoaka/136048079903138" data-width="292" data-show-faces="true" data-stream="false" data-border-color="#fff" data-header="false"></div>

Blogger の設定画面から「レイアウト」を選択。「ガジェットを追加」から「HTML/JavaScript」を選択。コンテンツ部に先のコードを入れてあげる。

これで Like Box の設定は終了。

投稿した記事を Facebook ページに反映させる

さあ、最後の一仕事。ブログの記事を投稿したら、Facebook ページに反映させよう。Facebook アプリケーションの RSS Graffiti を使う。Facebook の画面上にある検索ボックスから RSS Graffiti を検索。利用可にする。

ぼくは、既に RSS Graffiti を使っているので、今の初期画面が分からない。ごめん。

clmemo@aka を Facebook ページに反映したい。「Add New Publishing Plan」をクリック。

適当な名前を付けて、「SOURCES」の「ADD NEW」をクリック。ブログのフィードの URL を入力する。

続けて「Basic」設定。「Update Frequency」を「As soon as possible」に、「Maximum Posts per Update」を「5 posts」に、「Post Order per Update」を「Publish older posts first」に変更。意味は、「ブログを更新したらなるべく早く反映して欲しい。でも、日によっては数本の記事を書くことがあるかもしれないから、5 記事くらいは遡って調べて。で、古い記事をから新しい記事の順で並べて下さい」ということ。「Maximum Posts per Update」の数はブログのスタイルによって変えられたし。

「Advanced」設定に移る。デフォールトだと、記事タイトルが表示されないので、表示される様に「Same as Item's Title」にチェックを入れる。

「SOURCES」の設定を終えたら、「TARGET」の「ADD NEW」をクリック。「Choose Target」で自分の Facebook ページを選ぶ。

最後に「OFF」を「ON」に変えるのを忘れずに。

あとがき

ちょっと分量があるけれど、頑張って!!

このブログが気に入ったかな? Like Box の「いいね!」を押してもらえると励みになるので、どうぞよろしく。

ブログのコメント投稿にキャプチャを設定した

当ブログ clmemo@aka と姉妹ブログ life@aka のコメント投稿にキャプチャ入力を設定した。キャプチャは「読みにくい文字」を入力させる仕組み。コメント・スパム対策の一つ。

コメント・スパムが多くなった

キャプチャ導入の目的はコメント・スパム対策。ここ数か月、コメント・スパムが多い。ほぼ毎日コメント・スパムを削除しているけど、懲りもせず毎日コメント・スパムはやって来る。

50 コメント・スパム/日 を越える日々が続いた。Blogger にはスパム・フィルターがあるけれど、そのスパス・フィルターを通り抜けるスパムも日に 4,5 通となって負担が増した。

コメント・スパム対策

コメント・スパム対策には、いくつか方法がある。一つは「コメントを投稿できるユーザー」を限定すること。このブログでは匿名ユーザーを含む「全員」に設定しているけれども、「登録ユーザー」や「Google アカウントのユーザー」に限定することも可能。

うちは、匿名ユーザーからのコメントも多い (スパムじゃなくてね) ので、全員にコメント投稿できるようにさせたい。

「コメントの管理」という機能で、コメントがスパムかどうかをブログ主が判断する機能もある。これはスパムの数が少なかったり、コメント欄が荒れそうな時に、コメントの表示をブログ主が選択できるのがポイント。スパムの数が 50 を越える場合、結局、コメントがスパムかどうか自分で判断しなくちゃいけないので、ぼくはパス。

結局、キャプチャ導入を選択した。コメントを入力したい人には面倒だけど、ごめんなさい。

設定

Blogger の設定画面から「設定 > 投稿とコメント > 単語入力確認を表示」を「はい」にする。

あとがき

コメント・スパムはブームというか、波がある。たいてい、コメント・スパムを入力しようとしてもダメだと分かって一か月ほどすると、コメント・スパムが減った。今回もそうだといいな。

心惹かれるイベント告知を見た 〜 Domain-Specific Language としての魔法少女まどか☆マギカ入門

アジャイルサムライ−達人開発者への道−
Jonathan Rasmusson 西村 直人
4274068560

「アジャイルサムライ」読書会の特別編とのこと。

うわ、すっごい題名。

「私は何度でも繰り返す」
システム開発に携わっている方であれば、この言葉を使う機会は多いのではないでしょうか。
・全てのテストがグリーンになるまで
・Jenkins のエラーが解決するまで
・全ての仕様をユーザから聞き出すまで
 等々

「知っている」人であれば、この状況を「ほむほむ」と一言で表現することができます。

我々?はこうした言葉・語彙を、「特定の用途向けに特化した言語」、すなわち「Domain-Specific Language」(以下「特定ドメイン」)として使うことを提唱しています。

横浜道場 特別編「Domain-Specific Language としての魔法少女まどか☆マギカ入門」 - アジャイルサムライ読書会 横浜道場 より引用

発想が凄い。気持ちは分かる。独りぼっちは、さびしいもんな。

ぼくも「まどか☆マギカ」好きだけど、さすがにこれは... こんなのってないよ状態。

あ、でも「アジャイルサムライ」は未読なので、かなり読みたくなった。

イベントの日時は 2013-03-19 (火)。誰かがレポートを上げてくれるのを楽しみにしている。まだ予約に空きがある様なので、「まどか☆マギカ」が好きでアジャイルやっている人は参加してみてはいかが?

ref

2013-02-20

(朗報) iPad 上の Safari で Blogger ブログの表示にモバイル版が使われなくなった

Blogger のテンプレートには、PC 用のウェブ・ブラウザーで使う「普通」のテンプレートと、モバイル用のウェブ・ブラウザーで使う「モバイル」版テンプレートの二種類がある。

モバイル版テンプレートは主に iPhone を始めとしたスマートフォンのブラウザーに適用される。モバイルで見るには邪魔なサイドバーが消されたり、ブログのトップ画面ではブログ記事がスニペット表示されるなど、モバイル向けの工夫が凝らされている。

Blogger in mobile version

欠点と言えば、サイドバーテンプレートのカスタマイズに自由度が小さいことか。

iPad での表示

数か月前から、iPad の Safari で Blogger ブログを見ると「モバイル版」の画面が表示された。iPad は画面が広いので、モバイル版のテンプレートを適用する必要があると思わない。ぼくは自身のブログを含めいくつかの Blogger ブログを見てみたけれども、どれも「モバイル版テンプレートは逆に見づらくなっていた。

それが数日前から、iPad の Safari で見る場合でも「普通」のテンプレートが使われる様になった。つまり、元に戻った。

Blogger ブログを iPad で見るなら、やっぱり「普通」のテンプレートの方が見やすい! ありがたい。

2013-02-19

Terminal 上の Emacs でウィンドウの大きさをマウスで変える方法

Emacs を Terminal (ターミナル) 上で開かなきゃいけないケースが時々ある。ssh で他のマシンにログインしていて帯域が狭い時とか、screen の中で Emacs を使いたいとか、そもそも X を起動していないとか。

で、ウィンドウを二つ作ったけれど片方のウィンドウを大きくしたい (もしくは、片方のウィンドウを小さくしたい)。

そんな時、M-x xterm-mouse-mode を使う。このマイナー・モードを ON にしてやると、ターミナル上でもウィンドウの選択・拡大縮小が可能になる。

蛇足

ウィンドウの大きさを変えた後、ウィンドウ・サイズを均等に戻したかったら C-x + (M-x balance-windows) が便利。ターミナルで使えることはもちろん、X 上の Emacs でも使えるのでお試しあれ。

あとがき

ターミナルでウィンドウの大きさを変えたいというのは、元は @naoya_ito さんのツイートによる。

最初、emacs -nw の話だと思わなくて変なリプライ返しちゃったけど、Emacs 好きとしては是非解決したいと思い調べてみた。@naoya_ito さん曰く、昔は出来なかったっぽいので、最近の変更なのかもしれない。少くとも、手元の 23.1.50 では動いた (今の Emacs の最新は 24 系)。

2013-02-17

NTT R&D: 身の回りのあらゆる "モノ" の情報を収集する

NTT レゾナント主催のブロガー・イベントで、NTT R&D フォーラムを見学した。展示のレビューを書く。

超小型無線センサー端末

まずはサンプルの写真をどうぞ。

NTT R&D Forum 2013

モック (携帯電話) の頭にくっついている立方体。これが主役のデバイス。サイズ 5 x 5 x 5 mm の立方体。携帯電話につけてもこのサイズ!!

巨大サンプルがあったので写真撮影。

NTT R&D Forum 2013

手前の淡い黄色のボックスが振動センサー。これは温度センサー、受光センサー、磁気センサー、加速度センサーなどに取り替え可能。

上に見える青紫色の平面が太陽電池。そう、このデバイスは、こんなちっちゃな太陽電池だけで動いちゃう。やろうと思えば、太陽光ではなく振動や温度から作る電気で動かすことも可能だとか (昔、手の振り・振動を電池にして半永久的に動く腕時計なんてあったね)。

NTT R&D Forum 2013

こちらが無線 IC。データ通信の「ビット送り」の時にだけ電力を消費させるのが省電力の鍵。

あとがき

まず小ささがいい。そして半永久的な電池がいい。最後にセンサーを取り替えられるのがいい。

色んな物に取り付けられる。色んな応用が考えられる。

これを搭載したら物を探すのが楽になりそう。リモコン、ドライバー、のり、印鑑 etc. アプリに物を登録しておいて、なくしたドライバーを探すの。電波強度から、ドライバーから遠いか近いかを判断させたりしてね。振動センサーを付けて、机を揺らしたら反応アリ! なんて見つけ方もアリ (と、これはスタッフの方のアイデア)。

2013-02-16

NTT R&D: このつぶやきを書いたのはどんな人?

NTT レゾナント主催のブロガー・イベントで、NTT R&D フォーラムを見学した。展示のレビューを書く。

Twitter のつぶやきからプロフィール特定

展示では、サービスに Twitter のアカウントを入力したら、性別・年代・居住地・既未婚・職業の五項目を表示するデモを行なっていた。他のブロガーさんが、的中率が高いと喜んでいたので顔を出してみる。

スタッフ曰く、現在 70% の正解率。最近 150 ツイートを使って判別するとのこと。さて、ぼくの Twitter アカウント @at_aka を入力してみた。

  • 性別: 男性 (正解)
  • 年代: 不明 (ヲイ)
  • 居住地: 関東 (正解)
  • 職業: 会社員 (不正解)
  • 結婚: 未婚 (正解)

え〜と、3/5 正解だから正解率 60%。いいんじゃないかな?

職業... 今はまだ無職なのよね。就活中。まだ会社員ではないのだよ。学生でもないけれど。ツイートを見て、「不明」(無職というカテゴリーはなかった) とするのは流石に無理があったかな。

年代不明。ちょっとショックだな〜。スタッフの人に何歳に見えますか? と聞いてみたら、20 代との答え。リップ・サービス?! う〜ん、34 なんだよね。

仕組み

ざっくり言えばベイジアン・スパム・フィルターと同じ。

このスパム・フィルターでは、最初にスパムでないメール数万通とスパムなメール数万通を用意する。そして、スパムでだけ使われる特徴的な単語を抽出させる。正常なメールも用意する所がミソで、スパムにもスパムでないメールにも両方で使われる言葉を除外できる。本当は統計的な処理が入っていろいろ複雑なんだけど、そこら辺の説明はパス。

同じ様なことを各プロフィールごとに行なう。

年代であれば、20 代・30 代・40 代・50 代のツイートを用意する。スパム・フィルターはYes/No の 2 つしか判定しないけれど、少し応用すれば 20 代しか使わなくて 20 代以外は使わない言葉。30 代に特徴的な言葉。40 代に〜、50 代に〜 とデータが抽出される。

スパム・フィルターが、時々スパムを通してしまったり、正しいメールをスパムと誤認する様に、最初の方は精度に難がある。そこで、もう少し学習をさせる。そして、出来上がったのが、正解率 70% のプロフィール特定機能。

あとがき

Twitter で知り合いを検索してみた。かなり当ってた。

サービスとして公開したら、色んな人の情報が赤裸々にされてしまいそう。隠れて Twitter やってる人が、都道府県や職業まで当てられたら怖い。今回のデモでは 150 ツイートしか取って来ていないけど、1000 ツイートとか 1 万ツイート取得したら、精度が更に上がりそう。

また、デモでは五項目しか調べていなかったけど、趣味・年収・子供はては性格分析までやろうと思えば出来ちゃいそう。CIA とか本気で開発しそう (映画の見すぎ?)。正解しすぎるのも問題ね。

NTT R&D: さまざまなデバイスを駆使した「場所」に関する情報集配信

NTT レゾナント主催のブロガー・イベントで、NTT R&D フォーラムを見学した。展示のレビューを書く。

Wi-Fi アクセス・ポイントを使った情報配信

この展示では、情報の集収と配信の二つのトピックを扱っていた。ぼくは主に配信の説明を受けたし、こちらの方が面白かったので、配信側のレビューだけ行なう。

情報配信の手順は次の通り:

  1. サービス A に、Wi-Fi アクセス・ポイントの情報 (Mac Address や SSID) を登録
  2. Wi-Fi アクセス・ポイントを各所に配置
  3. アプリをデバイス (Android 機や iOS 機など) にインストール
  4. デバイスが Wi-Fi アクセス・ポイントを発見したら、サービス A に問い合わせ
  5. サービス A に登録済の Wi-Fi アクセス・ポイントなら、アプリに情報を配信

アプリとサービスを作ってしまえば、Wi-Fi アクセス・ポイントを配置するだけで各所の情報を提供できる。例えば、美術館の様な場所に沢山アクセス・ポイントを置き、アクセス・ポイント A を検知したら、美術品 A の情報を表示。アクセス・ポイント B を検知したら、美術品 B の情報を表示。という風な具合に情報配信できる。

このやり方の良い点は、「Wi-Fi アクセス・ポイント」という既存のデバイスを使っていること。同じことを RFID でやる考えもあるけれど、RFID は手軽に手に入らない。Wi-Fi アクセス・ポイントなら比較的簡単に入手できる。小さなスタートアップでサービスを開始するには負担が小さい。また、位置情報を GPS で手に入れる方法もあるけれど、GPS は室内に弱いという弱点がある。アクセス・ポイントなら室内でも利用可能だし、電界強度の強さに応じて情報配信する距離をある程度制御できる。

あとがき

スモール・スタートアップ向けに既存のデバイスを使ってしまうアイデアに脱帽。これなら、すぐにでも始めることが出来るんじゃないかな? 電源の取りにくい室外に弱い欠点を逆手に取って、GPS が苦手とする「室内」に強い! へと発想転換したのも面白い。

NTT R&D: 大容量ストレージ関連の展示

NTT レゾナント主催のブロガー・イベントで、NTT R&D フォーラムを見学した。展示のレビューを書く。

Sheepdog, OpenStark Swift

下記、二つの展示について。

  • S-3 安価なサーバで高信頼なストレージを自動構成: Sheepdog
  • S-4 ハイブリッドクラウド対応のストレージ基盤: OpenStack Swift

企業レベルで使う「複数のストレージ・サーバー」に関する技術を紹介していた。ぼくはその手の技術をほとんど知らない。ほとんど用語の勉強になってしまった。せっかくなので、メモとして残しておく。

  • Sheepdog Project: オープン・ソース・プロジェクト。NTT R&D が開発。汎用の PC サーバを集約して奥大なストレージプールを構築する。サーバが故障したら、自動的にそのサーバが持っていたデータを他のサーバに復旧する。
  • OpenStack Swift: オブジェクト・ストレージを提供するオープン・ソース・プロジェクト。大規模・低価格化がウリ。NTT がソースコードを寄贈?
  • オブジェクト・ストレージ: Amazon S3 や Dropbox が使っているストレージ技術らしい。オブジェクト・ストレージとは何ぞや? というのが一番の疑問なのだけど、説明を聞いても ? ばかり飛んでいた。

オブジェクト・ストレージについては、こんな説明で納得すれば良いのかな。

一般的に、オブジェクト・ストレージは高パフォーマンスの技術ではなく、ファイルシステムの標準化も欠落している (中略) 変更が頻繁に行われるデータには全く不向きで、従来のデータ・ストレージに比べると、より多くのストレージ容量を消費する。しかしこの技術は、巨大なデータ蓄積のアーカイブを より安価に、かつ省電力で高パフォーマンスNASよりも小さな設置面積で実現する。

オブジェクト・ストレージは、データにアクセスする際、物理アドレスの替わりに独自の識別子を使う。データは、名前と固有のIDに基づいてアクセスされる。ストレージ・システムはメタデータとオブジェクトIDを読む。単一のグローバル・ネームスペース、キャッシュ・コヒーレンシ、高速ネットワーク、などは一切不要である。

オブジェクト・ストレージの特長、特にその拡張性、設置場所からの独立性、HTTP経由でのアクセス性は、ストレージクラウドに良く適合するものとなっている。

JDSF | データ・ストレージに関する総合情報サイト | Japan Data Storage Forum より引用

あとがき

ストレージの世界も色々と技術革新があるようで... アンテナを伸ばしておいた方が良いのかなぁ、と自責した。

NTT R&D: Paas 利用で作業 3 日が数秒に!: Cloud Foundry

NTT レゾナント主催のブロガー・イベントで、NTT R&D フォーラムを見学した。展示のレビューを書く。

Cloud Foundry

PaaS という用語がある。Platform as a Service の略。サービスを公開するためのプラットフォームを提供する。PaaS の代表例としては Google App Engine や Heroku が挙げられる。

Cloud Foundry は VMWare 社がオープンソースで開発している PaaS を作るための仕組み (と言えばいいのかな?)。

NTT では、この Cloud Foundry をベースに PaaS プラットフォームを公開する予定とのこと。デモを見せてもらったけれど、3 秒とは言わないけれど、あっという間にサービスを公開する環境が整った。

あとがき

ぼく自身は PaaS という用語に疎かった。世には Cloud Foundry を始めとして、様々な PaaS があるらしい。サービスを提供するにはレンタル・サーバーを貸りて必要な言語・ツールをインストール & アップデートする必要があると思っていたけれども、PaaS ならその直前までの準備が整っている。

PaaS。少し勉強してみても良いかな。これなら、楽に自分用のサービスが作れそう。

NTT R&D につっこみ: 電子書籍を使おうよ!

NTT レゾナント主催のブロガー・イベントで、NTT R&D フォーラムを見学した。本エントリーは、運営についてのリクエスト。

大きな技術発表会だと、一つの冊子が配られる。講演のタイム・スケジュール、展示の簡単なまとめ (1 ページから半ページ)、そして会場地図が収録されている。NTT R&D フォーラムでも例外ではない。

この冊子。電子書籍化できないものか? 重くはないけれど、かさばる。メモとペンを持ち、面白ければカメラも取り出し (プレス関係者は写真撮影可)、必要なら名刺交換する。こんな時に、一冊の冊子を持つのはちと辛い。

そして、一番の問題は地図!!

地図は (どの冊子でもそうかと思うけれど)、冊子の最初の方にある。そして、冊子の中身の大部分を展示内容のまとめが占めている。

冊子を読みながら、「この展示が面白そう」と思う。その展示はどこか? 冊子の先頭に戻って場所を探さないといけない。地図を見ている。会場が広いので、効率よく周りたい。隣の展示はなんだろう? 地図から展示内容は分からない。

電子書籍化 (もしくアプリ) して欲しい!! 展示内容から地図へ。地図から展示内容へ。リンクを張ってくれるだけでいい。

この話をスタッフの人にしたら、著作権の問題が... ムムム。確かに NTT R&D フォーラムは「NTT グループ社員向け内覧会」。電子化された情報は簡単にコピーできるので、心配する気も分かる。

ならば、せめて地図と展示のタイトルの相互リンクだけでも。それだけでも iPhone に入れることができたら、フォーラムを周るのが少し楽になる。

NTT に限らず、技術内覧会や Google Developer Days の様にオープンに技術を公開しているイベントにも言いたい。是非、電子書籍化の検討を!!

NTT R&D: ワークショップ 技術革新は市場変化にどのようについていくのか 〜 もしくはアイドルおたくの生態

NTT レゾナント主催で参加した NTT R&D フォーラムにおけるワークショップをレビューする。

概要

日本技芸のリサーチャー・濱野 智史 (はまの さとし) 氏を迎えての二部構成。第一部は濱野氏によるパネル・ディスカッション。第二部はブロガー参加によるワークショップ。各一時間ずつ、計二時間。

パネル・ディスカッションのネタは、濱野氏が著作者の一人に入っている「平成史」という本の内容から。

平成史 (河出ブックス)
小熊 英二、貴戸 理恵、菅原 琢、中澤 秀雄、仁平 典宏、濱野 智史

4309624502
河出書房新社 2012-10-11
Amazonで詳しく見る
by G-Tools

ぼくは「平成史」をまだ読んでいないので、パネル・ディスカッションでメモしたことからこのエントリーを書く。

濱野氏は「平成史」で、最近 20 年間の情報社会の変化を担当した。一行で書けば

世界の在り方は大きく変わったけど、日本の仕組に変化はない

今回のパネル・ディスカッションのキーワードは、同書で「もれおちた人々」と呼んでいる人々。昭和であれば「会社に入って昇給して、結婚して、家を買って、定年退社する」というスタンダードな道があった。しかし、平成の世の中、この道から「もれおちた人々」が多くなった。その一例として恋愛弱者を挙げていた。

パネル・ディスカッションにあたっては、「もれおちた人々」の代表としてアイドルおたくを招いていた。三人いて、みな若い。そして話題は、「逆転の発想」! アイドルおたくのために NTT R&D フォーラムのサービスが使えないか模策しようというもの。

ついていけなかった...

ぼくはテレビを持っていない。テレビを見ないので、誰がアイドルか知らない。アイドルおたく達の文化外に住んでいる。

今回のディスカッションでは、アイドルおたくたちの文化をかいま見ることができた。

少し別世界に足を踏み入れた気がしたのは、きっと気のせい。

以下、列挙式に内容を...

  • 握手会に行きたい。でも行けない人もいる。バーチャルで目の前にアイドルと握手会が出来たら嬉しい
  • AKB のビデオで、推しカメラといって気に入ったメンバーだけを追った動画を見ることができる
  • アイドルの生体信号を知ることができたらシンクロできる。特に総選挙の時!
  • アイドルの家電情報を知ることができたら嬉しい

アイドルおたくは「絶体になれないと分かっているけど、アイドルの特別な人になりたい」と思う人々が多い。

ワークショップでは、ブロガー一人一人が意見を述べたり、アイデアを語ったりした。

あとがき

パネル・ディスカッション中は、発表者たちの熱気に押された。凄い話を聞いている気になった。今、メモを読みながら記事に書き出そうとしてみたところ、上手くまとめられなかった。

思うに、「アイドルおたく」をぼくの中で咀嚼しきれていないのだと思う。

今のぼくにとって、リンクすることのない話題だった。ただ一、二年経った時、今日の話題を思い出しカチリと回路が入る (ぼくがアイドルおたくになるわけじゃないよ) 可能性を感じた。こういうブロガー・ミーティングがあると知っていたら、ぼくは行かない。NTT R&D フォーラムのブロガー向けパネル・ディスカッションの枠でなかったら聞かなかった。でも、知らない世界・文化が頭にストックされた。これが活かされるかどうか? 少し時間を置く必要がありそう。

NTT R&D: 3D 映像音響システムによる遠隔地との空間共有

NTT レゾナント主催で参加した NTT R&D フォーラムの展示をレビューする。

デモに参加

本展示は、S-38 という展示番号で展示ブースを構えている。しかし、実は展示とは別に秘密のデモ (?) も行なっていた。今回、我々ブロガーはこのデモ・ルームを訪ねた。

デモ・ルームの収容人数は 10 人。ブロガーは 20 人。二つのグループに別れて、交代でデモを見た。

スタッフに、このデモをブロガー強制参加にした理由、一般公開していない理由を尋ねた。それは、先に書いた収容人数がネックであったとのこと。なるほど、デモは一定の時間を要するのに、収容人数が 10 人というのは心許ない。人数制限をしたくなるのも納得。ブロガー特権でデモを見ることができて役得。

デモ内容

やりたいことを乱暴にまとめると、Skype のテレビ会議を 3D 化すること。

部屋に入ると、3D 映像用のメガネが配られた。部屋の壁一面にはスクリーン。数メートル離れたところに、椅子が 10 脚。ぼくは、一番左端の椅子に腰を落とす。

司会の女性が現れた。彼女は廊下に立ち、後ろはガラス張りで外の風景が見える。右横にはマンガで描いたようなステレオ装置が一つ。

司会の彼女は 3D で奥行きを感じる。会議用ということなのか、3D 映画のように飛び出す (無駄な) エフェクトはない。あくまで、人間が立体的に存在し背景の中を動き回る。自然な 3D 感を演出している。大げさにいえば、「そこに人が居るよう」。という表現が近い。

彼女は動き回りながら、デモの説明をする。すると、彼女のいる位置から正確に声が聞こえる。彼女が左前に来れば左前から声が聞こえるし、奥へと下がれば奥から声が聞こえる。びっくりしたのは、その声がちゃんと「彼女」の口から発声されているのが分かること。

彼女はマンガのステレオ装置から音楽を流し (これは演出だね)、タンバリンを持って動き回る。タンバリンの音も、左右だけでなく前後に正確に「音の出る位置」が分かる。

更にデモは進んで、デモ体験者がスクリーンと椅子の間にあるスペースに立つよう促された。そのスペースに立てるのは一人だけ。順番にデモを受ける。ぼくもこの「スペース」に立ってみた。それは驚きだった。スクリーンに映っている映像が、ぼくの見る位置によって変化する。前に進めば、オーディオ装置が手に届くほどに見える。その位置から、画面の端を見ると、廊下の先とその後ろの風景が見える。後ろへ下がれば、ぼくの位置に合わせて司会者・風景が遠ざかってゆく。

技術的な裏話

女性は 3D 用のカメラで撮影して補正。背景は合成で作成。それを 3D プロジェクターでスクリーンに映し出す。

音声はスクリーン後ろにあるスピーカー・アレイから出ている。スピーカー・アレイとは、同じスピーカーを沢山ならべたもの。今回のデモでは、96 個のスピーカーが横一列に並んでいる。司会側にはマイク・アレイがあるとのこと。数は聞かなかったけれど、おそらく同じ数のマイクが並んでいて、マイクとスピーカーが一対一に対応しているのではないか。一列に並べられたマイクが受け取めた音を、一列に並んだスピーカーが音を出すことで、音の「三次元的再現」を可能にしているのだと思う。

オーディオに少し足を突っ込んでいる身からもう少し補足。音の三次元的な再現は 2 本のマイクと 2 本のスピーカーがあれば理論的に可能とされている。これがステレオ・サウンド。例えば、弦楽四重奏を聴けば、第一ヴァイオリニストがどの位置に座って、ヴァイオリンをどの高さに持っていて、第二ヴァイオリニストがその斜め後ろに座っている... といったことが再現可能。ぼくがそのオーディオ体験をしたのは、しっかりしたオーディオ・ルームと高級オーディオ・システムを使った。

値段だけを言えば、100 個近いスピーカーとマイクと壁一面のスクリーンと 3D カメラと 3D プロジェクターの合計金額は同じ位いかもしれない。けれど、2 本のスピーカーで同じことをやろうとすると、かなりのノウハウが要る。そのノウハウを会議室に持ち込めるかというと難しい。このデモで使っているシステムは、普遍性という意味では非常に高く、正に企業やイベントなどで使うのに適していると感じた。

閑話休題。

スクリーンの前には黒いボックスがある。これが、ある範囲内にいる人の位置情報を取得している。取得した位置情報に従ってリアルタイムに計算が行なわれ、その「位置にいる人」に見えるべき映像と音声が送られる。

裏話を一つ。少し歩いて隣の部屋を見せてもらった。そこには別グループのためにデモを行なっている司会者の女性がいた。デモ室の様子はスクリーンに二次元映像で表示。音声は無線のイヤホンで聞いている。グリーンバックの前に立ち、一人タンバリンを打つ姿は少しシュールだった。

今回は、一方向の 3D 映像音声配信だった。これを双方向で行なうためには、司会者側にも 3D プロジェクターとスピーカー・アレイ。そしてデモ被験者側に 3D カメラとマイク・アレイが必要になる。システムとしては大がかりだけど、双方向になった時のデモもいつか見てみたい。

最後に、スタッフが挙げた欠点を列挙する。

  • 利用者は 1 人しか対応していない
  • 裸眼立体を行ないたい (多人数対応が出来るはず)
  • 多人数対応ではデータ量が人数分だけ増える

あとがき

装置が大がかりなので、Skype の様なパーソナル・ユースにはまだまだ技術革新が必要と感じた。

大企業の会議室、映画館などでのイベント上映、CEATEC などのイベント・ブースに人を置かず会社内から 3D プレゼンを行なう... 等々アイデアは開がる技術。これからの発展が期待。

2013-02-15

NTT R&D フォーラム 2013 に参加した

2013-02-14 (木)、NTT R&D フォーラムに参加した。NTT R&D フォーラム は、NTT の研究開発 (Research & Development) を NTT 関連企業に公開するもの。毎年 2 月、2 日間に渡って開催されている。

NTT レゾナントは 5 年前からほぼ毎年、この NTT R&D フォーラムにブロガーを招待するブロガー・イベントを主催している。今回のイベントの正式名称は「gooラボ ネットの未来プロジェクト NTT R&Dフォーラム2013 ブロガーミーティング」。ブロガー約 20 名を、NTT R&D フォーラムにプレス資格で招待する。去年に引き続き、今年も抽選に当たったのでイベントに参加することができた。

NTT R&D フォーラム概要

NTT R&D Forum 2013

  • 開催日: 2013-02-14,15 (2 日間)
  • 開催場所: NTT 武蔵野研究開発センタ
  • 開催時間: 10:00-17:00 (16 日)

ぼくが参加した 14 日には、2 つの基調講演と 1 つのワークショップが開かれた。15 日のスケジュールを見ると、1 つの特別講演と 2 つのワークショップが開かれる予定になっている。

展示は 3 つのグループに分けられている: 「バリューサービスのイノベーション」「ネットワークのイノベーション」「新分野開拓のイノベーション」。

ブロガー・ミーティングの流れ

10 時入場。ブロガー専用の待合室にて簡単なレクチャーを受ける。写真撮影は OK (説明員に一声かけてほしい)。プレス関係者にも写真 NG なものは、ブロガーも写真撮影は NG。ビデオ撮影も OK。YouTube へのアップロードも OK。希望者にはワークショップの入場券を配布 (今回、ぼくはワークショップはパスした)。

昼食は研究所内の食堂が利用可能。お弁当の持参も OK (ブロガー用の待合室で食べる)。毎年のことながら、展示を見るだけで時間がなくなってしまうので、ぼくはお昼は食べないけどね。

タイム・スケジュールは以下の通り:

展示が自由に見られるのは、午前中の 2 時間半とワークショップ後の 2 時間。計 4 時間半。実際は、全員見学が少し長びいたのと、ワークショップ後にスタッフの方々と話し込んだので、3 時間くらいしか見学時間がなかった。

過去の NTT R&D フォーラムと比べて

NTT レゾナントが主催する本ブロガー・ミーティングは、過去 3 回行なわれている。2009、2010、2012 年。ぼくは 2009 年と 2012 年に参加している。

去年との違いを書いてみる。

時間の組み方

開催時間は同じ。違いはスケジュールの組み方。

2012 年度は、NTT レゾナントがおすすめする展示を更に深く踏み込んでブロガー・ミーティングとした。時間は一時間 (see clmemo@aka: NTT R&D: ブロガー・ミーティング 発見探地図エリアダス)。

2013 年度は、2 つのイベントが用意された。一つは特別展示をブロガー用に見せてくれるというもの。展示 S-38 「3D 映像音響システムによる遠隔地との空間共有」の実演ブース (一般には公開されていない?) を見せてくれた。所用時間は 10〜20 分。もう一つはブロガー全員が参加するワークショップ。こちらは二時間。

去年と比べると、自由時間が短くなった。替わりに実演ブースを一つ見られた。これは良かった。さして時間も割かれなかったしね。

ワークショップを 2 時間。これは判断がつきかねる。内容は後で記事にするしたけれど、NTT R&D フォーラムを見学する時間を潰してまでやるものだったかどうか。疑問が残る。どんなに良いワークショップであっても、2 時間の時間を割くのはどうなのかな? 2 時間クラスのイベントなら、別の日に別のブロガー・イベントとして成り立っちゃう。もう少し軽くて良いから、短めのイベントを用意して欲しかったかな。

グループ分け

去年は「創る ICT」「支える ICT」「進化する ICT」というグループ分け。ICT は Information and Cmmunication Technology の略。グループの分け方は良かったけど、ICT という略語が慣じめなかった。

今年は「バリューサービスのイノベーション」「ネットワークのイノベーション」「新分野開拓のイノベーション」と名前を聞いただけで分かり易いグループ名になっていて良かった。ぼくは「バリューサービスのイノベーション」しか見る時間がなかったけど、ユーザーに近しい技術はこのグループにほぼ集中しているので、良かった。残念だったのは、「バリューサービスのイノベーション」というくくりは大きくて、複数の会場に分散せざるを得なかったこと。おかげで一つ見たい展示を見逃した。

印象

去年は HTML5 とライフログがバズワードになった展示が多かったように思う。今年は、バズワード傾向が鎮火し、技術を売る展示が多かった。やっていること、バックグラウンドで使っているものに、HTML5 やライフログを絡めた展示はあるにはあるけど、それを前面に押し出していない。話を聞くと、HTML5 の技術を使ってたとか、ライフログとして使える技術なのか、と思いいたる展示が多かった。

去年と比べて、世間的に HTML5 やライフログの認知が進んだことを暗示している様に思えた。

そうそう、今年は「クラウド」という言葉をよく聞いた気がする。

ぼくが見た展示

ぼくが見た展示の一覧を載せる。特に興味を持った展示については、後で記事を書く。

2013-02-10

Ruby on Rails の準備メモ その2

の続き。mysql の作成まで。

blog プロジェクト

Ruby on Rails を始める。チュートリアルとしては、Ruby on Rails Guides: Getting Started with Rails がオススメ。チュートリアルの通りに進んでみる。

$ rails new blog

blog ディレクトリーが出来て、その中に Ruby on Rails のソースコード一式が入っている。以下、blog ディレクトリーを (blog プロジェクトの) トップ・ディレクトリーとして作業を進める。

MySQL を使う

デフォールトのデータベースは SQLite3 になっている。MySQL を使いたいので、変更したい。まずは、config/database.yml を覗いて、データベースが SQLite3 なことを確認。

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

トップ・ディレクトリーで以下のコマンドを実行。

$ rails new blog --database=mysql

rails new blog コマンドを二度実行してしまうことになるけど、OK らしい。

config/database.yml の中身を確認。

development:
  adapter: mysql2
  encoding: utf8
  database: blog_development
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

MySQL の設定

ぼくは MySQL を Synaptic パッケージ・マネージャーからインストールした。この時 root のパスワードを入力するよううながされたので、自分のログイン・パスワードを入力した。ただ、これがいけなかった。

上の設定ファイルを見ると分かる様に、username: root の password は空になっている。これは、mysql の root ユーザー (Linux の root ではない) のパスワードが空であることを指している。適当なユーザーを作ってパスワードをファイルに書くのが良いのか、root ユーザーのパスワードを空にするのか、何が良いのか分からない。

とりあえず、後者で対処した。

$ sudo mysql -p
Enter password: パスワード入力
mysql> set password for root@localhost=password('');
mysql> exit

データベースの作成

MySQL では development, test, production という三つのデータベースをセットで作成する。昔は mysql コマンドでデータベースを作っていたらしいが、今はコマンド一つで作成可能。

$ rake db:create

Install gem

データベースを作るタイミングだったかな? 次のエラーが出てしまう。

Could not find a JavaScript runtime.

See https://github.com/sstephenson/execjs for a list of available runtimes.

次のコマンドを試したが、エラーは直らない。

$ sudo gem install execjs
$ sudo gem install therubyracer

まず ./Gemfile に次の行を追加。

gem 'execjs'
gem 'therubyracer'

そして、次のコマンドを実行するとエラーが出なくなった。

$ bundle install

あとがき

Ruby on Rails の入り口にようやく立った。初めてだと、環境設定も一苦労。昔、Rails の勉強をしようと買った本を読み返したんだけど、Rails 1.0 向けの本だった。今の Rails はバージョン 3。色々と変わってて、目が回る。勉強。勉強。

2013-02-09

Ruby on Rails の準備メモ

Ubuntu Linux 10.04 をまだ使い続けている。

最近、Ruby on Rails に興味を持って遊んでみようと思ったところ、Ubuntu 10.04 の Ruby は古いという。というわけで、Rails を始めるに当たって、やったことのメモ。インストールしたのは、libYAML と Ruby と RubyGems。

libYaml のインストール

RubyGems をインストールしようとしたら、Ruby が libyaml に対応していない... と警告が出た。簡易インストール。

$ sudo apt-get install libyaml-dev

Ruby-1.9 のインストール

ソースコードを入手して、コンパイル。

$ ./configure
$ make
$ sudo make install

RubyGems-1.8 のインストール

ソースコードを入手して、setup.rb を実行。

$ sudo ruby setup.rb

Ruby on Rails のインストール

インストール前に gem (Ruby のパッケージ・マネージャー) で最新版にアップデート。

$ sudo gem update --system
Latest version currently installed. Aborting.

その後、Ruby on Rails をインストール。

$ sudo gem install rails

とりあえず、今日はここまで!!

2013-02-05

iPhone で Safari のソースコードを表示させる Bookmarklet

iPhone の Safari で、時々、今見ているページのソースコードが見たくなることがある。で検索してみると、いろんな人がブックマークレット (ブックマーク) を作ってた。一つリンクを張っておく。

せっかくなので、どういうソースコードなのか見てみる。

d=document;
c=d.charset%7C%7C0;
i=0;
o=d.documentElement;
d.write(%22%3Cpre%3E%22+(o.outerHTML%7C%7Co.innerHTML).replace(/&/g,%22&amp;%22).replace(/%3C/g,%22&lt;%22).replace(/%3E/g,%22&gt;%22)+%22%3C/pre%3E%22);
c?d.charset=c:0;
void(document.close());

%XX 表記が読み難い。デコード! (ref. JavaScript escape vs encodeURI: lower ASCII)

d=document;
c=d.charset||0;
i=0;
o=d.documentElement;
d.write("<pre>"
          +(o.outerHTML||o.innerHTML).replace(/&/g,"&amp;")
                                     .replace(/</g,"&lt;")
                                     .replace(/>/g,"&gt;")
          +"</pre>");
c?d.charset=c:0;
void(document.close());

読みやすくなった。

変数 o に全てのドキュメント要素を入れて、それを pre 要素の中に書き出し直すようにしているわけね。その際、&, <, > といったタグの部品を読めるように置換する、と。なるほどねぇ。勉強になった。

Amazon あわせ買いプログラム —— 低価格商品を対象に 2,500 円以上で購入可

2010 年 11 月。Amazon は配送料無料をキャンペーンから正式サービスへ昇格させた。そして気がついたら、「あわせ買いプログラム」なるものが始まって、Amazon の配送料無料は終わっていた。

Amazon の説明。

あわせ買いプログラムは、Amazon.co.jpの品揃えの強化の一環として2012年11月より開始したプログラムです。当プログラムにより、これまで取り扱いがなかった低価格の商品を幅広く提供できるようになり、お客様によりバラエティに富んだ商品をご購入いただけるようになりました。あわせ買いプログラムの対象商品は、Amazon.co.jpが発送する商品の合計額が2,500円(税込)以上になるようにご注文いただくことで購入することができます。対象商品についても、通常配送無料でお届けいたします。

Amazon.co.jp ヘルプ: あわせ買いプログラム より引用

低価格商品を幅広く提供という趣旨は良い。問題は、あわせ買いプログラムの対象商品は、Amazon.co.jpが発送する商品の合計額が2,500円(税込)以上になるようにご注文いただくことで購入することができます という件。

Amazon、低価格商品で単品注文不可に 「全商品無料配送」終了 - ITmedia ニュースも参考にまとめてみる。

  • 「あわせ買い」対象商品は、他の商品と合わせて 2,500 円を越えないと購入できない
  • 「あわせ買い」対象商品には単品を「送料あり」で送るオプションはない
  • 「あわせ買い」プログラムは Amazon プライム会員も対象

「配送料無料」化前は、カートに入っている物の合計金額が 1,500 円を越えない場合に送料が必要だった。それでも、配送料を払えば商品を買うことが出来た。今回の「あわせ買い」プログラムは、その選択肢すら奪う。

対象商品は家庭用品や食品などの一部とのこと。

「耳かき」で検索してみた。

ぼんてん耳かき3本組

「ぼんてん耳かき3本組」は 315 円だけど送料無料。

一方、

G-2160 らせん式ゴムの耳かき

「らせん式ゴムの耳かき」は 368 円ながら「あわせ買い」対象商品。

値段の安い「ぼんてん」が無料で、値段の高い「ゴムの耳かき」が「あわせ買い」という統一感のなさ。ちなみにこの「ゴムの耳かき」はマーケット・プレイスでの発売も行なっている。こちらは「あわせ買い」の制限を受けない。最安値は 330 円 + 配送料 100 円の計 430 円。下手に「あわせ買い」につき合うよりも、マーケット・プレイスで買う方が経済的。

一番困るのは、Amazon でしか売っていない商品が「あわせ買い」になった時。どうしよう。

これから「あわせ買い」の商品が増えるのか? それで本当に Amazon の品揃えは良くなるのか? ぼくら買い手は幸せになれるのか? いろいろと疑問が残る。いろいろと不安が残る。

Amazon、CD・DVD・BD で「発売日前日お届け」サービスを開始

Amazon が「発売日前日お届け」サービスを開始した。対象は CD・DVD・BD の一部 (本は含まれないのか orz)。利用には「お急ぎ便送料」 350 円が必要。今まで、予約商品には「通常配送のみ」で「お急ぎ便」はなかったけど、このサービス開始で対象商品は「お急ぎ便 = 発売日前日お届け」になるっぽい。Amazon プライム会員は「お急ぎ便」が無料なので、「発売日前日お届け」サービスも無料で利用できる。

あとがき

ぼくは一日でも早く読みたい本はある。続きが気になるから。

でも、一日でも早く聞きたい CD や一日でも早く見たい DVD・BD ってないんだよね。

少し前の Amazon だと、予約商品に「通常配達」しか選べなかったので、発売日発送。商品が届くのは発売日の 1, 2 日後... なんてこともあった。そんな時は、予約をキャンセルして「お急ぎ便」にしたっけね。それも「本」での話。CD・DVD・BD でそこまでするかというと疑問。それに最近、Amazon はちゃんと発売日に商品を届けるようになったし。

ぼくの実家は新潟なのだけど、新潟だと「お急ぎ便」を使っても当日に届くことはほとんどない。そうね。実家に帰省してて、新作の CD・DVD・BD を家族と一緒に聞く・見るというならこのサービスはありがたいかもね。

本でもこのサービスが利用可能になったら、嬉しさが大きくアップするんだけど...

ELECOM 投映型 Bluetooth プロジェクション・キーボードが安い

欲しいけど買えないモノ・リスト その 2

Bluetooth キーボードの未来形。プロジェクション・キーボード。まあ、まずは写真を一枚。

ガジェット好きなら、心に来るものがあるんじゃないかしらん? このカッコ良さ。持ち運びに楽そう。キーボードとして広く使えるのに、キーボードの「面積」を必要としない利便性。この手の製品のプロトタイプは何年か前に紹介されていたけれど、こうやって製品を見てみると... 欲しい。

そういえば、手頃な Bluetooth キーボードがないかと探していたんだったっけ? エレコムの説明も引用。

投影機とセンサーが一体になった本体から、机上などの平面に赤色光が照射され、キーの形を投影する近未来キーボードです。投影されたキーに直接触れると、センサーが感知して文字入力が可能になるという画期的な製品です。本体は場所を取らない超小型ボディですので、デスクスペースを有効に使用できるうえ、キーボードそのものを持ち運ぶ必要がないため、モバイルにも最適です。キーを投影できるだけのスペースと、反射率のある平面があればどこでも使用することができます。

キー投影型Bluetooth®ワイヤレスキーボード - TK-PBL042シリーズ より引用

気になる仕様を少し挙げてみる。

  • Bluetooth 2.0 HID プロファイル対応 (iPhone/iPad でも使える, Android は機種依存)
  • 英語キーボード (プログラマーは英語キーボードじゃないとね!!)
  • キーピッチ 19 mm (フルサイズのキーボードと同じ)
  • サイズ: 3.8×2.9×7.5 cm (小さい!!)
  • 重さ: 約 77 g (軽い!)
  • 使用時間: 2 時間 (ちょっと短い?)

問題は、この「キー」のないキーボードでタッチタイプが出来るかどうか?

値段が高くて買えない... と思ってたんだけど、今、Amazon では 67% オフ。9,618 円で発売中。心ひかれる。

ELECOM 投映型Bluetoothプロジェクションキーボード iPhone/iPad/iPod touch対応 ブラック TK-PBL042BK
B007K4FLTO

少し頭を冷やして考えよ。

2013-02-04

Miracast 対応アダプタ PTV3000 〜 Android でも AirPlay みたいなことがしたい

欲しいけど買えないモノ・リスト その 1。

Mac/iOS の Air Play に憧れる。iPhone、iPad そして Mac で見ている動画・聞いている音楽をテレビやオーディオ装置に無線で飛ばす。同じ様な仕組みは Bluetooth にもあるけれど、Bluetooth では音を圧縮して送るので音質が落ちる。また、動画を送ることは出来ない。Air Play は動画・音楽を高質品に送れるのが魅力。利用には Apple TV を使う。

Apple ハイビジョン対応 Apple TV MD199J/A
B007JQGUW0

Android でも同じことがしたい

さて本題。同じことを Android 機器でもやりたい。Air Play は Apple の独自規格なので Android では使えない。ではどうすれば良いのか。その答えが Miracast (ミラキャスト) 。Wi-Fi Alliance によって策定された、もっとオープンな規格の Air Play。

Android はバージョン 4.2 から Miracast に対応。Apple TV に相当する機器もネットギアから発売された。定価 8,980 円。

NETGEAR PTV3000 Push2TV ワイヤレス ディスプレイ用テレビアダプター PTV3000-100JPS
B00A7MGHVW

かなり魅力的。うちの Nexus 7 も 4.2 にバージョン・アップしたので楽しみにしていたところ... Nexus 7 には Miracast 用のチップが積んでいないという情報が入ってきた。あれね。OS は USB 3.0 に対応しているけど、このパソコンに USB 3.0 端子は付いていない、なんてのと同じね。Nexus 4 とか Nexus 10 は対応してるみたいね。

Miracast 対応機種は Wikipedia のページに載っている。

欲しい!! とカーってなったけど、自分の持ってる機器が対応してなかったので買えなかったガジェット。次に買う Android 機 (スマートフォンになるかタブレットになるか分からないけど) では、是非使ってみたい。

Google Chrome 拡張「Create Link」〜サイトのタイトル・URL をフォーマットしてコピペ

Google Chrome 拡張で Create Link を愛用している。

Create Link は 2 ステップで、サイトのタイトル・URL・範囲指定している文章などを好みのフォーマットでコピーできる。ブログ用にサイトの URL とタイトルをハイパーリンクの書式でコピーしたり、Wiki の書式に直したり... サイトからのコピーの 8 割はこの拡張の助けをかりている (元は Firefox にあった Make Link を Google Chrome 用に直したもの)。

設定

拡張をインストールしたら、Google Chrome の設定から「ツール > 拡張機能」を選択。拡張機能の一覧が表示されるので、Create Link を探し、「オプション」を選択。

変数の説明に従って、フォーマットの名前(Name)とフォーマット(Format)を書き下す。

変数の説明
%text%
選択したテキストまたはタイトル。改行文字は全て " " に変換される
%text_n%
選択したテキストまたはタイトル。改行文字はそのまま
%text_br%
選択したテキストまたはタイトル。改行文字は <br/> に変換される
%title%
ページ・タイトル
%newline%
改行 (\n)
%htmlEscapedText%
選択したテキストまたはタイトル。いくつかの安全でない文字 (&<>'") は HTML エンティティに変換される
%input%
ポップアップ・ダイアログが開いて文字列を入力

使い方

Google Chrome の右上に Create Link 用のアイコンがあるので、クリックし「名前」を選択。

もしくは、右クリックでコンテキスト・メニューを出して、「Create Link」から「名前」を選択。

ぼくの使ってフォーマット

Plain text

メールやテキスト・ファイル用。

%text%%newline%%url%
HTML

HTML リンク。ブログを書く時に一番良く使う。

<a href="%url%">%htmlEscapedText%</a>
Quote

引用。サイトから文章を引用する時に使う。cite 要素を使って、どこから引用したか明示しているのがポイント。

<div class="quote">%newline% <blockquote cite="%url%" title="%title%">%newline% <p>%htmlEscapedText%</p>%newline% </blockquote>%newline% <p class="quote"><cite><a href="%url%">%title%</a></cite> より引用</p>%newline% </div>%newline%
Markdown
[%htmlEscapedText%](%url%)
Textile
"%htmlEscapedText%":%url% 
PhileWeb

オーディオ用 SNS Phile-webコミュニティ 用。この SNS は URL リンクが Wiki チックな書式で書かないといけないので面倒。

[:URL=%url%:]%text%[:/URL:]

あとがき

Make Link、Create Link については、clmemo@aka で取り上げていたつもりだったけど、検索してみたら見つからなかったので記事にした (もし過後記事を書いてたら、愛嬌ということで...)。この拡張がないと、ブログを書くのがとても不便なので重宝してる。

Markdowntextile の書式を追加。Markdown は github や bitbucket、textile は Redmine で使われている。

2013-02-01

AMN パートナー・ブログ・バッチを貼った

2012 年 12 月。当ブログは AMN のパートナー・ブログになった。

一昨夜、パートナー・ブログ用のバッチが出来たとの知らせを受けた。早速、サイドバーに貼ってある。

バッチをクリックすると、AMN の「ネットワーク・パートナー (パートナー・ブログ)」解説ページへ跳ぶ (今のところは)。

Blogger における不具合

バッチは JavaScript を使って表示される。何故 JavaScript かというと、AMN パートナー・ブログ以外のサイトではバッチを表示させないため。だから、この JavaScript をコピーして自分のブログに貼って、「ほら、ぼくは AMN パートナー・ブログ」と言おうとしてもバッチは表示されない。

ところが、この対策が Blogger では悪く働いた。

Blogger は国別にリダイレクトする仕様。このブログを日本から見ているなら http://at-aka.blogspot.jp/ だけど、米国から見ると http://at-aka.blogspot.com/ に、フランスから見ると http://at-aka.blogspot.fr/ になる。

ぼくは、自分のブログを blogspot.com で AMN に申請していた。日本では blogspot.jp に URL が変わってしまうので、バッチの JavaScript は申請のブログと違うと判断した。結果、ぼくのブログに AMN バッチは表示されない。きっとアメリカから見ている人にだけバッチが見えていたことと思う。

不具合を AMN に伝えたところ、応急処置として blogspot.jp で判定する様になった。お蔭で、バッチが表示される様になった。ただし、日本でのみ。日本国外からこのブログを見ている人には、きっとバッチは見えないことと思う。

こういう風な本当の URL と仮の URL の様な関係が存在する場合の対策として、HTML のヘッダーに <link rel='canonical' href='本当の URL' と書く方式が推奨されている。Blogger もこの rel='canonical' に対応している。

AMN には、サイトの rel='canonical' もチェックしてもらうようにもお願いを出しておいた。近々、全世界で AMN バッチが表示される (はず)。

※ そうか、rel='canonical' だけ偽造するサイトが出るかもしれないから、rel='canonical' で foo.blogspot.com が含まれていたら、TLD 部を削除して URL 部分と foo.blogspot 部分が一致するか調べなきゃなのか、な? 近いうちに rel='canonical' について記事を書こう。