2013年11月10日

Nexus5 と Android 4.4 でのセルスタンバイ問題について

ENGLISH

Nexus5 では docomo MVNO のデータ通信専用 SIM でも LTE 対応のものを使っていればアンテナピクトは表示されるのだが、セルスタンバイの圏外時間は相変わらず 100% のままで、表示上は物凄い勢いで消費しているように見える。
ただし体感上ではすぐ充電がなくなってしまうわけではないし、端末が熱いということもないので、これは表示上のみの問題なのではないかとは個人的には思っている。

そういうこともあって一応何もしなくとも実用に耐えうるかなという思いもあり、かつ Xposed の Android 4.4 対応版がまだ出ていないこともあり、1週間ほどは素のまま使っていた。

ただ、相変わらず 3G のみの SIM に関してはアンテナピクトも出ないようだし、従来の方法でセルスタンバイ問題が解決するかどうか試してみたいというのもあり、やっぱり弄ってみることにした。
Clip to Evernote

2013年11月6日

Go 言語でオーディオリサンプリングなど

前回の記事では DirectSound を Go 言語から直接叩けるようにした。
今回は Wave ファイルの読み書き、サンプルフォーマット変換、リサンプリングしてみた。

Clip to Evernote

2013年10月7日

Go言語で DirectSound を Cgo なしで使えるようにした

Go言語の Windows 版で DirectSound を使うためのラッパーを Cgo を使わずに拵えてみた話。
Clip to Evernote

2013年9月19日

go-shellinford

https://bitbucket.org/oov/go-shellinford/
echizen_tm さんの shellinfordGo言語で使いたくて愚直に移植を試みていて、最低限動くようになってきたので公開します。データの読み込み/書き出しが未実装とか(多分)速度が遅いとか、課題も色々あります。
なお使用可能なのはウェーブレット行列のみで、ウェーブレット木は移植していません。

Clip to Evernote

2013年9月11日

2013年9月10日

Go言語でプールを作った

https://bitbucket.org/oov/pool/src
http://godoc.org/bitbucket.org/oov/pool

ちょっと探してみたりはしたものの、閉じる時に必要に応じて Close() 呼んでくれるような感じのプールみたいなものが見つからなかったので自分の用途に合わせて作った。
Clip to Evernote

2013年7月30日

Web サイトのページを at コマンドで公開予約

全然目新しくない話だけど。

今日新曲を公開したのだが、自分の場合最近は動画サイトに動画をアップロードすることが多い。
動画をアップロードする場合、サイトへのアップロードとサイト側での変換で待ち時間もあるし、複数のサイトにアップロードするならサイトごとに待ち時間もマチマチ(ギャグじゃない)なので、一応公開時間が同時になるように公開予約登録するように最近はしている。
単に足並みを揃えたいという個人的な欲求を満たすためだけど。

で、動画は予約登録できるんだけど、動画ファイルを紹介するサイトを作る時にそっちも予約公開したいなと思ったので、今回は at コマンドを使って予約登録してみた。

Clip to Evernote

2013年7月25日

html2jsonml

https://bitbucket.org/oov/html2jsonml

HTML から JsonML に変換するツールを作った。
JSON が処理できる環境ならこれで簡単に HTML を分解処理できて便利。だと思う。

Go 言語の HTML パーサは HTML5 のルールに従っているらしいので DOCTYPE 宣言の前に script タグが出てくるとか、HTML タグが2回始まってるとか、「色々 HTML 側が頭おかしくてもブラウザが表示できてるからセーフ」っていう類の書き間違いは大体上手く処理できるんじゃなかろうか。
Clip to Evernote

2013年7月11日

「『作曲できる奴ちょっとこい』のデータで遊ぶ」の作り直し

2010年の12月頃に作った作曲できる奴ちょっとこいのデータで遊ぶを、久しぶりに作りなおしてみた。

当時はまだ正式リリース前の Go 言語を使って HTML の取得とサイトの表示を、取得した HTML の解析には Python で BeautifulSoup を使っていた。
今日では Go 言語も正式リリースされ、HTML 解析周りの処理もサブリポジトリで exp を卒業して code.google.com/p/go.net/html になり、github.com/PuerkitoBio/goquery のようなお気楽なライブラリもあり、頑張らなくても楽しい時代がやってきた。甘い汁美味しい! 甘い汁美味しい!

データの格納先に関しても、Go Team による LevelDB の実装はまだ未完成らしいのだが、探してみると github.com/syndtr/goleveldb は Pure Go 実装でキビキビ動いてくれるので SQLite3 だった前回とは違い今回は LevelDB に変更した。甘い汁美味しい! 甘い汁美味しいよおお!

そんなわけで今回はデータ収集、解析、サイトまで全て Go 言語で作り、しかも Cgo も使わずに完成まで辿りつけたので、クロスコンパイルで各プラットフォーム用のバイナリを生成して、サイトをまるごと配布してみた。
展開状態でも LevelDB が Snappy で圧縮されてて 150MB ぐらい、全体的に重複部分が多いので全体を 7z で固めても 40MB を切る程度のデータ量に収まって満足。

面白い歌詞生成して遊びましょう
Clip to Evernote

2013年5月20日

宇佐美マサムネを買った話


若干発売日が遅れたものの、予約していた宇佐美マサムネが無事に届いた。

今まで UFO キャッチャーでぬいぐるみやキーホルダーを取ったりしたことぐらいはあったものの、フィギュア的なものを買ったことはなかった。

飾るにあたってそのまま置くのもなんだかなーと思って Amazon に 1/8 スケールのベッドがないか探したものの、出てくるのは 1/6 スケールぐらいしかないので、仕方がなく作ってみることにした。

100円ショップでいい木材がないか探しても近所の店は小さくていいものがなかったので、宇佐美マサムネが梱包されていたダンボールを切って土台パーツを作った。

パーツのサイズはこの 1/6 スケールのものを参考にしつつ 1/8 スケールに変更して、適当に区切りがいい値を選んだ。

その他マットレス、掛け布団、まくらなども含んだ大体のサイズはこの通り
そのうちもっと綺麗に作り直したい。
Clip to Evernote

2013年4月4日

Android + docomo MVNO データ通信専用 SIM のセルスタンバイ&アンテナピクト問題対策 Xposed モジュール

English

docomo MVNO データ通信専用 SIM でアンテナピクトが立たない件の話。

Android 4.2.1 で公式に修正された手法を voice_capable の内容に関わらず行い、更に緊急通報のみのフラグを消すパッチをこの記事を参考に Xposed モジュールにしてみました。

今までのやり方との違い

  • 母艦不要
  • 簡単に無効化できる
  • 書き換え方が前よりいい
    (以前のパッチで失敗していた環境で動くかも)
  • SIM なしでも問題が起こらない
  • odexed/deodexed 両対応
  • 環境によっては上手くいかないこともある(MIUI とか)
  • 相変わらず root は必要

使い方の簡単な説明

  1. latest.apk をインストール
  2. DocomoSimPatcherXXXXXXXX.apk をインストール
  3. Xposed Installer を起動して Install/Update ボタンを押す
  4. Modules タブに切り替えて docomo MVNO Dataonly-SIM Patcher の左にチェックを付ける
  5. 再起動する
再起動後は docomo MVNO Dataonly-SIM Patcher にちゃんとチェックが入っているか確認してください。
Xposed モジュールは便利ですが、このように幹線部分の動作ですら簡単に差し替えたりできてしまいます。
モジュールを入れる際はソースコードを読んだりするなどして細心の注意を払ってください。

補足
Android 4.3 限定ですが、DocomoSimPatcher をベースにデータ通信専用 SIM で元々は取得できていなかった Cell ID 取得ができるようになる修正を加えた Xposed モジュールとソースコードが下記の記事で公開されています。 
http://ryutaroh-yamashita.blogspot.jp/2013/12/simcell-id.html
Clip to Evernote

2013年3月27日

PeerJS を試してみる

Chrome の stable が 26 になったことだし PeerJS を試す頃合いかなと思ってやってみた。
このページのデモは PC の Chrome で試して下さい。

PeerJS とは

WebRTC というブラウザ同士がサーバなしで通信しあって(要するにP2P)ビデオチャットなどができる仕組みの一部として自由なデータの送受信もできる機能があって、そこの部分を簡潔にラッピングしてくれるライブラリ。だと思う。あまり詳しくない。詳しくないからやってみようとしてる。
通信は UDP を使うことになるのでルータの内側からだったりするとちょっとハードル高そう。その辺で起こる問題をある程度上手く解決してくれる STUN サーバというのもあるらしい。まあなんか上手くやってくれるんだろう。知らなくても使える状態になってるに違いない。きっとそうだ。
Clip to Evernote