雑文発散

最新 追記
過去の日記

2010-02-04 [長年日記]

[][Android] 7インチ Android 端末「WebStation」レポート #1

発売前から気になってはいたんだけど、ついうっかりポチってしまった Camangi WebStation が届いた。オレが注文したのは、CJKオンラインショップ。Camangi の公式サイトに名前が掲載されているので、怪しいところではないとは思うんだけど、オーダーフォームが SSL に対応していなかったり、こちらが出した発送に関する質問を丸2日間放置してくれたりと、良いイメージは感じられない。今は Amazon.co.jp でも注文できるようになってるので、もし間違って買うならば Amazon.co.jp の方が良いと思うよ。

Camangi WebStation

届いたところで少し触ってみたんだけど、電源を入れるといきなり日本語のメニューが出てきた。最初は英語表示で「言語設定を変えると日本語も表示可能」という流れだと思っていたので拍子抜け。この辺は、出荷時に日本向けを意識してるんだね。そういえば、日本語入力の Simeji がプリインストールされているってのも同じことか。

ま、その辺は良いんだけどね。。。触っているうちにいろいろと考えちゃうところが出てきている。ファーストインプレッションの感想をヒトコトで言うと「iPhoneって、すげーよくできてる」というものになっちゃうんだよね。


2010-02-05 [長年日記]

[][Android] 7インチ Android 端末「WebStation」レポート #2

Camangi WebStation を購入する前に参考にしたのが、YouTube に上がっていた「Google Android OS runs on 7-inch Camangi WebStation」という動画。「アバター」の予告編を流しているところで「Smoothly, No delay」とか言ってる割にカクカクじゃん!と心の中でツッコミを入れつつも、どうせこのデバイスで動画を見るつもりはないので、それは許す!と思っていた。

ムービーの再生以外のところでは、Skype の起動も見えるし、ごく一般的な Android 端末なんだろうなという印象を持っていたのだが、届いた WebStation を触ってみると、だいぶ印象が違う。

おそらく、先の動画はかなり初期段階のコンセプト端末だったのだろう。製品版としては「単に Android を載せた端末」ではなく、Web ブラウジングやフォトフレーム、ミュージックプレーヤ、電子書籍リーダ等の「Camangi が考える用途」にこだわった端末になっている様子が伺える。ちなみに Skype は搭載されていない。

「Android 端末」として販売していると思っていたので、Android Market からいろいろなアプリケーションがインストールできると思っていたのだけれど、それも無し。インストール可能なのは、基本的には Camangi が独自に展開している Camangi Market に登録されているアプリのみ。

Camangi Market への登録アプリが豊富ならそれでも良いんだけど、2/5 現在で 700 アプリ程度。そこには Skype もないし、Evernote もない。

Android が本来持ち合わせているアプリ配布の自由さは無く、Apple が iPhone でやっているような「メーカーによりコントロールされたアプリ配布」を目指しているのが WebStation と Camangi Market なのだろうと思う。


2010-02-16 [長年日記]

[] 賃貸契約を更新

昨日、不動産屋から電話があって更新書類の提出期限を過ぎていることが判明。慌てて書類を記入して、投函。更新料の払込も終了。


2010-02-17 [長年日記]

[] SHURE SE115 を買った

SONY のノイズキャンセリングヘッドホンの MDR-NC22 と iPhone は相性が悪くて、音を出してないとノイズがのってしまっていた。それが気に入らないと言うのもあったんだけど、店頭で見て、ちょっとフラフラと SHURE の SE115 というヘッドホンを買ってしまった。

SHURE SE115

まだ試したばかりだけど、NC22 と比べて、低音が明らかに違う。こりゃいいかもなー。


2010-02-20 [長年日記]

[] 富士山日帰り

そろそろプントのバッテリがヤバい気がする!と思って、充電のために(?)富士山へ行ってきた。ちなみに、エンジンの始動時にセルモータが止まりそうで、かなりヤバかった。。。

今回は山中湖周辺で富士山を見て来たんだけど、「山中湖交流プラザ きらら」で堪能してたら、15時30分くらいから、やけに人が増えてきた。

なんでだろ?と思って、そういえば!とネットで検索したら、ダイヤモンド富士が見られるタイミングだということが分かった。

そういうことならば!と、日没のタイミングまで待って撮ってみたよ。

ダイヤモンド富士もどき

ベストスポットと思われる場所には、すでに人がいっぱいだったので、ちょっと外れた場所で撮影してたら、日没の場所もズレてしまった。これではダイヤモンド富士もどきだね。

いずれ再挑戦しよう。


2010-02-25 [長年日記]

[tDiary] 第三tDiary.Netの tDiary をバージョンアップしました

tDiary 2.2.2 およびそれ以前のバージョンにクロスサイトスクリプティング(XSS)脆弱性が発見されたため、tDiary 2.2.3 がリリースされました。

これに伴ない、第三tDiary.Netで稼働している tDiary も 2.2.3 へバージョンアップしました。特に動作に影響はないと思いますが、何かあればこの日記にツッコミをお願いします。

なお、脆弱性についての詳細は、tDiary開発プロジェクトによる下記の記事を参照してください。

tDiaryの脆弱性に関する報告(2010-02-25)

[CakePHP] Component の中から Cookie Component を呼んで悩んだこと

ひさびさに CakePHP を触っているんだけど、自作 Component の中から CookieComponent を呼んだときに、ちょっとハマってたので記してみる。

Cookie Component の基本的な使い方はこんな感じ。

<?php
class SamplesController extends AppController
{
    var $name = 'Samples';
    var $uses = array();
    var $components = array('Cookie');
 
    function beforeFilter()
    {
        $this->Cookie->name = 'samplecookie';
        $this->Cookie->time = 3600;
    }
 
    function test()
    {
        $this->Cookie->write('hoge', 'fuga', FALSE);
    }
}
?>

これで /samples/test へアクセスしたときに発行される Cookie はこのようになる。

Set-Cookie: samplecookie[hoge]=fuga; expires=Thu, 25-Feb-2010 15:25:58 GMT; path=/

$this->Cookie->name で設定した samplecookie が Cookie 名に入っており、$this->Cookie->time で設定した値を元に expires の日時が入っているのが分かる。

次に自作の Component の中から Cookie コンポーネントを呼び出して、使ってみる。Controller では、自作 Component だけを呼び出すようにしている。

<?php
class SamplesController extends AppController
{
    var $name = 'Samples';
    var $uses = array();
    var $components = array('Original');
 
    function test()
    {
        $this->Original->func1();
    }
}
?>

Component の中からは、別の Component を呼び出す場合、Controller と同じように $components へ指定してやれば良いことになっているので、自作の Component からは、このように Cookie Component を呼び出した。

また、Component には beforeFilter() が無いので、initialize() に Cookie Component の設定を書いてみた。

<?php
class OriginalComponent extends Object
{
    var $components = array('Cookie');
 
    function initialize(&$controller)
    {
        $this->Cookie->name = 'samplecookie';
        $this->Cookie->time = 3600;
    }
 
    function func1()
    {
        $this->Cookie->write('hoge','fuga',FALSE);
    }
}
?>

このコードで発行された Cookie は、最初のコードと同じように Cookie 名と expires がセットされることを期待していたのだが、実際に吐き出された Cookie には expires が付いていなかった。

Set-Cookie: samplecookie[hoge]=fuga; path=/

なんで?なんで?なんで?としばらく悩んでいたのだが、Cookie Component の中身を見て、ようやく分かった。

$this->Cookie->time で設定した値は、Cookie Component 内の startup() でのみ利用されており、また、startup() は Controller から呼ばれた場合に実行される処理らしい*1ので、上記のように initialize() などで time をセットしても、この値は利用されないのであった。

じゃあ、どうすれば良いのか?であるが、$this->Cookie->write() の第4引数に expires 設定を書いてやれば、やりたいことはできる。

<?php
class OriginalComponent extends Object
{
    var $components = array('Cookie');
 
    function initialize(&$controller)
    {
        $this->Cookie->name = 'samplecookie';
    }
 
    function func1()
    {
        $this->Cookie->write('hoge','fuga',FALSE, 3600);
    }
}
?>

このコードを実行すると expires 付きの Cookie を発行してくれる。

Set-Cookie: samplecookie[hoge]=fuga; expires=Thu, 25-Feb-2010 15:54:42 GMT; path=/

$this->Cookie->name も利用されないなら、割と早く気がついたかも知れないんだけど、$this->Cookie->time だけが利用されない状態だったので、意外とハマって、悩んでしまったよ。

*1 コードは未確認。実行状況で確認した。


2010-02-27 [長年日記]

[] nook を手にいれた。

Barns & Noble の eBook 端末「nook」を手に入れた。まだ、日本向けには販売していないので、「黒船GADGET 」から購入。メールでやりとりさせて頂いて、メニューにはない商品も取り扱ってもらった。

nook

こちらがそのメニューに無かった nook 用のカバー「Waxwear Cover in Chocolate」。ケースだと取り出すのが面倒くさいかな?と思って、読みたいときにパッと開くカバーの方が良いかな?というのと、布製の質感が欲しかったので、なかなか気に入っている。

nook case

nook case

モノとしての nook は、かなり満足。噂には聞いていたけど、E Ink の表示は、かなり綺麗。描画の遅さは確かにあるんだけど、文字を読む行為が苦にならない。目にも優しそう。

サイズも B6 のビジネス書と同じくらいなので、カバンの中に入れっぱなしにしても問題なさそう。バッテリの持ちがスペック通りなら、入れっぱなし方式でも大丈夫そうだし、これは本気で読書端末として使えそうな気がする。

読書をする時間をうまく確保しなきゃ。


2010-02-28 [長年日記]

[] 東京マラソンを Ustream で観戦して感動した

「Ustream しながら東京マラソンを走っているランナーがいる」という情報が Twitter に流れてたので、軽い気持ちで見てたら、だんだん引き込まれてしまい、彼がゴールするまで見続けてしまった。

Tokyo Marathon : Joseph's Goal

Twitter で流れていた情報によると、Ustream 用と通話用に iPhone を1台ずつ、それからリアルタイムに GPS 情報を垂れ流せる Glympse というサービスで、自身の走っている場所を公開するためにもう1台の iPhone、その他、合計で5台の iPhone を使っていたという話(真偽は不明)だった。

単に映像のダダ漏れというわけではなく、いろいろと話しながら走っていたのがすごいところ。更に、走りながら Twitter のタイムラインを確認したり、自分でも Tweet したりと観ていて全く飽きなかった。

飽きなかったと言うか、沿道からの応援もクリアに聞こえて、なんだか観ているこちらまで応援されている気になったし、Joseph の苦しそうな姿が見えると、思わず「がんばれー」と Tweet しちゃうし、もの凄い体験をさせてもらったと思う。

この企画のまとめページが Tokyo Marathon 2010 / A groundbreaking citizen broadcast にある。録画された Ust もここから観れるので、気になった人はちょっとチェックしてみると面白いと思う。

[][nook] nook に microSDHC カードを増設した

nook の内蔵メモリは 2GB で、スペック表によれば約1500個の eBook が格納できるとのことだ。ただ、まぁ、増設できる余地があるなら増設したい。「そこにスロットがあるからだ」という気持ちは誰もが持っているでしょ?

nook の microSD スロットは、裏蓋を外したところにある。裏蓋の外し方は「[nook Q&A] microSDの挿入方法」に詳しいので、そちらを参照すべし。

nook microSD

スロットとご対面できたのは良いんだけど、ハテ?これはどうやって挿し込むのだ?と思ったら、なんと上側へ開ける形式であった。こんな microSD スロットなんて初めて見た。

nook microSD

オープンした金具を閉じて裏蓋を取り付け直せば増設終了。めでたしめでたし。

[][nook] nook の USB マスストレージモード

nook を USB ケーブルで Mac へ接続すると、こんな感じでマウントされる。「nook」が内蔵メモリで、「NOOK 2ND」は増設した microSD のこと。

「nook」には最初からフォルダが気られている。それぞれの用途は名前を見れば想像がつく。

nook USBマスストレージ

自分でスキャンした PDF や他から持ってきた ePub ファイルなどは、「my documents」に保存すれば良い。ただ、「my documents」の下にフォルダを作って、そこにファイルを突っ込んだ場合には認識してくれなかった(気がする)。

nook USBマスストレージ

それから、「hoge.pdf」と「hoge.epub」のように拡張子だけ違うファイル名が同時に存在していると、タイトル一覧にうまく読み込めないようだ。

同じコンテンツを PDF と ePub で見たときに、どんな違いがあるか試そうとしてうまくいかなかった。

[] 誰もフォローしてない寂しい状況に

Twitter で自分の発言しか見えない状態になってるのってオレだけ?

Twitter

Twitter が完全に死んでいる訳でもなく、公式の blog とか見ても特に何も情報が無いようだし、他に「おかしい」と言っている人も見つけられず、、、オレだけピンポイントで食らってるんだろうか?

【追記】自分で確認はできてないけど、同じ症状の人がいるとのこと。1人じゃないのが分かって、少し安心。解決にはなってないけど。。。