2014年2月2日

[git]stashって便利だな

お仕事で、git管理するようにしている。
まあ、私は「gitでやるんで、みんなよろしく」というだけなんだけど、たまには自分でちょっと修正したりすることもある。
で、修正中のソースにpullしたいことがある。
そのとき「ちっ」と舌打ちして、「git checkout --」とかで全部元に戻して、pullして、また変更箇所をWinMergeとかで戻す、などということをやっていた。
普段、gitはGUIのツールでやってたのだけど、昨日はなんとなくコマンドラインから実行した。
pullとすると失敗したので、またいつもの作業をするか・・・と思っていると、なんか説明が出ている。
「commitかstashかしんしゃい」みたいなことらしい。
あることは知っていたstashだが、「一時保存して何に使うんだ?」くらいの印象しか持っておらず、試したこともなかった。
試しにstashすると、statusで見たら変更分が消えて、一時保存されていた。
あら、一時保存して、汚れたソースを元に戻すところまでやってくれるんだ!
statusで変更が無い状態になるので、pullしても問題なし。
その後、stash listとかで保存名を探し、stash applyで復帰させられるようだ(stash popでポップするみたい)。
ほほぅ。
まあ、今回は修正したソースが誰も触っていないことがわかっていたのでこれでよかったのだけど、変更されていたらまずそうだ。
どうやらコンフリクトしてくれるらしいので、それでよいのかな。

いろんな人がいるので、GUIで「こうやれば何とかなるので使ってください」という形に持っていかないと、なかなかうまく使ってくれなかったり、変な使い方をして結果的に困ることになったりする。
Git Flowっていう運用がよいという話も聞くので、検討せんといかんな。

家ではTortoiseGitを使ってるのだけど、会社ではGit Extension(だっけ)を使い、MacだとSourceTreeになってる。
Linuxは、SambaにしてWindowsから使うか、コマンド打ちか(GUI環境無しなので)。
SourceTreeで統一したい気もするが、Windowsだとインストールがちょっと会社的に面倒なのだよなあ。

[nfc]ゆっくりNFCのことを書く (1)

忙しい記念に、NFCのことをゆっくりと書いていこうと思う。
「ゆっくり」というのは、1回の記事を短くする、というだけのことだ。
でも、初回だけ長めにする(ストレス発散のため)。


NFCとは?

Near Field Communicationの略。
ここでは特に、13.56MHz帯の無線を使った10cm以内の近距離通信技術を指す。

Suicaのようなおサイフケータイや、IC免許証、パスポート、住基カード、Taspo、社員証のように、「かざす」という動作で何かできるものは、NFCを使ったものが多い。

一時期は、磁気カードがよく使われていたと思う。
カードに黒い帯がついていて、私なんかは出退勤のカードとして使っていた記憶がある。
会員証とかでも使われているんじゃないかと思う。
その置き換えとして使われたりする。

NFCを使うと、ICカードといって、ICが入ったカードを使うことになる。
磁気カードに比べると、当然値段が高い。
にもかかわらず使われているのは、以下のようなメリットがあるからだろう。

  • 他者から読み取られにくい
  • 改ざんが難しい
  • 情報量を多くためられる
  • けっこう丈夫

磁気カードなんかは見えないペンで書かれた文字のようなもので、読む手段さえあれば誰だって読むことができる。
一方NFCは、カードに入っているICと会話をしないと話を聞き出すことができない。
会話して、合い言葉を交わして、そしてようやく本題に入ることができる。

そういうセキュリティを高めた使い方もできるし、もう少し敷居を下げてクーポンのような使い方をすることもできる。
いろいろ考えると、なにに使っていいのかわからなくなってくるが、特徴を考えるとよいだろう。

  • すごく安価にはしにくい(IC入ってるし)
  • 値段を上げるとセキュリティも上がるが、安くてもそこそこ何とかならなくもない。
    • セキュリティMAX、か、セキュリティそこそこ、の2モデルくらいになる
    • お金を扱うことができるくらいのセキュリティを持てる

この特徴が、NFCがはやってるようなそうでもないような、そんな状況の説明にもなってしまう。

2014年1月19日

[nfc]nfc.scをもう一度見てみよう

見ただけで手を付けていなかったnfc.sc。
NFC勉強会に行ってきた後なので、もう少し見ておこう。


できること

  • NDEFの読み書き
    • 読む
    • 書く
    • 更新(読んで、書く)
  • ユーティリティ
    • RTD SmartPoster用NDEF Record作成
    • RTD Text用NDEF Record作成
    • RTD URI用NDEF Record作成
      • Android API 14以下用らしい。
    • NDEF Recordから文字列の取得
    • NDEF RecordからURI取得
    • NDEF RecordのRTD Text判定
    • NDEF RecordのRTD URI判定
  • サーバ連携
    • ソーシャルサービスへのログイン(nfc.scのページ経由みたい)
    • ローカルデータとサーバデータの同期
    • ギフト?

 

「開封されていないギフトの一覧取得」とか「ギフトをunpack」とかいう言葉が出てくる。
なんだろう?


nfc.scの入り口が「開発者」と「アプリを利用したい人」でわかれている。

開発者の方にログインすると、「サービス」なるものを作成することになる。
これが・・・よくわからない。
サンプルソースを見ると、APIキーとサービスコードを使うところがある。
確かに、サービスを追加されるとそれらがランダムっぽい値で作られている。
「サービス転送URI」とか、課金なんて情報も出てくるのだが・・・まだドキュメントが作られていないのかな。

image

 

サーバに置いたりとかはできそうなので、そこまではできそうなのだけれども、どういうデータ管理になっているのかがもやもやしている。

おそらく、なのだけれども、サーバ連携するサンプルのチュートリアルにはタグを作るという過程がなかったので、作ったアプリの画面を開いてからタグをかざして読み込み、読んだデータをローカルストレージに置いて、それをサーバに上げるときに「サービスコード」と「サービスAPIキー」がいる、ということなんじゃなかろうか。

image

ここまで書いてわかったが、nfc.scについて私が困っているのは、nfc.scを使うとなにができるのか、という説明がないというところのようだ。
開発者ブログもあるのだが、あまり更新されていないようだ。

NFC勉強会2014/01/18

タイトル忘れたけど、福岡のNFC勉強会というか集まりというか、そういうのに行ってきた。

仕事のデバッグではまっていたので、会社から直接出かけた。
会社には私用PCは持ってけないので、スライドのデータだけ持っていくことにした。
スライドは一応作ったんだけど、半分寝ながら作っていたので、今回はSlideshareには置かないことにした。
内容は、ここ最近の状況ってことで、AndroidにHCEが載ったことと、RC-S390が出たことなんかをちょっと書いただけだ。

他の話で印象に残ったものをいくつか。

  • Windowsの標準BTドライバはうまく使いにくい。
    • そういえば、「32feet.NET」ってのがあったなあ、と今さら思い出した。
  • nfc.scってよさそうなサービスなんだけど・・・話題にならないね。。。(過去記事)
  • ビットコインはソースが公開されている

nfc.scはやったことがある、と話してしまったが、私が思ってたのはtapeeだった。
早急に調査してご報告いたします(仕事風)。

アンテナが携帯電話背面にあるけど、赤外線みたいに先っちょにあればかざしやすいのに、という話もあった。
使い勝手は別として、技術的にできるのかな?
たぶんだが、そうなるとNFCのタグ側もアンテナ位置を小さくして「ここに当ててください」みたいな事になるんじゃなかろうか。
「とりあえず全面をあわせれば読める」がよいか、「指定した場所に当てないといけないけどアンテナは小さくできる」がよいか。。。
あとは「アンテナが小さくても電磁波が強いので何とかできる」とかか。
NFC HACKSに出ていた距離とアンテナ巻数のグラフを見ると、パッシブでは距離を伸ばすのは難しいような気がした。

いつものことながら、最後は「NFCってどうなんだろう」みたいな話になった。
まーねー、そうよねー。
「かざす、という動作も意外と敷居が高い」という話は納得できるし、「決済するのなら、せめてかざすという行為をしないと気持ちがわるい(近づいただけでやられると、やだ)」というのもわかる。

じゃあ、決済以外でかざしても心理的に抵抗が少ないものはなんだろう?
社員証や学生証みたいな、証明系か。
扉がかざさないと開かないので、両手に荷物を持っていると開けづらいというのはあるんだけど、セキュリティ的にはそれくらい仕方ないかな、と思う。
それ以外、それ以外・・・指定席に座ったとき「本当に私はこの席で良いのかしら?」と不安に思ったときに、かざして確認できるとうれしいかも。

 

ちなみに私がNFCに手を付けた理由は、携帯電話からパソコンにデータを移すローカルな方法がほしかったからだ。
私はP906iっていうドコモの携帯電話を使っているのだが、カメラがついている。
うちにはデジタルカメラで一番ましなのが携帯電話のやつなので、それをパソコンに移動させたいことがある。
SDカードでやればいいんだけど、手間がかかってめんどくさい。
かといって、ネットにデータを置くのは金がかかる(私はパケット課金にしてる)ので、使いたくない。
実家に帰ると、光接続とか、ADSLとか、ISDNとか、そういうのが届かない地域なので、そういうのも考えるとローカルな手段が良い。
ローカルで転送となるとBluetoothがありそうなんだけど、P906iではBTでのファイル転送ができないようだ。
で、、残ったのがNFCというかFeliCaだった、というわけだ。

その形跡は、このサイトの最初がLLCPの話で始まるところなどに残っている。
当時は、LLCPとFALPの違いもわからなくてねぇ。同じようなやり方なんだろうと思ってたのだ。
懐かしい思い出だ。


あと、BLEのお話が少し聞けた。
ビーコン端末も見せてもらった。まあ、見た目上は普通のBLE端末と変わらんけど。

ビーコン端末って、ペアリングとかしなくてもよいから値段が安くできるんだろうな。
前ちょっと書いたが、BLEで遊ぶのに買ったSensorTagだけど、コードを書いて焼きたかったらIARのコンパイラしかなく、それが30万円くらいするらしい。
フリーで使えもするのだけど、リンクサイズに制限がかかり、BLEプロトコルスタックが既にリンクサイズを超しているから実質使えない、ということだそうだ。
でも、ビーコン専用であればプロトコルスタックを削りに削ればいけたりしないだろうか・・・?

と思ったが、プロトコルスタックはバイナリ提供だから手を入れられそうにない。
自分で書くという選択もあるんだろうけど、うーーーーーん・・・。

2014年1月12日

[ios]iBeaconねぇ

BLEというと、どうしてもiOS7から機能として載ってきたiBeaconの話が出てくる。
正直なところiOSに興味は無いのだが、別にのけものにする理由もないし、なによりも知らない人に話をしやすい。

私「BLEとかやりたいんですけど・・・」
上「なんじゃそりゃ?」

私「iPhoneに新しいiBeaconという機能があってですね・・・」
上「なにっ」

みたいな。
ネタがないときにお金を取りやすいっていうか。
まあ、そんな適当なことをやってばかりいると、ちゃんとやっているところが迷惑するから、少し調べておこうと思った次第だ。

iBeacon自体は、iOS7に載ってるから説明されているサイトが多い。
検索したらすぐ出てくるので、それを見るのが良いだろう。


iBeaconは、BLEとiOS7の組み合わせで動かすことができる、近距離の位置検出をするしくみと、それをPassbookに連携できるしくみのようだ。
iOSだけで完結するものではなく、「ビーコン」と呼ぶ外部装置がいる。

ある場所があるとしよう。
お店の中だったり、部屋の中だったり、ある程度の境界線がある場所だ。
その場所のあちこちに「ビーコン」を配置し、そのビーコンが出す無線信号をiOSが受信し、ある程度以上の無線信号の強さを検出すると「このビーコンが近距離にいる!」と判断してアプリに通知する、というしくみみたいだ(距離の判定は4段階みたい)。
アプリがバックグラウンドにいても通知を受け取ることはできるみたいで、ロック画面に表示するようだ。また、位置検出アプリ扱いなので、そのアプリが通知することを許可するかどうかをユーザに問い合わせるらしい。

iPhoneは仕事でしか使ってないし、携帯電話を持ち歩く習慣がない私なので何とも言えないが、ユーザがアプリを使ってくれるまで敷居が高いなあ、と思った。
それに、クーポンを表示するよう促したりとかそんなのだったら、「クーポンがあるから買いに行こう→通知されるとうっとうしい」、「なんとなく店に入った→アプリをインストールしてないのでわからん」という気がするので、販促にはあんまり効果が無いんじゃないかなぁ、という気がしたんだが、考えが浅いですかね。。。

 

iPhoneはビーコンを出す側にもなれるようだから、待ち合わせアプリとかつくれるんかな。
お互いでUUIDを決めて、片方がビーコン出すアプリ、もう片方がiBeaconアプリとしておくと、近くに来たらわかるとか。
まあ、UUIDが知らない人に漏れてしまうと危険な気はするがね・・・(UUIDの決め方は調べてない)。そんな用途ならiBeaconのしくみだけじゃない確認方法を用意すりゃよかろう。


BLE的には、単にAdvertisingのパケットにUUIDとかを載せるだけみたいなので、BLEのペリフェラルなら誰でもビーコン側になることができるんだろう。

ってことは、BLEスニファとかあれば簡単になりすませるというわけだ。
まあ、そこら辺はNFCの「NFCIDだけで個別識別しちゃいかんですよ」というお話と同じだ。

AndroidもBLEが使えるなら、ビーコンを受け取れるんじゃなかろうか。
Advertisingパケットの中身がコールバックされるんならできそうだが、どうなんだろうね。

2014年1月1日

[無駄話]Windows8をインストールしてみよう

○○してみる、と書いているとき、私は弱気になっている。
自分の行動に自信が持てないが、やってみても悪くはないだろう、悪かったとしても、何となく言い訳の余地を残しておきたい・・・そんな気持ちが表れているのだと思う。
だめだ、そんな弱気では!

こんな記事があった。
http://ascii.jp/elem/000/000/745/745081/
「実は」とあるから、Windows8はOSにNFC機能が搭載されていることはマイナーなのかもしれない。
しかし私にとっては、Windows8はNFC機能があるWindowsのOSに過ぎない。
NFCがなければ、Windows8はうちのPCにRP版といえどもインストールさえされなかっただろう。

と、なんとなく偉そうなことを言ってみたが、しょせん私もNFCを趣味でやってる素人に過ぎない。
Windowsの動向に詳しいわけでもなく、新しい情報が勝手に飛び込んでくるわけでもない。
飛び込む、か。
私は、Windows8をインストールしてみることにした。
ちょっと弱気だが、XPからアップグレードさせよう。

その足で、AmazonからRC-S380を購入。
近所のヨドバシには、置いてなかったのよねぇ(博多ヨドバシは改装されて、ますます行く機会がなくなりそう)。
来るのは来週くらいだろうから、それまではRC-S370を使おう。
ああ、PaSoRiを2つも買うなんて考えてもなかった・・・。

[win8]フォルダーオプションのあれが消えていた

私のWindows8での、フォルダーオプション画面だ。
何か気付くことはないだろうか?
私はさっきまで気付かなかった。
image
「検索」タブがないのだ。
実は、エクスプローラーの検索ボックスすらなくなっている。
何をやったんだ、私・・・・。

スタートメニューから「ファイルの検索」とやっても、だめ。
image

もしや・・・と思って見てみると、これをオフにしていた。
Windows Searchだ。
image
XPのとき、Windows Searchはオプションみたいな位置づけで、私は使っていなかった。
まさか、これが影響しているとは・・・。

チェックして再起動すると、出てきた。
よかったよかった・・・・んだけど、XPみたいに検索画面が別に出てくるタイプもほしいなあ。
会社でWindows7を使っているけど、どうもあの検索に慣れないのだ。

Wi-Fiの簡単設定はWPS

前回、Wi-Fi設定のMIMEに「vnd.wfa.wsc」というものがありそうだ、ということだけわかった。
そこを掘り下げていこう。

このMIMEは「SimpleConfig」というアプリケーション用らしい。
SimpleConfigというWi-Fiアライアンスという団体が考えている無線LANの簡単設定規格らしい。
この記事が2006年だから、今はもう広まっているのかな?

別のサイト見ると、「WPSの旧称」と出てきた。
WPS、というのは「Wi-Fi Protected Setup」の略らしい。
そういえば、無線LANの設定に「WPS」という選択項目がある。
村田製作所さんのところにも、説明があった。
広まっているというか、普通になっているのね。。。

あれ、それならうちのNexus7の設定もWPSでできるんじゃないの?
そう思って検索すると、Wi-Fi設定画面の上にある「更新」みたいな矢印が絡まったアイコンがそれらしい。
てっきり、アクセスポイントをサーチし直すボタンかと思ってたよ・・・。
ESSIDステルスとMACフィルタリングの両方を解除してから実施すると、WPSで設定できた。
これだったら、パスワードを難しくしておいてもめんどくさくない。
よし、Static Handoverはもういいかな。

という結論ではなく。

家の中の無線LANは、WPSボタンなどで簡単にできるから、もういいとしよう。
じゃあ、それ以外となると、街中にあるアクセスポイントか。
個別にアプリを作れば、GPSで場所を調べて、アクセスできる範囲であれば自動的につなげてしまう、というやりかたもあるように思う(アクセス先が切り替わったのって、設定画面開かないとわからないと思う。いいの?)。

もうちょっと調べますかね。

[nfc](自分のメモ)Static Handoverに迷う

忘年会にもうすぐ出かけるので、メモ。
明日元気があったら見よう。
  • Handover Select Record(Hs)を使う
    • Hsの中には、Alternative Carrier Record(ac)が複数ある
      • acの中には、Carrier Data Referenceが1つ、Aux Data Referenceが複数ある
        • たぶん、どっちも普通のNDEFを指すようにしておく(Handover Carrier Recordではなく)
        • どっちにもRTD Textを指すようにして、Carrier Data Ref.にはSSID、Aux Data Ref.にはWEP/WPAなどの種別とパスワード(Key)を指すようにすればよい?
        • 特に取り決めが無いから、Aux Data Ref.なしで、Carrier Data Ref.にCSVっぽく全部入れ込んでもよい?
うん、わからんことだらけだ。
Carrier Data Ref.は他のNDEFレコードを指す「ポインタ」なのだが、何を指定したらいいかわからん。
IDのユニーク性は保証しろ、と書いているので、IDかなぁ。
あるいは「the triple」といっている {TNF, TYPE_LENGTH, TYPE }のセットかなぁ。
標準ルールがないので、結局のところどうでもいいんだと思うが、なるべくNFC Forumのに合わせてみたいものだ。

[intel]HAXMはAMDマシンにはインストールできんかった

HAXM、なるものをインストールすると、Androidのエミュレータ(x86)が速くなるとかならないとか。
インストールしてみよう!
image

やっぱり、AMDでは無理かぁ。
初めてPCを自作したときから、AMDなのだよなぁ。
思い入れがあるってほどでもないけど、
  1. メモリ足す
  2. マザーボード交換したくないので、AMDの速いCPUに変更
  3. マザーボード壊れる
  4. CPUを交換したくないので、AMDが載るマザーボードに変更
  5. 1に戻る
みたいなことを繰り返しているのだ。
あと、「Intelみたいな主流じゃなくて、それと闘ってるAMDなんだぜ」みたいな気持ちがないとは言いきれない。
image
けっこう、いいスペックと思うんだけど、どうだろう?
XPの32bitというのが、惜しい。
メモリも実は6GB載ってるのだけど、Linuxしか64bit OSがないのだよなあ。
XPのサポートが2014年4月8日ということを考えると、ぼちぼち考えておいた方がいいかもしれん。
私が10年前だったら、いや5年前だったとしても、きっと「まだまだXPでいくぜ!」といっていたかもしれない。
が、私ももう老いた。。。
そういうメンテナンスに時間を取られるくらいなら、新しいOSを買って時間を大切にしたいと思うようになってきている。
こういう自分の中の変化があるから、人間は面白いですな。
まあ、それはともかく。
XPの次となると、Windows7か。
仕事でWindows7のPCを使うようになったのだけど、おおむね不満がない。
エクスプローラのアクティブ色がフォルダにもファイルにもなってるときがあって、削除するとフォルダごと消えてしまった、ということがたまにあるくらいか。
Windows8をメインPCにインストールするのは、まだためらわれる。
2年くらい経たないと、ちょっと不安。