BIGLOBEモバイルに電話認証が追加されていた件

※認証は通話料無料でできるように改善された模様

契約しているのビッグローブの管理画面にログインしようとしたらいつの間にか電話認証を求められるようになっていた。

マイページの「お客さま情報」にアクセスすると電話認証が求められます。なぜですか

なりすまし等による不正利用防止を目的としたセキュリティ強化のため、2020年6月4日以降、個人情報を扱うBIGLOBEの特定サイト(マイページー「お客さま情報」など)において、初回のログインやアクセス時に「電話認証」が必須となりました。

SMS発信とかメールアドレスでとか普通は認証で使われるのになぜ電話認証なのか謎。たかが管理画面にログインするのに電話認証は大げさすぎると思う。

音声通話SIMの電話番号から電話認証はできますか

BIGLOBEモバイルの音声通話SIMの電話番号は、登録電話番号に自動的に登録されません。

登録している電話番号の意味がよくわからなかったが契約しているビッグローブの電話番号からの発信では認証ができないということらしい。初見だとこれはわからないだろ。なんで認証できないんだろうって何度もかけ直すことになってしまった。私の場合は固定電話の番号を以前登録していたらしくてそれで認証が通った。認証に使われるって説明された覚えはないままに登録しているからそりゃわからんわ。

電話認証に通話料はかかりますか

認証用電話番号に電話をかける際の通話料は、お客さま負担となります。

勝手に電話認証を必須にしておいてその際の料金はこちら側負担って勘弁して。せめてフリーダイアルか認証要否を客側で判断かSMS発信での認証に変えるかなんかいろいろと方法はあると思うのだが。幸い電話認証しなくても料金の確認とかはなんとかなるので構わないがあまり印象がよくない。

ドコモを解約したらsimロック解除手続きできなくなった

simロックされたドコモの端末はmydocomoから手続きすることでロック解除することができるらしいが、ドコモ解約後は登録情報が即刻削除されてしまうためmydocomoからの手続きが行えなくなる模様

解約したあとにmydocomoの情報が消去されるというのはわかる。だが、ドコモショップで解約手続きしたそのすぐ後で消去されて使えなくなるというのはどうなのだろうか。当該月の料金を支払ってめでたく契約を解約というのだと思っていたが、いきなり消去されてしまったのでsimロック解除の手続きをしようにも一切mydocomoに情報が残っていないのでやりようがない。もちろん解約手続きした日以降の締日までの料金も日割り計算されることなく請求される。

mydocomoに一応のところログインはできる。電話番号とドコモメールが消去されて使えなくなってしまっていて実質できることはなにもない。契約の個人情報も全部消されて残っているのは直近数ヶ月の支払料金の推移とマイショップの店舗名ぐらい。simロック解除しようと思っていた端末の情報も当然のようにない。

試しにsimロック解除の手続きをやってみようとしたら、

という感じで進めない。2段階認証でセキュリティコードを受信する必要があるが、それを受信するメールアドレスと電話番号がないのでどうしようもない。ソフトバンクを解約したときは解約後もう少し猶予があったと思ったがドコモは厳しい印象。

残債有りの端末をsimロック解除するのはどうすればいいのだろうか。解約手続きしたらmydocomoからの申込みはできなくなるし、残債を精算してからじゃないとsimロック解除はできない。残債がある場合は解約手続きのときに残りを一括で払うことになる。残債有り端末はどうあってもウェブからのsimロック解除手続きは困難な予感。

まとめ

  • ドコモのsimロック端末をウェブで解除手続きするのは解約手続き前に行うこと。3000円支払えばドコモショップで解除することもできるとのこと

tensorflow 1.5 をインストールしようとしてみたが断念

最新のtensorflowのバージョンは現在のところ2.4がリリースされているが、バージョン1.6以降のtensorflowはAVX(Advanced Vector Extensions)をサポートしないCPUでは動かないということらしい。古いCPUを使っているマシンではだめということ。なのでtensorflow ver1.5が必要になったのでインストールをして環境構築をしようとしたが、無理だった。

試したこと

tensorflow 1.5 のソースをダウンロードする

https://github.com/tensorflow/tensorflow/releases/tag/v1.5.0

tensorflowをコンパイルするためにbazelをインストールする

tensorflowのソースをビルドするにはbazelというコンパイラが必要とのこと。
https://docs.bazel.build/versions/master/install-ubuntu.html

sudo apt install curl gnupg
curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg –dearmor > bazel.gpg
sudo mv bazel.gpg /etc/apt/trusted.gpg.d/
echo “deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8” | sudo tee /etc/apt/sources.list.d/bazel.list

CUDA9.0 と cuDNN 7.6.5 をインストール

bazelのコンパイルでcudaを使う設定にするときは対応しているCUDAとcuDNNをインストールする必要があるとのこと。

どうやらこのバージョンのCUDAとcuDNNが対応しているらしい。

コンパイルエラーだらけ

ERROR: /root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/grpc/BUILD:431:1: C++ compilation of rule ‘@grpc//:gpr_base’ failed (Exit 1).
external/grpc/src/core/lib/support/log_linux.cc:42:13: error: ambiguating new declaration of ‘long int gettid()’
42 | static long gettid(void) { return syscall(__NR_gettid); }
| ^~~~~~
In file included from /usr/include/unistd.h:1170,
from external/grpc/src/core/lib/support/log_linux.cc:40:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:34:16: note: old declaration ‘__pid_t gettid()’
34 | extern __pid_t gettid (void) __THROW;
| ^~~~~~
external/grpc/src/core/lib/support/log_linux.cc:42:13: warning: ‘long int gettid()’ defined but not used [-Wunused-function]
42 | static long gettid(void) { return syscall(__NR_gettid); }
| ^~~~~~
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use –verbose_failures to see the command lines of failed build steps.

Traceback (most recent call last):
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/execroot/org_tensorflow/bazel-out/host/bin/external/cython/cython_binary.runfiles/org_tensorflow/../cython/cython.py”, line 17, in
main(command_line = 1)
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/Main.py”, line 720, in main
result = compile(sources, options)
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/Main.py”, line 695, in compile
return compile_multiple(source, options)
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/Main.py”, line 666, in compile_multiple
context = options.create_context()
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/Main.py”, line 589, in create_context
return Context(self.include_path, self.compiler_directives,
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/Main.py”, line 75, in __init__
from . import Builtin, CythonScope
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/CythonScope.py”, line 5, in
from .UtilityCode import CythonUtilityCode
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/UtilityCode.py”, line 3, in
from .TreeFragment import parse_from_strings, StringParseContext
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/TreeFragment.py”, line 17, in
from .Visitor import VisitorTransform
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/Visitor.py”, line 15, in
from . import ExprNodes
File “/root/.cache/bazel/_bazel_root/8aaf01c14305585657a643e6741f796b/external/cython/Cython/Compiler/ExprNodes.py”, line 2875
await = None
^
SyntaxError: invalid syntax
Target //tensorflow/tools/pip_package:build_pip_package failed to build

SyntaxErrorの解決は私には無理すぎ。

tensorflowのコンパイルがエラーなく終わる気がしないので諦めた。

他に試してみたがだめだったこと

pip install tensorflow==1.5
リストにはfrom versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.2.1, 2.3.0rc0, 2.3.0rc1, 2.3.0rc2, 2.3.0, 2.3.1, 2.4.0rc0, 2.4.0rc1, 2.4.0rc2, 2.4.0rc3 とあり1.5がないため駄目
anacondaでインストールしてみる

/root/anaconda3/conda.exe: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.4′ not found (required by /root/anaconda3/conda.exe)

GLIBC_2.4が見つからないとか言われてanaconda自体をインストールできなかったので断念

tensorflow 1.5.1 のwhl形式のファイルがあったのでそれで試してみる
https://pypi.org/project/tensorflow/1.5.1/

ERROR: tensorflow-1.5.1-cp36-cp36m-manylinux1_x86_64.whl is not a supported wheel on this platform.

pipが対応していないから駄目

まとめ

tensorflowインストールして試してみるだけだったのにめちゃくちゃ大変だった。古いCPUだと対応していない機能があるので古いバージョンのtensorflowをインストールする必要がある→それにはbazelをインストールする必要がある→CUDAとCuDNNも古いバージョンをインストールする必要がある→なんかエラーが出るのでpythonのバージョンも下げてみる→またなんかエラーが出たのでさらに調べる→エンドレス

tensorflowの環境構築だけでこれほど苦労することになるとは。。バージョンを下げて環境構築というのはちょいハードルが高い作業なのかもしれない。

結局は

我らがraspberry pi大先生で環境構築することにした。

# pip install tensorflow

これ一発で環境構築完成

電子書籍のメリットとデメリット

電子書籍のメリットとデメリットについて

メリット

  • 書店に買いに行かなくてもインターネットを介して入手できる
  • 場所を取らない・本棚がいらない
  • ポイント購入に対応している場合がある

デメリット

  • 販売主がサービス終了すれば読めなくなる(またはその可能性がある)
  • 紙媒体と比べてそれほど安くない
  • 本棚に飾っておくということができない
  • 売れない
  • 人に気軽に貸すということができない
  • 端末の故障やバッテリー切れが発生すると読めなくなる
  • 目が疲れる
  • 販売する会社・サービスが多様でそれぞれに合わせたアプリが必要になる
  • 飛ばし読みなど一覧性に劣る
  • 端末が高い
  • 読み始めるまでに端末とアプリの手順・操作が必要でめんどくさい

まとめ

個人的には電子書籍否定派なのでデメリットばかり多く気がつく。電子書籍使ってみたらそれほど悪くはないが、やはり大事な本やじっくり読むような本は紙の本に限るなという印象。余ったポイントとかで適当に買うとかなら電子書籍もいいかもしれない。

H5pyDeprecationWarning: dataset.value has been deprecated. Use dataset[()] instead.

h5pyを使って値を出力しようとしたらこのエラーが出た。

H5pyDeprecationWarning: dataset.value has been deprecated. Use dataset[()] instead.

data[‘x’].value という書き方は推奨されなくなるのでこれからは data[‘x’][()] という風に書くようにと。まだvalueの方が意味的にわかりやすい気がするのだが。

Package libcudnn8 is not installed.

cudnnをインストールしようとしたらエラーが出た。

dpkg: dependency problems prevent configuration of libcudnn8-dev:
libcudnn8-dev depends on libcudnn8 (= 8.0.5.39-1+cuda11.1); however:
Package libcudnn8 is not installed.

dpkg: error processing package libcudnn8-dev (–install):
dependency problems – leaving unconfigured
Errors were encountered while processing:
libcudnn8-dev

libcudnn8がないということらしいのだがそれを今インストールしているんじゃなかったのか?
インストールするものは2つあるらしい。ランタイムと開発関係のツール。libcudnn8はランタイムのことで、libcudnn8-devは開発ツールのこと。(合ってるかどうかは自信なし)
cudnnのダウンロードページに

cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb)

cuDNN Developer Library for Ubuntu20.04 x86_64 (Deb)

というダウンロードリンクがあるので、まずはランタイムからダウンロード・インストールして、次に開発ツールの方をインストールすればいい。はじめてだとわからんよね。

ANAREA Battle Royale というバトロワゲーが事実上開発中止になっている件

ANAREA Battle Royaleとは?

ANAREA Battle Royale https://store.steampowered.com/app/1103950/ANAREA_Battle_Royale/

H1Z1ライクのバトロワゲー。武器のテイストやキャラクターのモーションなどは大ヒットしたバトロワゲーのH1Z1をパクったというかオマージュしていて再構築したH1Z1といった雰囲気のゲーム。

1ゲーム60人が参加して殺し合い最後の一人にまで生き残れば勝者となる。時間経過とともにセーフエリアが狭まるためプレイヤーはその都度場所移動を余儀なくされる。武器はアサルトライフルやショットガン、ハンドガンなどほぼH1Z1と同じ武器種が用意されている。

リリースから今後のロードマップ

2020年8月初めに度重なる発売延期からようやくリリースされた。リリース当初はアルファ版ということもあってソロモードのみの実装となっていた。今後のロードマップとしては、

  • ゲーム内でスキンアイテムなどの購入システムの追加
  • デュオ、スクワッドなどのゲームモードの追加
  • 武器やキャラクターのカスタマイズ
  • アンチチートシステムの実装
  • 新武器の実装

などが予定されている。乗り物やシーズンパスといったバトロワでよくあるシステムも実装予定に加わるのではないかとも思われる。

現状

9月のツイートを最後に運営からの情報発信は途絶えた。

ロードマップには10月中にはデュオ&スクワッドのゲームモードなどが実装されることになっているのだけれど、この記事を書いている11月現在では全て未実装。というかこのゲームをやっている人が現在いない。

いくつか致命的な問題があり、

  • リリース時のゲームとしてのクオリティが低すぎた
  • サーバーが不安定でなかなかマッチングしない。マッチングしてゲームが始まったとしても途中でフリーズしたりしてまともにゲーム続行できない。
  • ↑の理由で人が減ってさらにマッチングしない。
  • 超絶過疎っているのにチーターがいる

レビューによると

  • Dead Game
  • no one in game
  • anarea is a scam
  • ゴミゲーム

まとめ

運営からの情報が一切発信されないので現状は死んだゲームと評せざるを得ない。(購入はできるみたいだが)
規模の小さいゲーム会社が作ったゲームだとこういうような突然に運営がパタッと更新しなくなるというようなことがあるのが怖いところ。めったにないことかというと、個人的な経験では他のゲーム会社のゲームでもそういえば似たようなことはあったのでわりとよくあることなのかもしれない。インディーズのような規模のゲームだと特に。艦これのパクリオマージュの某ゲームも突然twitterの更新が停止して似たような状況になっていて、Twitterの突然の更新停止がゲーム終了のサインになっているのは業界の暗黙の了解なのだろうか。
今は世界的にコロナが流行しているためなんらかの開発中止せざるを得ない理由があるのかもしれないが、何かしら一言は欲しいところ。とりあえず言えることはこのゲームとゲーム会社には今後良くなることは期待できない。

クラウドなのにデータ全消失

サービス提供側のミスで「サーバデータが完全に消失」 利用者にできることは

AWSとかAzureとかどこのクラウドサービスも似たようなシステムだろうけれども期限切れたらデータ全消失っていうのは、まあ、そういうものだろうなとは思う。最近のレンタルサーバとかクラウドはオブジェクトとかインスタンスとかを立ててすぐ始められて、やめるときはその立てたサーバインスタンスを削除するだけですぐサーバリセットできるという非常にカジュアルな使い勝手になってる。私自身サーバをレンタルで借りてるが、もし支払い期限を過ぎて未払いになってしまったら容赦なくサーバインスタンスは削除されてしまうと思われる。サーバインスタンスが生き続けている限りサーバ会社はリソースを消費するということになるから。システムとデータのバックアップを取っていなくてすべて消失して復旧は不可能、というのは不可解でちょっと信じがたい。期限切れでサーバが解約されてデータ消失は普通のこと。レアケースだけれどなくはないこと。でもバックアップしていなかったのはありえない。

ふくい産業支援センターは「システムと登録データは、バックアップを含め完全に消失し、復旧には相当の期間が必要で再稼働の時期は現時点では未定だ」とコメントしました。

バックアップになっていない(´Д`;)

調べてみるとAWSの場合は未払いだとアカウントロックという処置が取られて、支払いをすませばまた復旧して使えるようになるとのこと。リソース(作成したインスタンスとかのことだろうか?)も元通り使えるようになるらしい。まあ、このAWSの仕組みは便利だなと思うけれどどこも同じではないので料金未払い発生したらサーバインスタンスは削除されるものと認識しておくのが危機管理的には丁度いいんじゃないだろうか。

日本が突然バドミントン強豪国になったのはラリーポイント制のせい

バドミントンのラリーポイント制の導入

2006年に競技規則が改正されラリーポイント制が正式に導入された。
http://bmuseum.g1.xrea.com/SHORUI/a1.files/RuleHistory.pdf (PDF注意)

15点3ゲーム(女子は11点3ゲーム)のサービスポイント制から21点3ゲームのラリーポイント制へ。

サービスポイント制の特徴

  • サービス権を持ったプレーヤーがラリーを制したときだけポイントが入る
  • 実力者同士の試合になると長時間体力勝負になる
  • 実力差があると番狂わせはほぼ発生しない

ラリーポイント制の特徴

  • サービス権を持ったプレーヤーに関わらずラリーを制した側のプレーヤーにポイントが入る
  • 試合時間短縮
  • 点の動きが激しくなり勝敗に不確定要素が多くなる

サービスポイント制での国際大会での成績

バドミントンの主な国際大会はオリンピックとトマス杯&ユーバー杯など。オリンピックは1992年から正式種目として採用された。

1992年オリンピック

男子シングルス
・町田文彦 2回戦敗退
・本山秀昭 2回戦敗退

男子ダブルス
・松野修二,松浦進二 準々決勝敗退(ベスト8)
・町田文彦,宮康ニ 1回戦敗退

女子シングルス
・水井妃佐子 3回戦敗退
・鴻原春美 2回戦敗退

女子ダブルス
・水井妃佐子,鴻原春美 2回戦敗退
・陣内貴美子,森久子 2回戦敗退

1996年オリンピック

男子シングルス
・町田文彦 3回戦敗退

女子シングルス
・水井妃佐子 3回戦敗退
・水井泰子 3回戦敗退

女子ダブルス
・松尾知美,阪本雅子 2回戦敗退
・宮村愛子,宮村亜貴子 1回戦敗退

2000年オリンピック

男子シングルス
・山田英孝 2回戦敗退
・舛田圭太 2回戦敗退

女子シングルス
・水井泰子 準々決勝敗退(ベスト8)
・米倉加奈子 3回戦敗退

女子ダブルス
・井川里美,永峰弘子 1回戦敗退
・岩田良子,松田治子 2回戦敗退

2004年オリンピック

男子シングルス
・佐藤翔治 1回戦敗退
・山田英孝 1回戦敗退

男子ダブルス
・舛田圭太,大束忠司 2回戦敗退

女子シングルス
・田中美保 1回戦敗退
・森かおり 2回戦敗退

女子ダブルス
・吉冨桂子,中山智香子 2回戦敗退

1948年~2004年トマス杯

・3位 2回

1956年~2004年ユーバー杯

・優勝 5回
・準優勝 1回
・3位 2回

ラリーポイント制以降の国際大会での成績

2008年オリンピック

男子シングルス
・佐藤翔治 3回戦敗退

男子ダブルス
・舛田圭太,大束忠司 準々決勝敗退(ベスト8)
・坂本修一,池田信太郎 1回戦敗退

女子シングルス
・廣瀬栄理子 3回戦敗退

女子ダブルス
・前田美順,末綱聡子 準決勝敗退(ベスト4)
・小椋久美子,潮田玲子 準々決勝敗退(ベスト8)

2012年オリンピック

男子シングルス
・佐々木翔 準々決勝敗退(ベスト8)
・田児賢一 グループステージ敗退

男子ダブルス
・佐藤翔治,川前 直樹 グループステージ敗退

女子シングルス
・佐藤冴香 本戦1回戦敗退(ベスト16)

女子ダブルス
・藤井瑞希,垣岩令佳 決勝敗退(準優勝)
・前田美順,末綱聡子 グループステージ敗退

2016年オリンピック

男子シングルス
・佐々木翔 グループステージ敗退

男子ダブルス
・早川賢一,遠藤大由 本戦1回戦敗退(ベスト16)

女子シングルス
・奥原希望 準決勝敗退・3位決定戦勝利(3位)
・山口茜 準々決勝敗退 (ベスト8)

女子ダブルス
・松友美佐紀,髙橋礼華 優勝

2006年~2018年トマス杯

・優勝 1回
・準優勝 1回
・3位 2回

2006年~2018年ユーバー杯

・優勝 1回
・準優勝 1回
・3位 3回

まとめ

ルール変更前のサービスポイント制のときの日本はバドミントン弱小国。ラリーポイント制へと変わってからバドミントン強豪国へと転じていった。