読者です 読者をやめる 読者になる 読者になる

Yuichiro_S の Twitterでは文字数が足りないもの

Twitterに書くには向いてないことを書きます。文字数制限だとか、検索に引っかからないだとか、流れてしまって読んでもらえないだとか。

Nexus5のWi-Fiで特定のチャンネルを使うAPにつながらない件(もしかしたら海外端末一般?)

概要

他人様のNexus5からうちのAPが見えずに四苦八苦したので調べたメモ

まとめブログ並に引用ばかりになります。

出発点

Nexus5からWi-Fiをつなごうとしてびっくり。APがそもそも見えないので、つながらないどころの騒ぎではない。

特定のチャンネルが繋がらない

のコメントにあるように、特定のチャンネルを拾いません。

SIMを挿せば繋がるようになる

Nexus Help Forumのコメントhttps://productforums.google.com/d/msg/nexus/IOfMvlMrnWw/VOL9RAdg3PUJ によれば、SIMを挿すことによって "The wireless regulation" が変更される、とあります。

デフォルトではアメリカのレギュレーション

によれば、"Nexusに限らず、アメリカのWi-fiチャンネル規制の都合で海外端末は12,13chには制限をかけていることが多いようです。"

SIMなしでも繋がるチャンネルについて

List of WLAN channels - Wikipedia, the free encyclopedia を参照すると、北米では、2.4GHz帯では1〜11ch、5GHz帯では36, 38, 40, 42, 44, 46, 48chが制限なく使えるようです。そのうち、日本で使えるのは1〜11chと36, 40, 44, 48chです。このあたりを設定しておけば、今後のトラブルも少し減らせるでしょう。近所との干渉を避けるための自由度が少し減ってしまいますが……

蛇足

北米で使われるチャンネルは、ヨーロッパでは使ってはいけないことになっているチャンネルを含んでおり、なぜデフォルトで北米レギュレーションになっているのかは不思議に思うところで、かなりの理不尽さを感じます。理由が知りたいところ。
あと、先ほど引用したwikipediaの "List of WLAN channels" のページですが、5GHz帯のところの日本の記述がいろいろ間違えている(DFSと書かれるべきところにYesと書いてあるとか)ので、そこは自分で確認してください。 現在は修正されています(2016/09/10)

蛇足2

Nexus 5 Teardown - iFixit によればBroadcom BCM4339がWi-Fiには使われていて Welcome Wireless IoT & WICED™ Customers! | Cypress Semiconductor とくに変な制限はなさそうです

Zenfone5にLollipopな純正ROMを入れた

概要

Zenfone5にLollipopなStock ROMを入れた

手順

準備

ZenFone 5 (A500KL) | スマートフォン | ASUS 日本 から バージョン JP_12.4.5.57 UL-ASUS_T00P-JP-12.4.5.57-user.zip をダウンロードしてくる

adbを使えるようにするか、microSDHCカードを用意する

wipe/factory reset

I am いわゆるクリーンインストール教徒

ZenFoneを工場出荷時に戻す方法 これを参考に

電源OFF状態から、電源ボタンとボリュームダウンキーを同時長押しでリカバリに入る
ボリュームキーで項目の選択、電源ボタンで決定
Enter SD download modeを選択 wipe data/factory resetを選択してYesを選択

update/ROM焼き

internal storage/内蔵ストレージを使う場合

$ adb push UL-ASUS_T00P-JP-12.4.5.57-user.zip /data/media/

してapply update from internal storageを選択

SDカードを使う場合

実際にやっていないが、SDカードのトップディレクトリにファイルを置いて、apply update from external storageを選択すればできると思う

wipe/factory reset

念の為もう1回やる(おまじない的な安心感を得るための宗教的行事)

更新してみて

  • DalvikからARTに変わったせいだと考えるのは早計だが、全体的に若干軽い感じがする
  • ヘッドフォン端子の音が変わった: KitKatのときは信じられないほど音が悪かったが、普通の音になった
  • 相変わらず起動は遅い: ブートアニメーションが始まるまでが異様に長いので、KitKatのときよりもマトモにブートしてるのか心配になる挙動
  • スクフェスの判定が少しだけ沈んだ気がする: 2016/03/18現在の最新バージョンでの判定調整でKitKat:-4, Lollipop:-2くらい。2016/03/4のアップデート以前はKitKatで+4にしてました。
  • FGOが軽くなってほしかったけど大差なかった
  • KitKatのときはAudio Wizardをゲームモードにしないと動かなかったルイファンのキングブレード (aka キンブレ) のアプリ KingBlade - Google Play の Android アプリ が普通に動く(上記のヘッドフォン端子の音が変わったに関連する)
  • KitKatのときの「ASUS純正のこれ、いくらなんでもひどくない?」みたいなのが減った(個人の感想です効果には個人差が以下略)
  • スクショ入れ忘れたので追記 (2016/03/18) f:id:Yuichiro_S:20160318025937p:plain:w240f:id:Yuichiro_S:20160318025940p:plain:w240f:id:Yuichiro_S:20160318025943p:plain:w240
  • プリインアプリが凶悪である一方で、無効化できるアプリが増えてる(追記:2016/03/18)
  • これ書き忘れてました tz sbl1 rpm aboot rpnm modem adi asusfw が焼かれてます
    ブートローダまわりとmodemとasusfwが書き換わってるのはわりと気になるところですね (追記:2016/03/20)
  • バッテリ残量表示がなんか変わった気がします。すこし低めの数字が出るような……? 数字はすぐ減るけれども稼働時間的にはほとんど変わっていないような、減ってから粘るような感触です。 (追記:2016/03/20)
  • 画面上にメニューボタン出ません、Recentボタン長押しに割り当てるしかなさそうです (追記:2016/03/20)

気付いたことがあったら書き足していきます

tmuxでペインの表示が更新されなくなる問題と端末のリセット

バイナリファイルを標準出力に投げてしまって端末エミュレータの表示がぶっ壊れるということがありますが、 tmuxでペインの表示が更新されなくなるときにもこれは使えた、という話です。

何も表示されなくなる、完全に無反応になる(^Cを入力すると反応はありますが)、という見た目に騙されて、 なにかしら自分の知らない変なモードに入っているのだと思い込んでいましたが、単に表示がぶっ壊れているだけのようです。

そもそも変な文字を標準出力に流したりしてない不思議なシチュエーションでこの現象が発生するんですよね……謎です……

知識が偏っていて、化石のような

$ echo -e \\033c
$ echo ^[c

あたりは知っていたんですが、なんと

$ reset

を叩けばいいだけでした。resetコマンドはncursesに入っているようです。 resettsetへのsymlinkです。以下man resetより引用

When  invoked  as  reset,  tset  sets  cooked and echo modes, turns off
cbreak and raw modes, turns on newline translation and resets any unset
special  characters  to  their default values before doing the terminal
initialization described above.  This is useful after  a  program  dies
leaving a terminal in an abnormal state.  Note, you may have to type

    <LF>reset<LF>

(the  line-feed character is normally control-J) to get the terminal to
work, as carriage-return may no longer  work  in  the  abnormal  state.
Also, the terminal will often not echo the command.

AndroidでPNGにアルファチャンネルを付加 (pic.‍twitter‍.com 改悪対策)

毎度毎度余計なことをしてくださるTwitterのあれやこれやの回避策

ロスレスで上げようとしているのに勝手にJPEGにされるのの対策として

  1. GIFでアップロードする(GIF動画のためなのか複数画像不可)
  2. 透過情報(アルファチャンネル)つきPNGでアップロード

あたりがありますが、アルファチャンネルを付加できるアプリを知りませんでした。
探したら案外あっさり見つかったのでメモ。

play.google.com

使い方は普通のGIMPとかと同じような感じです。

Twitter for Androidでの長辺1024pxを超えると勝手にJPEGに変換される仕様は健在なので、それより大きな画像が上げたかったら twiccaとかSobaChaとか使いましょう。

ちなみに、透過PNG以外ならこれがお気に入りです。

play.google.com

PhotoShop Elementsは微妙にかゆいところに手が届かないですよね……

mikutter で "だれそれについて" を開くと "ふぁぼが取得できませんでした (undefined method `[]' for nil:NilClass)" を吐く件のメモ

ただのメモ

$ grep -r count_favorite_by .
./core/plugin/profile/profile.rb:    user.count_favorite_by.next{ |favs|
./core/user.rb:  def count_favorite_by

user.rb

127   # ユーザのメッセージが今までお気に入りにされた回数を返す
128   def count_favorite_by
129     Thread.new {
130       open("http://favstar.fm/users/#{idname}"){ |io|
131         m = io.read.match(/<div[\s]+class='fs-value'[\s]*>[\s]*([0-9,]+)[\s]*<\/div>[\s]*<div[\s]+class='fs-title'[\s]*>[\s]*Favs[\s]*Received[\s]*<\/div>/)
132         @value[:favouritesby_count] = m[1].gsub(",", "").to_i } } end

なぜfavstarなんぞを叩いている……

profile.rb

305     user.count_favorite_by.next{ |favs|
306       w_faved.text = favs.to_s
307     }.terminate(_("ふぁぼが取得できませんでした")).trap{
308       w_faved.text = '-' }

とりあえず

profile.rb

305        w_faved.text = '-'
306 #    user.count_favorite_by.next{ |favs|
307 #      w_faved.text = favs.to_s
308 #    }.terminate(_("ふぁぼが取得できませんでした")).trap{
309 #      w_faved.text = '-' }

user.rb

128 #  def count_favorite_by
129 #    Thread.new {
130 #      open("http://favstar.fm/users/#{idname}"){ |io|
131 #        m = io.read.match(/<div[\s]+class='fs-value'[\s]*>[\s]*([0-9,]+)[\s]*<\/div>[\s]*<div[\s]+class='fs-title'[\s]*>[\s]*Favs[\s]*Received[\s]*<\/div>/)
132 #        @value[:favouritesby_count] = m[1].gsub(",", "").to_i } } end

Youtubeで動画に使用されているコーデック(映像・音声それぞれ)の判別をする方法

概要

ブラウザ上から、現在再生している動画の映像と音声のコーデック(ついでに解像度とかも)を判別する方法です。
動画のフォーマット番号を見るお話です。

前置き

Youtubeで動画や音声に使用されているコーデックが何なのか気になったことはありませんか?
私はありませんでした。そう。あのOpusが既に使われているということを見聞きするまでは。

コーデックが何なのか確かめるためには、生の動画データにアクセスできないと無理だと思っていませんか?
私は思っていました。そう(ry

手順

例示画像は記念すべきOpusが使われていると教えてもらった動画です。
動画を右クリックします。
f:id:Yuichiro_S:20160129232926p:plain
詳細統計情報をクリックします。
なんか出てきます。映像部分がWebMでVP9で1080pなのはもうこの時点で書いてありますけど、見なかったことにして先に進みます。
f:id:Yuichiro_S:20160129232924p:plain
矢印のところの数字を見ます。248/251と書かれていますね。これがフォーマット番号です。 f:id:Yuichiro_S:20160129233725p:plain

YouTube - Wikipedia, the free encyclopedia の Comparison of YouTube media encoding options のところを見ます。

248番 が コンテナがWebM、解像度1080p、コーデックVP9、
251番 が コンテナがWebM、コーデックがOpus、ビットレートが160kbps であると分かります。

(Wikipediaの記事の脚注にもあるように、このビットレートは実際のものとは異なります。)

だいたいの動画は、
映像が133, 134, 135, 136, 242, 243, 244, 247, 248
音声が140, 251
あたりな気がします。

余談

比較的新し目の動画で、720p以上の解像度を再生すると、VP9が使われていることが多く、思っていたよりWebMが普及しているんだなぁ、という感想を抱きました。世の中MP4だと思っていたので。
まぁそんなことよりOpusですよOpus。VP8とVP9に比べて知名度ないでしょ。自分も知りませんでしたもん。しかもなぜかわりと使われているし。世の中MP3とAACしかないと思ってましたよ。

Opusはいいぞ。

Android版スクフェスのストレージ使用量

端末の空き容量をわりと切実に圧迫するスクフェス、ちょっと減らせたりしないかなぁ、と思って、ちょろっと初期化してみました。

2016年1月8日に試しました。のんたんスコマ中です。

初回ダウンロード終わった時点

初回ダウンロード終わった時点で 850MB(スクショ忘れました)。

追加ダウンロードデータ:

楽曲データ: 16MB

この時点でダウンロードされてなかった曲は、ミはμ'sicのミ、好きですが好きですか、もしもからきっと、永遠フレンズ、WAO-WAO Powerful day!、Step! ZERO to ONE、思い出以上になりたくて、でした。 f:id:Yuichiro_S:20160111160812p:plain

サイドストーリー: 277MB

f:id:Yuichiro_S:20160111160806p:plain

メインストーリー:414MB

f:id:Yuichiro_S:20160111160758p:plain

やっぱりフルボイスだとサイズが大きいですね。

まとめ

ストーリーを読み返さないなら、一度初期化すれば400MB〜500MBくらいは端末の空き容量が増やせます。 900MB以内で収まりますね。

蛇足

追加ダウンロードデータサイズ的に、たぶん楽曲は128kpbsと推測できます。
カロン曲とかが内部でどうなっているのか分からないので、とりあえず90曲分の楽曲データが入っているだろうと考えると、
(128 kbps) * 2 min * 90 = 172.8 megabytes
なので、アプリ本体の60MBと180MBを初回がダウンロード終わった時点の850MBから引くと、だいたい600MBくらい残りますね。 カード枚数が774枚、全部の画像データ1500枚ちょい、R以上はスキル発動ボイス、これは最初からダウンロードされてますね。
とか考えていくと、ちょっと楽しい気分になります。

おしまい。