屋内TVアンテナをWiFi化してスマフォやタブレットでTVを見る ~「DXメディアコンセント」のレビュー~


DXアンテナ株式会社の「DXメディアコンセント」はiOSやAndoroidのスマートフォンやタブレットでTVを見ることが出来る機器である。
先日、この「DXメディアコンセント」を我が家に導入したのでそれのレビューをしてみようと思う。

DXアンテナ株式会社「DXメディアコンセント」

この機器を一言で言えば、屋内のTVアンテナをWiFiに変換する機器である。この機器を設置すると、専用アプリを使ってスマフォやタブレットでTVを視聴できるようになる。
WiFiは既存の無線LANルータを使用して家庭内LAN内に飛ばす形になる。
また、使用するTVの電波はワンセグではなくフルセグになる。

設置方法と設定方法はとても単純かつ簡単だ。
DXメディアコンセントをTVアンテナ端子にぶっ刺して、「AOSS」や「らくらく無線スタート」などの簡単WiFiセットアップ(WPS)をつかって無線LANルータと接続するだけ(逆にこれしか設定方法がない)。
また、機器がTVアンテナ端子にそのまま刺さるので、ケーブルやアダプタは不要である。
家庭内無線LANに接続完了後はスマフォで専用アプリを立ち上げると、自動的にDXメディアコンセントを認識してスマフォにTV画面が表示される。

実のところ、このDXメディアコンセントは類似の製品があまりみあたらない。
TVアンテナを接続できる無線LANルータや、車載用ワンセグ受信機器は他社からいくつか販売されているのだが、屋内にあるTVアンテナ端子をWiFiに変換するお手軽な機器はあまりない。
(・・というか屋内でTV見るなら普通にテレビで見ろよ、って話なんだろうけど)
普通、無線LANルータなんてすでに一家に一台あることが多く、TVを見るためだけに1万円以上の投資をして、TVチューナー付無線LANルータをわざわざ新設するのも無駄というものだ。
また、車載用のチューナーは基本的にワンセグのため、受信感度は機器のアンテナと建物のレイアウトなどに左右される。つまり、機器の設置場所によっては、ワンセグ電波の受信状況が悪く、画像がまったく映らないこともかなりの確率で起こりうる。
ぶっちゃけ、TVが見られるならワンセグでもかまわないのだが、家の中のどこでも「確実に」TVを見ることができる環境がほしいのだ。場所によって映ったり映らなかったりは正直こまる。その点、DXメディアコンセントは屋内のTVアンテナ端子を使用するので確実にTV電波を得ることができるし、WiFiが届く場所であれば映像が乱れることもない。
加えて、DXメディアコンセントの利点として最も大きいのが、価格が非常に手頃なのだ。
Amazonなどで5000円以下で購入できる。
これならあまり深く予算のことを考えずに購入できる価格帯だ。

我が家では、iPadを使ってTVを見たい、朝は台所で、夜はベッドの中で、という希望からDXメディアコンセントを導入した(なお我が家にはTVという家電は一台も存在していない)。
実際にDXメディアコンセントを設定してiPadでTVを視聴したところ、何の違和感も無くTVを視聴することができた。
画像が停止することも一切なく、まさにiPadがそのままTVになった。
正直、ここまでストレス無くTVが見れるとも思っていなかったし、箱出しから10分で設定が終わるとも思っていなかった。
5000円弱の投資でiPadがTV化できるならば、非常にお買い得だと思う。
別宅にもう一台買ってしまおうかと思っているくらいだ。

唯一不安なのが「モアテレビ」という専用アプリの存在だ。
ただ、アプリの品質を問題視しているわけではない。
この専用アプリ「モアテレビ」の出来は非常によい。
余計な機能が一切無く、操作に迷うこともない。
起動も早い。
動作には一切文句はない。
しかし、おそらくDXアンテナ株式会社が独自で作っているアプリだと思われるが、今後のiOSやAndoroid OSのアップデートに対応してくれるのか?という点が非常に不安だ。
iOSやAndorid OSがアップデートされた場合、セキュリティや他アプリの都合上、iOSやAndoroid OSをアップデートしないわけにはいかない。
しかし、モアテレビが新バージョンのOSに対応してくれない場合は、モアテレビが使えず(最悪の場合、アプリの起動すらできなくなる)DXメディアコンセント自体がゴミと化す。
機器のコンセプトやレスポンスが非常に良いだけに、いろいろな機器で長く使い続けたいが、ベンダーのアプリ保守体制だけが非常にきがかりだ。

wordpressでimg要素に勝手につけられたsizes属性、width属性、height属性を削除する方法


表題の件、ググると、
add_filterを使った方法(↓)や、

wp_calculate_image_srcsetを使った方法(↓)などが

でてくるのだけど、
ちょっと強引だけど、こんな方法もあるよ、というご紹介。

以下のコードをテーマのfunctions.phpに追加してやればよい。

function custum_theme_content_replacement($the_content) {
        $return = $the_content;
        $return = preg_replace(
            array("/(sizes|width|height)=\"((?:\\\.|[^\"\\\])*)\"/i")
            ,array(" ")
            ,$return
        );
        return $return;
}
add_filter('the_content','custum_theme_content_replacement');

まぁ見てもらえばわかるけど、コードの内容をかいつまんで説明すると、コンテンツを表示するときにsizes属性、width属性、height属性を正規表現を使ってまるっと置換して削除しちまえ、ってことをしている。

かなり強引なやり方だけどね。
選択肢の一つにしてもらえれば。

ダブルクオートやシングルクオートで囲まれた文字を抽出するための正規表現


HTMLの属性値を正規表現で書き換えたいときなど、ダブルクオートやシングルクオートで囲まれた文字を正規表現で抽出する場合は以下の正規表現で抽出が可能。

"((?:\\.|[^\"\\])*)"

HTMLの属性値を限定したい場合は以下のようにすればよい。

(sizes|width|height)="((?:\\.|[^\"\\])*)"

この正規表現の出典は以下のサイトより。

「人力検索はてな」より抜粋
http://q.hatena.ne.jp/1246344237

正規表現の読み方は以下のようになります。
——————————————
"              # 文字列の開始
 (               # キャプチャするグループ化
  (?:              # キャプチャしないグループ化
   \\.               # バックスラッシュによってエスケープされた任意の一文字
   |                 # または
   [^\"\\]           # ダブルクォートとバックスラッシュ以外の一文字
  )                # グループ化終了
  *                # ↑の 0 回以上の繰り返し
 )               # グループ化終了
"              # 文字列の終了
——————————————

なおPHPのpreg_replaceで使用する場合には以下のようにエスケープする必要がある。

preg_replace(
    array("/(sizes|width|height)=\"((?:\\\.|[^\"\\\])*)\"/i")
    ,array("(変換したい文字列)")
    ,$return
);

エロい人ありがとう。備忘録として。

ハラスメントの例 from 2ch


419 名前:名無しさん必死だな [sage] 投稿日:2017/10/01(日) 23:21:25.28 ID:EWtjksDQ0.net
新卒君は覚えておくように(´・ω・`)

ハラスメントの例

アカハラ…社会的立場の強いものが嫌がらせや不当な言動を下位に与えること
アルハラ…酔って迷惑をかけたり、飲酒を強要したり、またはその状況をつくること(コールなど)、
     更に酒以外を用意しない、飲めないことに対し煽るなど酒が飲めない人に配慮しないことも指す
エアハラ…特定の者を不特定多数の前で意図的に陥れるために場の雰囲気を悪くすること
エイハラ…年齢による偏見や嫌がらせ
エレハラ…追跡や盗聴器、人体に有害な電波などを利用して危害を加えること
オワハラ…就活中の者に対し、選考企業の辞退を強要すること
カジハラ…専業主婦の働き手に対する言動的な嫌がらせ
カラハラ…カラオケといった場において歌うことを強要すること、または仕向けること
ジェンハラ…男のくせに~、女のくせに~、男だから~、女だから~といった性差別
スメハラ…体臭や香水により周りに不快感を与えること
スモハラ…空間を共有する場において自己の意志に反してタバコ等の煙を吸わなければいけない状況に追い込むこと
セカハラ…ハラスメントを訴えたことによる二次被害(妨害、嫌がらせなど)
セクハラ…自身の性に対しての嫌がらせ、又は個人・集団を問わないいじめのこと。性的嫌がらせ
ソーハラ…友だち申請やフォローといったSNS活動を強要すること、またはそれによる不当な扱い
テクハラ…相手にとって分からない用語を意図的に並べて不快な思いをさせる
パーハラ…容姿や癖、生活スタイルなどに関してからかったり、必要以上に問いただしたりすること
パワハラ…立場や権力や階級などを利用し、下位の者に対して本人の意思に反することを強要すること
ブラハラ…血液型などの科学的に肯定されていない物事を信じ、偏見をもつこと
ゼクハラ…主に家族間で、未婚の者に対し結婚を迫る発言をしたり、お見合いを強要したりすること
ラブハラ…「彼女いないの?」など恋愛に関する話題で相手にプレッシャーを与えたり不快感を与えること
マリハラ…未婚の者に対し結婚を迫る発言をしたり、お見合いを強要したりすることの総称
モラハラ…言葉や態度などによる嫌がらせ
ラブハラ…求婚や性交を迫ったり、個人の価値観を尋ねバカにしたりすること
リスハラ…自主退職に仕向けるよう、同僚や上位の者がその者に対して不当な扱いをすること
レイハラ…人種、外国人、ハーフなどに対する嫌がらせや偏見を持つこと
レリハラ…宗教に関し、批判や言論の自由を阻害する行為、脱会や信仰の自由を阻むこと

OANDAのREST APIでサブアカウントを作ると新サブアカウントで旧アクセストークンが使えない。


OANDAで「サブアカウント」を作成して、新しいサブアカウントのアカウントIDでAPIをたたくと、

CODE 4
The access token provided does not allow this request to be made

というエラーでアクセストークンが使えないことがある。

この場合は、アクセストークンを再発行するとメインアカウントもサブアカウントも同一のアクセストークンで認証できるようになる。

単純に再発行するだけでおk。

備忘録として。

ランサムウェア「WannaCry」についてWindowsユーザが対応しなくちゃいけないことを要約するよ


その1:つまりどういうこと?

ランサムウェア「WannaCry」がなんなのか、についてはここでは説明をハショルよ。詳しくは自分でしらべてね。ここでは、極悪ウィルスが蔓延しててチョー・ヤヴァイ程度に思っててね。

ランサムウェア「WannaCry」の対応するにはマイクロソフトのセキュリティアップデート「MS17-010:Microsoft Windows SMB サーバー用のセキュリティ更新プログラム (4013389)」が適用されていないとヤヴァイいのね。

参考:【マイクロソフト本家】
マイクロソフト セキュリティ情報 MS17-010 – 緊急
https://technet.microsoft.com/ja-jp/library/security/ms17-010.aspx

その2:アタシのPCはどうなのよ?

自身のPCに「MS17-010」が入っているかは以下のコマンドで確認できるよ。

コマンドプロンプトを開いて(Windowsキー+R → 「cmd」って打てば起動するよ)以下のコマンドを実行してみる。

Windows 7の場合
(以下のいずれか)

wmic qfe list | find "KB4012212"
wmic qfe list | find "KB4012215"
wmic qfe list | find "KB4015549"
wmic qfe list | find "KB4019264"

Windows8.1 の場合
(以下のいずれか)

wmic qfe list | find "KB4012213"
wmic qfe list | find "KB4012216"
wmic qfe list | find "KB4015550"
wmic qfe list | find "KB4019215"

Windows XP or Windows8 の場合

wmic qfe list | find "KB4012598"

Windows Vista の場合

wmic qfe list | find "KB4012598"

このコマンドを実行してみて「なにも表示されない or なにも反応しない」場合はキミのPCに「MS17-010」は入っていないよ。逆に何か反応したら入ってるから大丈夫だよ。

Windows Updateをしっかりやっていても前述コマンドを実行してもなにもが出てこないことがあるよ。この場合、対応する必要がないか対応する必要があるのかウィルスに感染してみないとわからないよ。だったら対応しといたほうがいいよね。ってことで次のステップへGOだよ。

そのほかのOSについては↓の参考URLをみてね。

参考:【マイクロソフト本家】
[WannaCrypt] MS17-010 の適用状況の確認方法について (WSUS)
https://blogs.technet.microsoft.com/jpwsus/2017/05/15/wannacrypt-ms17-010-%E3%81%AE%E9%81%A9%E7%94%A8%E7%8A%B6%E6%B3%81%E3%81%AE%E7%A2%BA%E8%AA%8D%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

その3:具体的になにすればいいのよ?

「MS17-010」が入っていなければ以下からダウンロードしてインストールしてね。

開くといろいろなダウンロードがあるけど基本的に自分のOSに合致するものをダウンロードして実行すればおk。

Windows 7 の場合
http://www.catalog.update.microsoft.com/search.aspx?q=4012212

Windows XP or Windows8 の場合
http://www.catalog.update.microsoft.com/search.aspx?q=4012598

Windows8.1 の場合
http://www.catalog.update.microsoft.com/search.aspx?q=4012213

Windows Vista の場合
http://www.catalog.update.microsoft.com/search.aspx?q=4012598

以上。

エイスースのモバイルノート「ASUS Vivobook E200HA」を2年弱使って見えたメリットとデメリット


少し前に【これは絶対に買い】エイスースのモバイルノート 11.6型ディスプレイ ASUS VivoBook E200HA を3か月ほど使ったのでその感想とレビューという記事を書いた。そこからしばらくたって、いまでも愛機として使用しているエイスースのモバイルノート「ASUS VivoBook E200HA」を再レビューしてみたいと思う。

結論から言えば、あまり評価は変わっていない。ただ致命的だった点もいくつか出てきた。そこをお読みいただき、ご自身が購入される際の参考にしていただければと思う。

処理速度について

使う人によるかもしれないが処理速度は圧倒的に非力だ。「3万以下のノートに処理速度期待するんじゃねぇ」というご意見はもっともだ。だけど開発環境やゲームなどは動かなくても仕方がないと割り切れるのだけど、メールソフトの「Thunderbird」は動いてほしかった。ちなみにこの「Thunderbird」を起動すると10分近くPCがフリーズする。その間なにもできない。ちゃんと返ってくるので待てばよいのだが「Thunderbird」が起動しているとメモリを1.5GBほど喰われるので他の作業が一切できない。したがって「Thunderbird」は落とすしかない。次のメールチェックのために10分フリーズ・・・この繰り返しは正直しんどい。まぁこのThunderbirdは「重い」で悪名高いのでPCのせいではないのだけれど。

HDD容量について

実はE200HAを一年間使っていてHDD容量の少なさが一番致命的だった。32GBのeMMCが入っているのだけど、なんとWindowsだけで20GB喰うのだ。残り12GB弱しかない。そこにスワップ領域(ページファイル)を2GBほど積むと残り10GB弱。オフィスは2GB喰うので残り8GB弱。他のアプリを最小限にしても、ChromeやらDropboxなどアプリが勝手に作るキャッシュデータやらなにやらで5GBほどか直ぐにうまり残り3GBとなる。これらのファイルはMicroSDで増設したドライブには移動できないファイル達だ。正直これはしんどい。贅沢は言わない、あと10GBでいいからプライマリドライブの容量が増やせないものかと切に願うばかりだ。

画面の小ささについて

これも使う人による。俺はノートPCの小さな画面でも苦なく仕事できる人間なので全く問題なかった。要は慣れの問題だ。この「E200HA」で普通にPHPのコーディング作業をしていたし「MySQL Workbench」などでDBの開発もしていた。WordやExcelでのドキュメント作業も問題なく。何度も言うが、要は慣れの問題だ。

画面の小ささと言えば、本体も小さい。これはデメリットのようでメリットにもなる。俺のように外でPCを使うことが多い人間は、PCを広げるデスクサイズを選べない。しかも最近の有名なカフェ(タリーズとか。スタバはなんかキライ。)はデスクサイズが猫の額ほどしかない(まぁ当然っちゃぁ当然か)。その状況でこの機体の小ささがモノを言う。PCとマウスとマグカップが小さいデスクにちょうど入る。これはありがたい。

バッテリーの持ちについて

この「E200HA」が手放せない大きな理由の一つが「バッテリーの持ちが驚異的」という点だ。2年弱使っていても実感10時間は普通に持つ。メイン機の横で待機状態&たまに確認程度なら普通に12時間は余裕で持つ。これは正直驚異的だ。外出勤務の合間にカフェの電源コンセントのある席を探して彷徨う必要もなければ、充電のためのACアダプタを持ち歩く必要もない。これは非常にありがたい。

重量について

この「E200HA」が手放せない大きな理由のもう一つがこの「重量」だ。ガチで1kgを切る重量はカバンの重量も軽くしてくれる。加えて前述の通りACアダプタも無しだ。さらにカバンが軽くなる。

代替候補機について

もし買い替えるとすると、「E200HA」の後継機(というか同等機?)である「R209HA」でもよいのだけど、バッテリの持ち時間を多少妥協して「Dell Inspiron 11 3000」にするか、金をもう少し出して「Lenovo YOGA 710」にするかは盛大に悩むと思う。

以上、軽量サブノートor軽量モバイルノートの購入を検討されている方の参考になれば幸だ。

一定期間の日付で集計するSQLの例(例えば「現在値と過去25日間の平均値や標準偏差と比べた結果がほしい」のような場合)


仕事上で一定期間ごとの集計をするSQLを作る必要があったのでご紹介。お役に立てれば。

たとえば 日時(time)、と値(value)という2フィールドを持つテーブルがあったとする。これを当該日付の値と、当該日付から過去25日の平均値を同時に出したい場合(過去25日間の平均値と比べられる結果がほしい)、以下のようにすれば求められる。

SELECT
    A.time --日時
    A.value, -- 現在値
    AVG(B.value), -- 平均値
    STDDEV(B.value) -- 標準偏差値
FROM table_name A
INNER JOIN table_name B -- 同じテーブルをJOINする
ON
    --過去の日時のものを範囲を持たせてJOINの条件とする
    B.time BETWEEN (A.time - INTERVAL 25 DAY) AND A.time
;

まぁSQLを見てもらえればわかると思うけど簡単に解説すると、同じテーブルを結合していて、結合の際に結合条件であるtimeフィールドに幅を持たせて結合させている点がポイントだ。

これを使えば、わざわざスクリプトなどでループをまわしながら計算させなくとも、SQL一発で結果が得られる。

なお、このSQLはMySQL用なのでほかのDBMSでどうやるかは自分でしらべてくれろ。INTERVALのやり方だったりJOIN句の書き方だったりに違いがあるだけで基本的なアイディアは使えると思う。

月単位で集計、とか、年単位で集計、などはほかにいろいろ紹介しているページはあったものの、過去25日間の平均値(や標準偏差など)と現在値の比較を一発のSQLで実行する方法が探しても無かったので書いてみた。

PCでスマフォをUSB充電したら仕事をクビになった


まず俺の話ではなく全く関係ない人間の話なんだけど、注意喚起としてメールが回ってきた。
その話聞いてちょっと違うんじゃない?と思ったのでちょっと書いてみる。

そのクビになった技術者がいる現場では、どうやらPCにスマフォをつなげてはいけないというルールになっていたそうで、それを破ってPCのUSB端子でスマフォを充電しちゃってた。それがみつかってクビになったらしい。ルールを破ったのだからクビになっても仕方がない。それは正論。でもね、ちょっとまって。二つの観点からちょっと違うんじゃない?と思ったことがあるので順に書いてみるよ。

まず「セキュリティルール」という観点から。

セキュリティルールってのは「守る」ためにある。つまり、まっとうに働く人(社員やパートナー含め)を守り、企業の情報(=企業の資産)を守りるためにあるわけで、人間を罰するためのものじゃない。言い換えると、セキュリティルールってのは「ルールを守らせる」のが目的ではなく、被害を防ぐことが目的なわけだ。今回の件では、ルール違反は見つかったが、本来の目的は侵されていない。つまり、「被害は無かった」わけ。でも被害が発生する可能性のあるセキュリティルール上の違反が見つかった。しかも、過失はあるが、故意でルール違反を犯したわけでもない(「普段の癖でやっちゃった」らしい、それもちょっとアホすぎるけど)。それをいきなり当事者をクビにして「ハイ終わり」ってのはセキュリティ運用上どうなのかなと思った。

セキュリティルールってのは状況に応じてどんどん変更されるべきものだ。守るべき対象がどんどん変わっていくのでルールも変わっていく。さらにルール上の問題が見つかったらそれに合わせてルールを変えるか運用を変えていく。今回の件で言えば、ルール違反が発生して、それが重大な問題であると認識したのであれば、ルールを変更するか、運用を変えるべきじゃないのか?(=技術的な対策を打つ、なども含め)

ルール違反者を見つけ出し、それを切り捨てて、それでセキュリティが守られると思っているようならそれは大きな間違いだ。現状でルール違反者が発生する可能性があって、それが重大な損害の発生につながる可能性がある判断したのであれば(重大な問題が発生すると判断したからクビにしたんだよね)、次のルール違反者が出現する可能性も十分にあり、それが損害に発展する可能性も十分にある。それってまったくセキュリティリスクをケアできていないよね。

もうひとつは「雇用者(=管理者)」という観点。

損害が発生していない過失を見つけたからといってその過失者をクビにするのは雇用者としてどおなのかなとも思う。企業活動上でヒューマンエラーなんていたるところで起こっている。例えば、メンドくさくて手順通りにやらなかった、でも問題はなかった。これと今回の「PCでスマフォ充電しちゃった」問題と何が違うの?前者はお説教ですんで、後者はクビなわけ?

企業活動上、ヒューマンエラーが発見された場合には原因を明らかにして今後ヒューマンエラーが起こらないようになにかしらの「対策を打つ」というのが常識だ。そこには、ヒューマンエラーを起こした人間を罰する、というのは含まれない(別途で損害賠償という責任追及手段をとる場合はあるけど)。一般的な常識と今回の問題を照らし合わせれば、うっかり「PCのUSB端子でスマフォを充電」しちゃわないように対策を講じるか、うっかり「PCのUSB端子でスマフォを充電」しても問題ないようにするのが順当な考え方だ。逆に「PCのUSB端子でスマフォを充電」しちゃった人間をクビにするのはちょっと常識から外れている。

ってな感じで、「PCのUSB端子でスマフォを充電したらクビになっちった、テヘペロ」的なメールにとっても違和感だらけだったので書きなぐってみました。お粗末。

Javascriptで有効桁数○桁以下’切り捨て’のサンプルコードつくってみた


とあるシステム開発中に「有効桁数○桁にして、かつ有効桁数以下を四捨五入じゃなくて切り捨てにしたい」という要望をもらったのね。

ほんでPHP+AJAXでの開発だったので、JavaScriptで対応してまえ、とおもったのだけど、有効桁数以下四捨五入のtoPrecision()というメソッドあるけど有効桁数以下切り捨てというメソッドはない。

Google先生にいろいろお聞きしたのだけど、どうもよさげなアイディアがない、ってことで、つくりましたよ。

さぁどうぞ。

/*
 * 有効桁数以下切り捨て
 * number : 対象数値
 * digit : 有効桁数
*/
function toPrecitionFloor (number, digit) {
    //number=0だとループしちゃうからちゃんとキャッチしてあげてね
    var pow = 0;
    do {
        if ( String( Math.floor( number* Math.pow(10,pow) ) ).length < digit) {
            pow++;
        } else {
            break;
        }
    } while (true);
    return Math.floor( number * Math.pow(10,pow) ) / Math.pow(10,pow);
}

処理をざっくり言うと、小数点位置をずらしながら有効桁数の位置(=以下切り捨ての位置)を調査して、「小数点以下第n位以下を切り捨て」のアイディアに乗せてみた。

厳密に有効数字と違う値が帰ってこないじゃんコレ?馬鹿なの?っていう突っ込みはナシで。そこまでの厳格なものじゃないのであしからず。厳格にしたいならご自分でどうぞ。