2017年10月1日日曜日

移転しました

別サービスのブログへ移転しました。
 http://gpsnmeajp.sblo.jp/

記事も全部移動済みです。
ここをどうするかは未定ですが、そのうち削除するなり、
再利用するなり決めることになります。

Bloggerもそのうち廃止になるのだろうか

正直なことを言って、GoogleはBloggerやSiteに力を入れていない、
というより、もはや廃止対象になりつつあるのではないかと思うことがあります。

ひさびさにBloggerをスマホから更新しようとして、昔使っていたBlogger公式アプリがなくなっていたり、
公式設定画面をiPadから操作してると意味不明な箇所で落ちたり、
そもそもBloggerもSiteもスマホからの更新を考えていない雰囲気があったりと。

メインでサポートする気があるなら絶対に落とさないであろう箇所は放って置かれていますし、
サービスの改善も長いこと行われていない(使いにくくはなっていっている)ことからして、
もう先はそんなに長くないのかもしれません。

というわけで、WordPress等への移行も視野に入れておく必要があるのかもしれませんね。


追記

bloggerが突如スパム判定されてロックアウトされるという事象も、
わりかし頻繁に起きている様子。
根強く申請すれば解除されるそうだが... それもそれで恐ろしいなぁ...

2017年9月30日土曜日

忍者アナライズが残念

アクセス解析ツールとして何がいいのか、いまいち定まっていない。
Google アナリティクスは、広告の効果の解析等に特化してるのかごちゃごちゃして見づらい。
それで、非公式WikiにはGoogleアナリティクスと、忍者アナライズを使っている。

忍者アナライズは、昔からWebを使っている人ならお馴染みの忍者ツールズの奴だ。
昔ながらのアクセス解析もあるが、忍者アナライズの方は割と近代的な作りになっている。

のだが、困ったことにSSLに対応していない。
SSLと通常のコンテンツを混ぜるのはだいぶん昔にダメになったらしく、SSLオンリーで統一しないといけないらしい。

wikiは暗号化なししかサポートしていないので、なんの問題もなく動いており、
忍者アナライズ自体もSSLに対応していそうな「雰囲気は」していたので油断していたが、
実際にSSLページに置くとエラーを吐く。

なにかと覗いてみると、HTTPSとして忍者ツールズにアクセスしてるまではいいのだが、
サーバー側が応答しないのだ。

んで、FAQを見てみると見事に「動作保証外」との表示が。
というわけで、ブログやサイトでは未だにGoogleアナリティクスオンリーである。

余談だが、SeesaaWikiってGoogleWebマスタと相性が悪く、
認証できないので、検索キーワードがわからない。
辛い。

ブログの運用方針も変えようと思う

今まで、Twitterをベースに活動をしてきたので、ブログとサイトの使い分けは割と曖昧であった。

まれに日記的な何かを投下することがあるかもしれない程度で、
正直更新間隔が非常に長かった。

今回、Twitterを仮停止したのに合わせて、日記的なものの役割を、
きちんとブログに担わせようと考えている。

日記はここに。
コードの断片はqiitaに。
成果物はsakuraに。
とそんな感じで。

RSS連携なども設定が終わったので、今後はここの更新をメインにしよう。
もっとも続くかはわからないが。

Blogger用のアプリも入れたので、前よりかは更新しやすくなるのではないかと思う。

今後こんな感じの適当な文が増えるがご承知ください。

ちなみに以前のTwitterみたいなのが見たい人は、
mstdn.jpに来ていただけると今はそんな感じでやってます

2017年9月29日金曜日

新しいサイトを作りました

新しいサイトを作成しました。
https://sabowl.sakura.ne.jp/gpsnmeajp/

今まで、本ブログやサイトのようにGoogleの無料サイト機能や、
SeesaaWiki、Twitter、Qiitaなどを中心に活動してまいりました。

しかし、特にTwitter周辺含め昨今様々な騒動等もあり、ふと考えを改め、
情報発信の構成を見直すこととしました。

Twitterでのつぶやきは、リアルタイムでの共有や軽い共有はさておき、
長期に渡って参照されるものにはなりえませんし、
運用方針など疑問が多々あり、また技術とは関係ない方面においての
心労も無視できなくなりました。

また、本ブログのサービスBloggerではjavascriptが満足に動作しなかったり、
HTMLに手を入れようとするとかなり面倒なことになりコードが公開しにくかったり、
Google Siteでも同様に、javascriptを走らせるのは非常に面倒、
HTMLはもはや無理なレベルだとか、まあ色々ありまして、

この度、さくらインターネットのレンタルサーバーを借りて
HPスペースを持つことにしました。老舗ですし、有料なので安心感があります。
なにより共有SSLが使えるので、最新のWebUSBやらWebBluetoothやら
Service Workerやらが使えるのが嬉しいところ。
(なんか仕様が古いとか独自とかいう話もありますがとりあえずは支障なさそう)

それにあわせ、メールサーバーもついてきましたので、
メールアドレスも公開させていただきました。

今後の方針ですが、
・FlashAir開発者向け非公式Wikiは継続します。
 誰でも編集できるWikiであることが大切だと思っていますので。
 編集してくださる人が増えることを願っています。

・Qiitaも継続します。細かなコードの公表や、チュートリアル等は
 反響を読みやすく、また書きやすいところが便利です。
 動作デモや、まとまったコードなどはさくらの方に上げる形になるかと思います。

・GoogleSiteは、アクセスが多いのでなんともですが、
 FTLEを残してだんだんと移転する形になるかもしれません。

・本ブログは、コード関係の記事は削除します。
 (そもそもコードがまともに読めなくなっているので)
 Qiitaに移動するか、別途サイトの方にページを作るかは未定ですが、
 内容は(自分のために)残すと思います。

・ニコニコ動画に上げていた動画は、取り下げるかもしれません。
 取り下げた場合は、youtubeか、サイトに置きます。

・youtubeの動画は...多分取り下げないと思います。

・Twitterは未定です。

以上、お読み頂きありがとうございました。

2017年7月25日火曜日

HP Stream 11-y004tuを購入した

HP Stream 11-y004tu(2016年12月モデル)を購入した。
Celeron N3050搭載の非力なマシン(10年前のCore2Duoに負ける性能)だが、
その価格(3万2千円)に負けて買ってしまった。

Windows PCとしてはポータブックがあるのだが、Linux入れる用のマシンが欲しくなったのだ。
HP Stream 11シリーズは比較的有名で、前々からLinuxを導入した報告が多かった。
同価格帯のasusのE203NAとかなり迷ったのだが、asusのマシンはLinux導入時のトラブル報告が多いので、
Linux初心者の自分には向いていなさそうということでHPを選択した。

で、届いた。


開封した印象としては
・割と本気でおもちゃっぽい
・筐体が軽くて薄くて良い
・通常のACアダプタケーブルの他に、ACアダプタに直結できる
 L字型コンセントアダプタがついているのはかなり好感度が高い。携帯性が高まる
・キーボードは、良くもないが悪くもない。パタパタといった感触
・Windows 10はじめてブック的なものがついているのは初心者にすごく優しい
・タッチパッドになにかの跡が... 製造時のかな?

まず、デフォで入っているWindows 10の方を使ってみた。
・クソ重い。正直使用がきついレベル。ポータブックのほうがまだマシ
・すべてが遅い。使いにくい。
・ポータブックと違って液晶はマトモな方。(超きれいではない)
・One Driveの2年間100GB無料使用権利が紙で同梱されていて、それは良い
・HPの製品登録をすると、さらにDropboxの1年間25GB無料権が手に入るのも良い
・入っているのは1507あたりのかなり古いWindows 10であり、
 即Creators Updateにする必要が(もちろん問題なく終了する)
・ファンレスなのは良い

次に、Ubuntuを導入するついでにBIOS設定に入る。
・普通に64bit UEFI
・HPは自己診断ツールが充実していて良い
・起動時パスワードや、起動順位設定などが普通に設定できるのが素晴らしい
・レガシーBIOSサポートまで入っている(Windows7以前も問題なく入りそう)
・POST delayの設定もできる。素晴らしい。
・当然のようにUSBブートもCDブートも対応
・セキュアブートもオフにできる(次回起動時に確認画面が出る)
・音量キーなどは、デフォだとFn押さずに利用できる
 (つまりF1等のキーが後ろに回っている)が、
 Action Key設定をdisableにすると、通常ファンクションキー有効で、
 Fn押すと音量等の操作になる普通の設定にすることができる。
とても良い。

最後に、Ubuntu 16.04 日本語Remix(64bit)のライブCDで動作確認
・起動順位を設定し直しておけば、なんの問題もなく起動する
・起動は遅いが、起動後はそこそこ軽快に動作する
・カメラ OK
・キーボード OK
・microSD OK
・Wi-Fi OK
・Bluetooth OK
・オーディオ OK
・イヤホン端子 OK
・タッチパッド OK(※)
・モニタクローズでのサスペンド NG
・手動でのサスペンド OK
・サスペンドからの復帰 OK
というわけで、デバイス周りの問題は何も概ね起こらず使用できた。
素直で素晴らしい。

もちろんセットアップ時にもWi-Fiは問題なく使用できている。

※タッチパッドは、2本以上の指で触れると、時折左上や左下に吹っ飛んでいくことがある。
 頻繁には起こらないが、そこそこ起こるので注意。Windows使用時も同様かは不明
 (どうやら、クリックするときに反応するのが原因らしい。クリック時にカーソル操作する側の指を離せば発生しないが...)


結論: Linux入れて使うのに最適。Windowsで使うなら大変な気長さが必要そう


Ubuntu導入後
・タップでクリックする、や、二指でのスクロールは切っておいたほうが良さそう

2017年6月24日土曜日

最近ちょっとFelicaにハマっている

最近ちょっとFelicaにハマっている。

Felicaで色々するのが流行ったのは2008年ごろだろうか。
当時自分も、Felicalibを使ってIDmを読み込んで認証するプログラムを作った覚えがある。
その時、RC-S330を購入したのも覚えていた。

最近、といっても1年ほど前だろうか。
ふとしたことで、NFC搭載のSDカードを手に入れた。
東芝のアレだ。

当時自分はNFCを読み取れる機材がなく、SDカードも別に不足していなかったので、
戸棚にしまったままになっていた。

3月頃、ふとAndroidアプリ開発をしたくなってNexus5Xを購入していた。
NFC読み取り機能もあることだし、と、免許証や電子マネーの読み取りアプリも入れていた。

それで、ふと先のNFC-SDカードを思い出した。
Nexsus5Xにアプリを入れ読み取ると、ちょっと使いづらいながらも
無事サムネイルとカード名を読めるようになった。

NFC-Type Fなので、PC+PaSoRiでも読めそうだが、公式にはないし、
やっている人も見かけない。

ここでふと思った。ざっと探してもネット上でこのSDカードを解析している人はいない。
しかし、自分は前にFelicalibで少しだがFelicaには触っている。
ちょっと調べれば実は簡単にできるのではないか?と。

実際、このSDカードの仕様とメモリマップは公開されていた。
見た感じ結構単純そうであるし、行けるだろう、と思ったのが罠だった。

詳細はFlashAir開発者向け非公式wikiを参照してほしい。
http://seesaawiki.jp/flashair-dev/d/NFC%3aPC%a4%ab%a4%e9%c6%c9%a4%df%bd%d0%a4%b9
のだが、ここでもかいつまんで説明しよう。

まず、Felicaには現在最低でも2種類ある。
Felica Standard: これは、いわゆるSuica等の普通の高セキュリティなFelicaだ。
 いわゆるカード型Felicaのそれは全部これである。
Felica Lite: これは機能が省略された安価なFelicaで、そのかわり小型省電力。
 もともとNFC用に作られたと言ってもいいもので、ポスターやフィギュア、
 シールや小さなカードなど、小型軽量薄い、そして安いが、
 暗号化機能はごっそり削られ、容量もかなり少ない
 一部では会員証として普通のFelicaと同じカードの形をしていることもある。

で、2008年ごろのFelicaといえば、Felica Standardのことだった。
Felica Liteはあとから出てきたもので、いわゆるNFCはほぼこっちである。

そう、2008年で更新が止まっているFelicalibはFelica Standard用に作られており
一方、NFC SDカードは、NFCの名の通りFelica Liteなのである。

Felica Standardは、かなり複雑な階層構造になっており、
システム→サービス→エリア→データブロックになっている。
”システム”でEdyやSuicaなどが別れ、そのシステムも共有の領域な場合があって
そこはサービスで分ける。(Edyなどは共有領域を使っている)
そして、サービスの中はエリアで別れていて...と言った感じ。
(エリアは8階層まで可能らしい)
なので、ディレクトリ構造になる。
またこれらを扱うために多種多様なコマンドがある。
アクセス手法もランダムや、サイクリック、パースなどあるし、暗号化も様々できる。
トランザクション処理もできる。

一方、Felica Liteは、システムもサービスもエリアもない
ブロックしかない。ブロックしかない。
そのため、ブロックアドレスのマップ、メモリマップで全てが表せる。
さらに、コストカットのためコマンドも削られている。
・ポーリング
・暗号化なし読み取り
・暗号化なし書き込み
しかない。

ただ、互換のためシステムコードは0x88B4(Felica Lite) or 0x12FC(NDEF)で反応し、
サービスも0x0009(読み書き可)と0x000B(読み取り専用)がある。
(2つのサービスは同じ1つの領域を読み書きする。権限が違うだけである)

...であることから、通常Felica Standardで使われる普通の手順
1. ポーリングする
2. システム一覧を取得
3. システムの中のサービス一覧を取得
4. サービスの中のエリア・ブロックにアクセス
が成立しない。

もう2も3も成立しない。

そのため、Felica Standardで使われるダンププログラムを使うと、
謎の00領域00サービスの山に悩まされることになる。
(実際にはコマンドエラーで失敗していると思われる)

一方、単純故に解決も簡単で
1. 0x88B4で決め打ちポーリングする
2. サービスは0x000B固定で、エリアも無視して、ブロックアドレス与えて単に読み書きする
に愚直に従えば良い。

良いのだが、ここでまたFelica Standardで現れなかったのであろう問題がぶつかった。
Felicalibが1バイトアドレスにしか対応していなかった。

そもそも、Felica Standardは細分化された構造にデータが置かれているから、
そんなに1つの領域に大量にデータを置くことがなかったのだろう。

一方、Felica Liteは1つの領域しかないため、そこに置くしかない。
そのため1バイトで表せるアドレス数では足りなかった。
(※本当のFelica Liteは足ります。Felica Plug等の外部メモリがついているタイプのが困るのです)

Felicaには2バイトアドレスでアクセスする方法が予め用意されていたので、
それでアクセスすれば問題なし...なのだが、ライブラリにはその機能がなかった。

そのため、改造が必要になった。
ちなみに、改造したライブラリはここにあります。
https://sites.google.com/site/gpsnmeajp/tools/felicalib_segfix
エラー対処や、いろいろな改善(改悪含め)が入ってます。

んで、読み書きできればこちらのもの。
あとはメモリマップに従ってやれば、読み出しできる。

Felicaなんで、標準242kbps、高速424bpsしかないけど。
さらに1ブロック単位アクセスをするとなお遅い。

おそーい。

それでも読み出すツールはできましたので、こちらに置いておきます。
https://sites.google.com/site/gpsnmeajp/tools/nfcsddumper
同梱されているライブラリは最低限の改造しかしていないものですので、
プログラムに組み込んで使うのであればこちらではなく、上のを使ってください