ほとラボ

It works!

機械学習用の GPU マシンを組んだ

4ヶ月前にこんな Qiita を書いた。

qiita.com

しかし自宅に GPU マシンを組んだとしても四六時中計算し続けるわけでもないからもったいないし、ここはクラウドサービスを活用して安く済ませたい。

とは言ったものの普通に学習回すと月1,2万は飛んでいくし、これもう普通に GPU マシン組んだほうが良いのでは、となったのでやっていくことにした。

結論からいうとベアボーンキットを買ってメモリと SSD を挿しただけなので「組んだ」というのはちょっと微妙なんだけども、自作 PC とか全然慣れてないなりにあれこれ悩んだログとして書いておく。

GPU はどれがいいか

Tesla V100 欲しい!

GPU がメインなのでまずは GPU から選ぶ。

候補としてはこのへん。

GPU 種類 価格帯 CUDA コア数 メモリ メモリバス SLI
GTX 1080 Ti 10 万くらい 3584 GDDR5X 11GB 352bit
GTX 1080 8 万くらい 2560 GDDR5X 8GB 256bit
GTX 1070 5 万くらい 1920 GDDR5 8GB 256bit
GTX 1060 4 万くらい 1280 GDDR5 6GB 192bit

GTX 1080 Ti は高いけど手が届かない価格帯ではない。

でも機械学習する場合は計算リソースよりもメモリのほうがすぐキツキツになるので、1080 Ti 買うよりは 1070 を二枚挿して SLI 構成1にしたほうがメモリを増やせて良い。 だたし二枚挿すと消費電力がかなりいくので、あらかじめ容量大きめの電源を買っておく必要がある・・・。

そういう意味だと 1060 は SLI 対応していないので選択肢からは外れる。

まぁ 1070 が無難っぽい。 一枚買っておいて足りなければもう一枚追加すればいい。

マザーボードとかケースとか

休日に秋葉原行ってマザボとかケースとかを見て回った。

え、デカくない?

自作 PC 勢ってみんなあんな巨大なやつ自宅に置いてるの? 正気???

MicroATX サイズのケースでもだいぶデカい。
できれば MiniITX サイズで組みたいけど、それだと GPU 二枚積むのは無理ぽい。

もはや GPU 二枚積めなくていいから Intel NUC くらいコンパクトなやつねーかなー、と無茶なことを考えながらググってたら、ZBOX EN1070K という GPU 積んでるコンパクトなやつを発見した。

GTX 1070 + Core i5 積んでるし、もうこれでええやんけ。

「拡張性ゼロ」という強烈なデメリットがある けど、「コンパクトなやつが欲しい」という欲求の方が勝ったのでこれを購入した。

米 Amazon.com から輸入

日本で買うと ZBOX 単体で18万円くらいで、さらにベアボーンキットなので SSD とメモリを買う必要があって、そうするとどうあがいても20万円は超える。

Amazon.com 見たら $1,100 くらいで売ってたのでこっちから購入。

SSD とメモリも一緒に買って、送料と関税込みでトータル 18万円くらいで済んだ。

ただしアメリカ版を買うと電源プラグがアメリカ仕様 (3ピン) なので注意。2

SSD とメモリ

ZBOX EN1070K は m.2 と SATA の SSD をそれぞれひとつずつ挿せる。

今回はとりあえず m.2 買って OS 入れておいてデータ保存場所が足りなくなったら SATA のやつ買って追加すればいいか、と考えてとりあえず m.2 SSD 250 GB だけ買った。

メモリスロットは DDR4 2400/2133 S.O.DIMM x 2 で、最大 32 GB とのこと。

とりあえず MAX 積んでおくか、という雑な感じで 16GB x 2 を買った。

届いた

ちゃんと届くか不安だったけど、二週間くらいで普通に届いた。

f:id:hoto17296:20171012211941j:plain

テンション上がる。

組み立てる

以下の記事がすげー詳細に書いてあって参考になった。

手の平にハイエンドPCを! 「MAGNUS EN1070 / EN1060」を比較レビュー : 自作とゲームと趣味の日々

最初メモリの取り付け方をミスって起動できなくて焦った。

ちゃんと斜め45度から挿してから倒す、ってやらないとダメなんだな・・・。

Ubuntu 16.04 を入れる

「BIOS はもう古い、時代は UEFI !!!」

みたいなのを耳にしてたので「ちゃんとインストールできるだろうか...」と震えていたけど、普通に minimal の ISO を USB に焼いて挿したらインストールできた。

ちなみにデスクトップ版も試したけど、むしろこっちのほうが面倒だった。 NVIDIA の GPU が載ってると GUI が起動できないので、カーネルオプションで nomodeset を指定する必要がある。

qiita.com

機械学習するのに GUI は要らないので、何も考えずに minimal をインストールするのがいい。

Wake on LAN の設定をする

機械学習用マシンは常時使っているわけではないので、使ってないときは電源落としておきたい。

自宅に要るときは電源ボタンを押せばいいけど、外出中にリモートで自宅のマシンを起動したいという場合には Wake on LAN を使うとできる。

ZBOX は Wake on LAN に対応していて、UEFI の設定画面から Wake on LAN の設定を切り替えるだけで有効にできた。

あとは電源が落ちている ZBOX に対して Wake on LAN パケットを投げつけると起動してくれるのだけど、VPN 経由でリモートからパケットを投げるときにちょっと苦労した。

qiita.com

学習環境を作る

あとは冒頭の Qiita に書いたのとほとんど同じ。

qiita.com

P2 インスタンスを使っていたときは Tesla K80 だったのでドライバは nvidia-375 を入れたけど、今回は GTX 1070 なので nvidia-367 を入れる、という点だけ違う。

Mackerel で GPU 温度を監視する

コンパクトさが欲しくて ZBOX にしたとはいえ、排熱効率が悪くて GPU 温度が上がりまくったらどうしよう...という不安はある。

なので、とりあえず Mackerel で監視することにした。

mackerel.io

GPU の温度を Mackerel に飛ばすのどうやってやるんだろう、と思ったら公式のプラグインに NVIDIA GPU を監視するやつがあったので楽勝だった。

mackerel-agent-plugins/mackerel-plugin-nvidia-smi · GitHub

あとは、Mackerel の監視設定で GPU 温度が一定以上になったら自宅の Slack に通知が飛ぶようにする。

雑にググったところ 80℃ くらいまでは問題ないっぽいことがわかったので

  • 80℃ で Warning
  • 100℃ で Critical

に設定してみた。

これで一安心。

ベンチマーク

Qiita の記事と同じく、NVIDIA Docker のコンテナ上で Keras の MNIST CNN のサンプルを実行した。

root@(container):/# python3 mnist_cnn.py
Using TensorFlow backend.
Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz
11255808/11490434 [============================>.] - ETA: 0sx_train shape: (60000, 28, 28, 1)
60000 train samples
10000 test samples
Train on 60000 samples, validate on 10000 samples
Epoch 1/12
2017-10-09 09:23:35.248521: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-09 09:23:35.248540: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-09 09:23:35.248546: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-10-09 09:23:35.248565: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-09 09:23:35.248570: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
2017-10-09 09:23:35.405920: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:893] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2017-10-09 09:23:35.406452: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 0 with properties:
name: GeForce GTX 1070
major: 6 minor: 1 memoryClockRate (GHz) 1.645
pciBusID 0000:01:00.0
Total memory: 7.92GiB
Free memory: 7.83GiB
2017-10-09 09:23:35.406466: I tensorflow/core/common_runtime/gpu/gpu_device.cc:976] DMA: 0
2017-10-09 09:23:35.406471: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 0:   Y
2017-10-09 09:23:35.406477: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1070, pci bus id: 0000:01:00.0)
60000/60000 [==============================] - 7s - loss: 0.3325 - acc: 0.9000 - val_loss: 0.0779 - val_acc: 0.9755
Epoch 2/12
60000/60000 [==============================] - 5s - loss: 0.1147 - acc: 0.9661 - val_loss: 0.0542 - val_acc: 0.9830
Epoch 3/12
60000/60000 [==============================] - 5s - loss: 0.0872 - acc: 0.9741 - val_loss: 0.0433 - val_acc: 0.9858
Epoch 4/12
60000/60000 [==============================] - 5s - loss: 0.0742 - acc: 0.9778 - val_loss: 0.0383 - val_acc: 0.9870
Epoch 5/12
60000/60000 [==============================] - 5s - loss: 0.0628 - acc: 0.9814 - val_loss: 0.0361 - val_acc: 0.9878
Epoch 6/12
60000/60000 [==============================] - 5s - loss: 0.0585 - acc: 0.9828 - val_loss: 0.0352 - val_acc: 0.9882
Epoch 7/12
60000/60000 [==============================] - 5s - loss: 0.0517 - acc: 0.9847 - val_loss: 0.0355 - val_acc: 0.9883
Epoch 8/12
60000/60000 [==============================] - 5s - loss: 0.0480 - acc: 0.9855 - val_loss: 0.0312 - val_acc: 0.9892
Epoch 9/12
60000/60000 [==============================] - 5s - loss: 0.0432 - acc: 0.9871 - val_loss: 0.0314 - val_acc: 0.9901
Epoch 10/12
60000/60000 [==============================] - 5s - loss: 0.0423 - acc: 0.9872 - val_loss: 0.0323 - val_acc: 0.9893
Epoch 11/12
60000/60000 [==============================] - 5s - loss: 0.0390 - acc: 0.9880 - val_loss: 0.0284 - val_acc: 0.9905
Epoch 12/12
60000/60000 [==============================] - 5s - loss: 0.0398 - acc: 0.9883 - val_loss: 0.0294 - val_acc: 0.9900
Test loss: 0.0294402698388
Test accuracy: 0.99

あれっ AWS P2 インスタンスより速くない???

P2 インスタンスだと 1 epoch あたり 9 秒だったのが 5 秒で終わる。

Tesla K80 のほうが良い GPU なのになぜ・・・?
クラウドサーバだと GPU との I/O が遅かったりするんだろうか。

謎だけどまぁ速くなったのでよし。

f:id:hoto17296:20171014132309p:plain

ベンチマーク回してたときの GPU 温度はこんな感じ。
最大 67℃ だったのでこの程度なら楽勝。

あとは長時間回したときにどこまで上がるかなーというところが気になるけど、未検証。

まとめ

  • 機械学習するために自宅に GPU マシンを買った
  • ベアボーンキットだと拡張性を失う代わりにコンパクトさを手に入れられる
  • GTX 1070 でもなぜか AWS P2 インスタンスの Tesla K80 より学習が速い

自宅に機械学習環境を作りたい人にとって割とアリな選択肢だと思うので、パーツ選びを始める前にこっちも検討してみてはいかが。


  1. 複数枚の GPU を繋げられるやつ。SLI ブリッジと SLI 対応のマザーボードを使う必要がある。

  2. 我が家は電源タップが3ピン対応だったので特に問題はなかった。愛三電機の電源タップは良いぞ。

BeatsX を半年使った感想

もともと Beats というブランドはあまり好きではなかったんだけども、正直 BeatsX は買って良かった。

Beats by Dr.Dre BeatsX Bluetoothイヤホン ブラック MLYE2PA/A 【国内正規品】

Beats by Dr.Dre BeatsX Bluetoothイヤホン ブラック MLYE2PA/A 【国内正規品】

BeatsX 超ざっくり概要

  • Beats は、デザイン重視な高価格帯ヘッドホンなどを展開しているオーディオ機器ブランド
  • 2014年、Apple が Beats を買収
  • 2016年9月、Apple が完全ワイヤレスイヤホン AirPods (通称"うどん") を発表
    • 同時にワイヤレスオーディオ用チップ W1 が搭載されていることを発表
  • 2017年2月、Beats から Apple W1 チップを搭載したワイヤレスイヤホン BeatsX が発売
    • W1 チップ以外にも今までのイヤホンに無い真新しい要素が多かった (後述)

完全ワイヤレスじゃない方がいいこともある

同時期に発売されたうどんも検討したけどやめた。

APPLE AirPods  MMEF2J/A

APPLE AirPods MMEF2J/A

「充電の持ちが悪い」とか「音が途切れる」とかはそれほど問題ではなくて、サッと外して首にかけておくことが出来ないのが不便。

イヤホンは仕事中によく使うので、話しかけられる度に外して机に置くなり仕舞うなりするのが面倒そうで、完全ワイヤレスは躊躇してしまった。

巷では「これからは完全ワイヤレス」みたいに持て囃されているけども、ヒモがあるからこそのメリットもある。

ところで「完全ワイヤレス (英語圏だと True Wireless)」という呼称、本当にダサいと思うので誰かもっとマシなやつ考えてくれないかな。

ハウジング同士が磁石でくっつくの便利

普通のイヤホンは首にかけて歩くとブラブラ揺れて鬱陶しいけど、BeatsX はハウジング同士が磁石でくっつくので驚くほど揺れない。

揺れないだけでこんなに快適だとは思わなかった。

なんで今までこういう製品なかったのか。

Lightning ケーブルの恩恵はデカい

充電めちゃ早い。 本当に5分の充電で1時間以上保つので、残り少なくてもサッと充電して持ち出せる。

あと、イヤホンのためだけに MicroUSB ケーブルを持ち歩く必要がなくなったのも地味に嬉しい。 スマホが Android の人だとケーブルが増えるのでそういう意味ではデメリットになってしまけども。

音質はまぁ良いのでは (?)

そんなに耳が良くないので音質が良いか悪いかは知らん。

少なくとも BeatsX を買う前に使っていた Backbeat Go 2 よりは間違いなく良い。 価格帯が全然違うので比べるのもおかしいのだけど。

ちなみに Backbeat Go 2 は 5000 円以下のワイヤレスイヤホンの中では最強のコスパを誇るので、これはこれで良いイヤホン。

その他メリデメ

  • [○] iPhone とのペアリングが簡単
    • 確かに一瞬でペアリングできた
    • 最初の1回だけのことだしそんなに恩恵受けてない
    • Mac との切り替えも楽らしいけどやったことない
  • [△] 専用ケースへ収納するのに慣れが必要
    • 箱に書いてある収納方法でいいんだけども、これが最初は難しい
    • 慣れるとむしろ他のイヤホンケースよりも便利
  • [×] 電源ボタンが固い
    • ちゃんと押せてるのかどうかわかりづらい
    • 電源オンオフが「長押し」なので、3秒押してから「あれ、押せてなかった???」ってなるのストレス

まとめ

「イヤホンって音質以外にもこんなに改善できる余地があったんだなぁ」 というのが一番の感想。

少なくとも iPhone 使ってる人にはかなりオススメできる。

「良いイヤホンには1万円以上出してもいいぞ」という人は是非どうぞ。

Beats by Dr.Dre BeatsX Bluetoothイヤホン ブラック MLYE2PA/A 【国内正規品】

Beats by Dr.Dre BeatsX Bluetoothイヤホン ブラック MLYE2PA/A 【国内正規品】

クラウドソーシングでアイコンを描いてもらった

もう一ヶ月も前のことだけど、クラウドソーシングでアイコンを描いてもらって各種 SNS のアイコンを変えた。

f:id:hoto17296:20170815032629p:plain

アイコンを変えたいと思った理由はふたつあって、

ひとつは Twitter が丸アイコンになったこと。
もともと「アイコンは四角いもの」という想定で作ったアイコンだったのに、 何故か去年くらいから丸アイコンが流行りはじめ、とうとう Twitter まで丸アイコンになってしまった。 四角に最適化されたアイコンが丸くクロップされた様子ほどダサいものはない。つらい。

もうひとつは版権的にグレーだったこと。 前のアイコンは某アニメの公式が「SNS アイコンとして使っていいよ」と配布していたもの1 (を改変したもの) で、 SNS アイコンとして使うならまだしも、イベントでトークするときとかにそのアイコンで自己紹介するのはなんとなく気が引ける思いがあった。

なんでクラウドソーシングにしたか

SNS アイコンって自分は割とこだわりがあって、 自分自身を表現するものとして自分がしっくりくるものしか使いたくないという気持ちがある。

依頼したら描いてくれそうな知人とかも思い当たらないことはなかったけど、 もしイメージと違う感じだった場合に何度も修正してもらうのも気が引けるし、 「イメージと違うから使わんとくわ」というのも申し訳ない。

どんな凄腕クリエイターの人でも自分の納得いくイラストを描いてくれるとは限らないし、 誰か特定の人に依頼するよりも色々な人に提案してもらえるコンペ形式が良いなと思ってクラウドソーシングを使うことにした。

自分で作れないものを依頼するのは難しい

そんなわけでクラウドワークスで 3 万円のコンペを出した。

金額設定は割とテキトーだったんだけど、 長期的に自分のアイデンティティとして使える良いアイコンを描いてもらえるなら 3 万円くらい出せるでしょ、という気持ちで決めた。2

依頼内容はだいぶ考えて書いた。

だって、自分で描けないからこそ依頼しているわけで、 自分でもイメージしきれていないものを文章で表現して依頼するというのは本当に難しい。

だからこそ「どういう用途で使いたい」とか「どういう雰囲気が好き/好きではないか」とかは誤解のないようによく考えて丁寧に書いたし、「こういう雰囲気は好き」「こういうのは違う」という参考例をいくつも挙げたりもした。

それが実際に功を奏したのかどうかはよくわからん。

結果

一週間で 50 件の提案をいただけた。

いや、50 件って。

コンペ募集したのはこれが初めてではないので予想はしていたけど、やっぱ実際にこれだけ集まると驚く。 クラウドソーシングすごいしインターネットはヤバい。

選定に悩むかと思っていたけど「え、いやもうコレでしょ」というレベルの提案がひとつだけあったので、全く悩むことはなかった。

crowdworks.jp

ちなみに描いていただいたのはこの方です。ありがとうございました 🙇

まとめ

結果的に良いアイコンに変えることができたのでよかったよかった。

個人でクラウドソーシング発注する人ってまだあまり見たこと無いけど、もっと活用していくと面白いんじゃないかと思う。


  1. 前のアイコン、あれ実はカエルじゃなくてタヌキだよ

  2. 最悪、良い案が出なかったとしても「俺は Nintendo Switch を盗まれて買い直して3万失ったんだ…」と自分に言い聞かせよう、くらいの覚悟はあった。

AWS の認定資格 (SAA) を取得した

AWS の認定資格を取ったら会社が受験料出してくれると言うので、ソリューションアーキテクト - アソシエイト (SAA) を受験して、合格した。

問題内容については書いちゃダメらしいので、それ以外のことについて書く。

AWS 認定資格 とは

取得すると「ワタシ AWS チョットデキル」と名乗れる AWS 公式の資格。

2017年7月時点だと

  • ソリューションアーキテクト
  • 開発者
  • SysOps アドミニストレーター

の三種類があり、それぞれについて

  • アソシエイト
  • プロフェッショナル

の二段階のレベルがあるので、全部で 6 つある。

AWS 認定 – 認定の種類

種類の違いはよくわからなかったので、とりあえず「ソリューションアーキテクト」の簡単な方 (アソシエイト) を受験することにした。

申し込み

アソシエイトレベルの受験料は 16,000 円くらいする。 そんなに安くはないし、合格できなかったらヘコむ金額。

申込みは AWS 認定のサイト から行う。 日本での認定試験は Kryterion という会社が行っているらしく、申込みを進めると Kryterion 社のサイトに飛ばされるのだが、このサイトがまぁわかりづらい。

f:id:hoto17296:20170711190525p:plain

「試験のお申込み」リンクが右上にあることに気づくまでかなり探し回った。 絶対にクリックされるリンクなのにこんなわかりづらいとこに配置するとかなんの嫌がらせだ。

試験会場は全国にあり、さらに東京は会場が多いのでかなり選べる。 テストセンターみたいなところで受験するので、都合のいい日時に予約すればよい。 いつでも好きなタイミングで受験できるのは便利。

勉強方法

もし勉強方法が知りたくてこのエントリを読んでいる人がいたら申し訳ない。 後述する模擬試験を1回受けただけで、ほとんど勉強していない。 「AWS に慣れてる人なら勉強しなくても受かる」みたいな話を耳にして高をくくっていた。

ちなみに、良い参考書は無いらしい。 出題対象 (AWS のサービス群) は更新が激しいので、参考書があったとしても情報が古くなっていて使いものにならないとのこと。

公式ドキュメントを読んだり公式のトレーニングをやるのが良いと思う。

模擬試験

模擬試験は一回やった。

  • 本試験と同じところから申し込める
  • オンラインで受けられる
  • 一回につき 2000 円くらいかかる
  • 本試験の3分の1くらいのボリュームの問題が出題される
  • 結果は総合得点と問題カテゴリごとの得点が表示されるのみ
    • どの問題が正解だったか等は知ることはできない

自分の苦手カテゴリを知るとか、試験の雰囲気を感じるためだけの模擬試験だと思ったほうが良さそう。

本試験

80分はそれなりに疲れたけど、プロフェッショナルレベルは180分らしいのでそれに比べたら全然大したことはない。

終わったあとにアンケートみたいなのにポチポチ答えていたら突然結果の画面が表示されてビビった。 風情がない。 せめて「次のページで結果発表です!」くらい溜めてくれてもええんやで・・・。

得点率は 70% で、合格ラインが 65% くらいと言われているので全然余裕ではなかった。

まとめ

AWS 認定資格のアソシエイトレベルは、AWS で本番サービスの構築・運用をやったことがある人であればそんなに難しくない。

取得してドヤっていきましょう。

YAPC::Fukuoka に参加した

YAPC::Fukuoka に行ってついでに福岡観光してきた。

yapcjapan.org

九州初上陸

どうやら福岡が暑いわけじゃなくたまたま全国的に猛暑だっただけらしいが、とにかくアホほど暑かった。 死ぬかと思った。

※ 福岡空港駅 → 東比恵駅 → 博多駅

「福岡は空港から博多まで一駅だから便利」 って僕に吹き込んだ人誰ですか!!

怒らないから名乗り出てください!!!!! (怒)

ギリギリ朝10時に間に合う飛行機で行ったので、これをやらかして普通に遅刻した。

本編

面白いトークはいくつもあったけど、個人的に一番学びがあったのは id:udzura さんのコンテナの話だった。

speakerdeck.com

最近 Docker をいたるところで使っていて便利だなーーーと思いつつもコンテナという技術の仕組みをそれほど理解していなかったので、Perl でコンテナを実装しながら理解するという内容はとてもタメになった。

自分でもコンテナを実装してみたくなったので、懇親会で id:udzura さんをつかまえてあれこれ質問しまくってしまった。 id:udzura さんありがとうございました 🙇

観光

いろいろ食べたけど、特にこの「元祖博多めんたい重」はめちゃくちゃ美味しかった。

この ごはん+明太子 オンリーで約 1,800 円と決して安くはないんだけども、次に福岡来たらまた食べてしまう気がする。

博多から1時間くらいで行ける相島というところに行った。

「猫の島」と聞いていたが、それほどうじゃうじゃいるわけではなかった。 それなりにたくさんはいる。

猫も暑さでひからびていた。

島の猫は人間に慣れていてすぐ寄ってくるので にゃーん したい人にはオススメ。

まとめ

YAPC::Kansai に引き続き YAPC::Fukuoka もおもしろかった。

id:papix ならびにスタッフの皆さんおつかれさまでした!!

YAPC::Okinawa も行くぞ!!!

クレカが止められたときの知見

普段は見知らぬ番号から電話がかかってきたらすぐにその番号でググって怪しそうだったら出ないんだけど、さっきかかってきた番号でググったら「JCB セキュリティデスク」だったのでマッハで出た。

「ご利用内容の確認をさせていただきたいのですが…」

嫌な予感しかしないというか、もうこの時点でアウトでしょ・・・。

「本日14時に ○○ で XXX 円を利用しましたか」

アウトーーーーーー \(^o^)/

聞いたこともない女性向け EC サイトでの利用履歴があったらしい。

即クレカ停止、再発行手続き。

クレカが止まるとどうなるか

  • 連携している電子マネーも死ぬ
    • もちろん Apple Pay も死ぬ
  • クレカで予約した飛行機や新幹線のチケットが受け取れなくなる
    • たぶん何らかの回避策はあると思うけども
  • 家族カードは生きてる
  • 約一週間で新しい番号のカードが届くらしい
  • 各種サービスのクレカ番号再登録祭りがはじまる
    • インフラ系 (電気 / 水道 / ガス 等) はカード会社から変更連絡入れてくれるらしい (?)

今週末の YAPC::Fukuoka に行く飛行機は別のカードで予約していた。

あっぶねぇーーー

クレカ利用サービス一覧を作っておくと便利

あらゆるサービスに登録していたメインカードだったので再登録祭りがつらいんだけども、 こんなこともあろうかと (?) クレカを利用しているサービス一覧を作っておいたのでまだ救いがある。

f:id:hoto17296:20170628173040p:plain

サービスによってはカード番号変更のページがわかりにくいことがあるので、各サービスのカード番号変更ページの URL をまとめておくと番号変更祭りがだいぶ楽になる。

たとえ不正利用されなくても、クレカの更新時にも番号は変わるのでこういうリストは作っておくと便利。

クレカの異常検知の仕組みすごい

不正利用わずか数時間で電話かかってくるとか早すぎでしょ。

どうやってるんだろう、機械学習かな。

感想

まぁこういうのは回避できるもんじゃないししょうがない・・・

しかしどこから漏れたんだろうなーーー(´・_・`)

技術書典2 に行った

技術書典2に一般参加して同人誌を買い漁ってきた。

技術書典 とは

技術系サークル TechBooster が主催する技術書オンリーイベントで、主に技術系同人誌が販売されている。 昨年にはじめて開催されて、今回で2回目になる。 今月末には ニコニコ超会議2017 にて 超技術書典 をやるらしい。

techbookfest.org

イベントそのものについて

開場時間(11:00)の30分前に会場に着いたら既に100人以上並んでいた。 開場する頃には長い長い行列ができていてもはや何人いるのかよくわからなかった。

昨年の第一回は会場がかなり狭くて移動が大変だったけども、今回は秋葉原 UDX ということでかなり余裕がある感じで良かった。 とはいえ入場規制はされていたようで、少し早めに行って正解だったっぽい。

開場時間よりちょっと早めに行っただけだけど目当てだった本はほとんど買えたし、コミケほど殺伐としていなくて良い塩梅。 いや、コミケも技術系のエリアに限って言えばそんな殺伐としてないと思うけども。

同人誌について

事前にチェックしてた気になるサークルを巡ってあとはフラフラしながら目に留まった面白そうなやつを買う、という感じでやっていた。 千円札10枚くらい持っていったのに色々買いすぎて最後の方ちょっと足りなくなったので、まぁそれくらいは使ったと思われる。

まだ全部じっくり読んだわけではないけど、特に面白かったのは「邪悪なWebクローラ読本」という本で、自分は今までにクローラを何回か作ったことあったものの、まさかそんな邪悪な創意工夫の余地があるなんて思わなくて最高だった。

感想

クレイジーなエンジニアリングをしている同人誌を読むと特にそうなんだけど、やっぱエンジニアリング面白いな〜〜〜って気持ちが高まって良いので、エンジニア各位はぜひこういう技術系同人イベントに参加してみて欲しい。