ゆるいブログ

毎日おもったことや、やったことをただただ書いていくブログです

Google Home 買ったよ、という話

GoogleHomeについて

今のところあんまり使えないです。。。もっと色々教えてくれると思ってたのに!

検索エンジンの会社なので情報を調べて教えてくれることに期待していたのですが、「ガンダムについて教えて?」と聞くと教えてくれるんですが、「エヴァンゲリオンについて教えて?」と聞くと教えてくれないです。また、「阪神タイガースの試合結果を教えて?」と聞くと教えてくれるけど「藤井四段の試合結果を教えて?」と聞いてもわからないと返されます。登録されている語彙がまだまだ少なそう。

料理のレシピも楽天レシピ待ちだし、ラジオもまだ無いし、音声入力でブログ書いたりもできないし、誰が触ってもすぐに音楽再生くらいしかやることが無くなるレベル。

大きさは机の上に置いて違和感ないサイズ 、体積としては500ml のペットボトルくらいです。

LINE Clova Wave と比較した画像を見て小さいのかな、と思ったらそこそこ存在感があった。まあ何とか常に机に置いてあっても邪魔にはならないくらいのサイズだと思います。

https://i1.wp.com/www.dream-seed.com/weblog/wp-content/uploads/2017/10/PA080734.jpg?resize=728%2C546&ssl=1

楽曲について Google Music や Spotify にあるものしか聞けないので、この曲聞きたいと思っても無いことが結構多いですね。そこはYoutubeから音源をひっぱってくるとかゴニョゴニョしてほしい

聞いてもその曲無いよ、と言われることが多くてストレスなので、静かな曲を聞きたいとか、楽しい曲を聞きたいとか、そういった指定の方が向いている気がします。

ただ、言葉の認識率は非常に高いですね。既に文句の付けようが無いレベルだと思います。そこで困ったことはない。

今のところなら LINE Clova Wave でも Google Home でもどっちでも良かったかな、という印象です。音楽聞くだけなら LINE Music の無料期間が長い LINE Clova Wave もなくはない。

質問に対する回答機能が弱くて Google の強みになるだろうと予測していたものがまだまだ全然なので、これなら潤沢な Audible コンテンツを持っている Amazon Echo の方が良かったかもしれないです。まあ高いものではないので今後の状況次第ですねー。

がんばれ Google

 

MySQLのレコードロックはギャップロックにはならんよね、と確かめた話

また対象読者が非常に限られる話を書きますが、気になって調べたのでメモ

MySQLでは INSERT ... ON DUPLICATE KEY UPDATE  という構文があってこれはINSERTをしてKEYが重複したらUPDATEするという挙動をします。

で、MySQLのマニュアルを見ると共有ロックじゃなくて排他ロックをかけるよ、とか PRIMARY KEY の DUPLICATE には インデックスレコードロックをかけて、UNIQUE KEY の DUPLICATEにはネクスキーロックをかけるよ、と書いてあります。

INSERT ... ON DUPLICATE KEY UPDATE differs from a simple INSERT in that an exclusive lock rather than a shared lock is placed on the row to be updated when a duplicate-key error occurs. An exclusive index-record lock is taken for a duplicate primary key value. An exclusive next-key lock is taken for a duplicate unique key value.

MySQL :: MySQL 5.7 Reference Manual :: 14.5.3 Locks Set by Different SQL Statements in InnoDB

ネクスキーロックってギャップロックになるので割と困るんですよね。トランザクションが終わるまで、そのギャップの間にはレコードを入れられなくなるので。

というところまでわかっていたのですが、インデックスレコードロックはギャップロックにはならないかどうかあんまり自信がないのにコードレビューで断言して出てきたので本当かなあ、と調べたくなったという話。

で、さっそく調べたのですが

PRIMARY KEY が DUPLICATE した場合 → PRIMARY インデックスのみレコードロックする(ギャップロック無し)。UNIQUE インデックスはレコードロックする(ギャップロック無し)

UNIQUE KEY が DUPLICATE した場合 → PRIMARY インデックスはレコードロックする(ギャップロック無し)。UNIQUE インデックスはネクスキーロックする(もちろんギャップロックあり)

 という挙動になりました。UNIQUE インデックスの挙動がキモい。。。

MySQLのリファレンスマニュアル言っていることは正しいけど説明不足では!!!(じゃあ連絡しろ、という話ではある)

こういう時にMySQLのコード見てここが問題だ!って言えるとカッコいいんですが、そんなにMySQL詳しくない罠

gist9923b5edecf5a0abf4aed846368f70af

 

ファイアーエムブレムヒーローズ の劣勢通知スクリプトを書いた

またソシャゲの話なのですが

http://gyazo.dyndns.info/data/c217892c04f5ebc073ad6459ab011c01.png

ファイアーエムブレムヒーローズには投票大戦というイベントがありまして、なぜか劣勢になった状態で参加すると得られるポイントx倍になります。

今回のイベントに久しぶりに真面目に参加しようと思ったのですが、劣勢の時だけ参加したいので通知するスクリプトを作りました。劣勢の時以外は殴るの損なんですよね。

スクリプトの中身は公式ホームページをスクレイピングしたものをメールで投げるようにしただけです。

しかし名前で引くようにしたのでカムイが2人いると後者(今回は女性)しかひっかからないのだった。

実装30分、設置1時間(Linuxサーバにpyenvインストールしたり cron の設定して動作確認したり)、今は朝3時、明日は会社というつらい状況です。まあたまにはこういう日があっても良い

Fire emblem heroes の 劣勢通知

満足したし、遅刻しないようにとっとと寝よう

メールにしたけど本当は Slack 連携とかが良いのだろうか。とりあえずGoogle Home 来たら連携してみたいですね。まだ届いてないけども

行動経済学の本を読む

 行動経済学の本を読む

行動経済学の始祖のリチャード・セイラー教授がノーベル経済学賞を取りましたね。ということで行動経済学関連の本、ファスト&スローを読書中

まだ第一部しか読んでないですが、第一部で書いてあることは人間の脳の中では早いシステム1と遅いシステム2の2つのシステムが動いているということです。

・「 システム 1」 は 自動的 に 高速 で 働き、 努力 は まったく 不要 か、 必要 で あっ ても わずか で ある。 また、 自分 の ほう から コントロール し て いる 感覚 は 一切 ない。

・「 システム 2」 は、 複雑 な 計算 など 頭 を 使わ なけれ ば でき ない 困難 な 知的 活動 に しかる べき 注意 を 割り当てる。 システム 2 の 働き は、 代理(* 2)、 選択、 集中 などの 主観的 経験 と 関連づけ られる こと が 多い。   システム 1 および 2 という

ダニエル カーネマン; 村井 章子. ファスト&スロー (上) (Kindle の位置No.568-574). 早川書房. Kindle 版.

システム1は自動的に動き、人間の思考は気付かないうちに引っ張られることがあります。先にお金を見せておくと利己的になったり(プライミング効果)、理解しやすいものに好感を抱いたり、勝手に因果関係を構築したりします。例えば以下の図の右側を12、13、14ではなく A、 B、 C と読むのは左のABCを元に勝手に文脈を推測したシステム1の効果であると書かれています。

http://gyazo.dyndns.info/data/e8dd151c2029837c2b156db92a1e2c60.png

そしてシステム2は使えば疲労し、消耗していくとシステム1が優位になりセルフコントロールが効かなくなります。本書ではこれを自我消耗と呼んでいます。

ブドウ糖を摂取したら自我消耗の兆候を示さなかった、とも書いてありますが、普通に食事をしていれば脳が糖分欠乏になることはないとも聞いていて、どこまで本当なのかなあ。とりあえず疲れたらチョコは食べるようにはしていますが。

ヒューリスティクスという概念を本書では以下のように説明しています。

ヒューリスティクス の 専門的 な 定義 は、「 困難 な 質問 に対して、 適切 では ある が 往々 に し て 不完全 な 答 を 見つける ため の 単純 な 手続き」 で ある。 ヒューリスティクス という 言葉 は、「 見つけ た!」 を 意味 する ギリシャ 語 の ユーレカ を 語源 に 持つ。

ダニエル カーネマン; 村井 章子. ファスト&スロー (上) (Kindle の位置No.2524-2526). 早川書房. Kindle 版.

以下の図を見てシステム1がヒューリスティクスを用いて右の方が人が大きいのだと錯覚する、と説明しています。また、Wikipedia によるとヒューリスティスクの解釈による認識上の謝りを「認知バイアス」と呼ぶらしいです。

http://gyazo.dyndns.info/data/14c3ffef54b97d5c45fd0eaa7685d38e.png

また、感情に関わるヒューリスティクスについては論理よりも結論の方が優位となり、監督者であったシステム2もシステム1の擁護者として動いてしまう、と書かれています。これはヘイトスピーチを繰り返す人達やLGBTまわりの騒動などで納得が行く意見ではあります。

ということで明日は第二部を読んでみよう。

 

 

 

 

 

 

 

Unity の Multiplayer ネットワークチュートリアルを実装しました

 

UnityのMultiplayer ネットワークチュートリアルを実装してみました

暇だったのでUnityのUNETを使ったマルチプレイヤーゲームチュートリアルを実装してみました。

やったのは 

https://unity3d.com/jp/learn/tutorials/topics/multiplayer-networking

をそのまま実装してみただけ。それでも将棋の 叡王戦 を見ながらだったせいか5時間くらいかかった気がします。やっぱり時間の消費っぷりがすごいなあ

ついでに始めてのYoutubeアップロード。

ローカルホストで通信したけど移動予測とかしてないのでカックカク。

クライアントロジックとサーバロジックが透過的に扱えるのは良いけど、何がサーバなのか何がクライアントなのかわかりづらいので本格的なものを作るには辛そうな気もします。

 


UnityのMultiplayerネットワークチュートリアルを試してみた

 

量子コンピューティングの本を読んでみた

量子コンピューティングの話

量子コンピュータが人工知能を加速する

量子コンピュータが人工知能を加速する

 

 量子アニーリングの話。D-Waveというカナダの会社が製造した量子コンピュータの説明がされているが、Wikipediaにも記載がありますね。

2011年に突如として、カナダの企業D-Wave Systems量子コンピュータ「D-Wave」の建造に成功したと発表した。D-Waveはこの記事の多くの部分で説明している量子ゲートによるコンピュータではなく、量子焼きなまし法による最適化計算に特化した専用計算機である。発表当初のものは128量子ビットであった[20]。D-Waveが本当に量子コンピューティングを実現したものか否か、当初は疑う向きも多かったものの、確かに量子コンピューティングによるものとする調査論文が英科学誌ネイチャーに発表[21]されるなど、2014年10月現在、確実視される方向にある。

書いてあるとおり、量子焼きなまし法に特価した計算機らしく、汎用計算機ではないらしいです。

量子焼きなまし法は聞いたことがないですが、焼きなまし法というのは一般的なアルゴリズムです。下記のような谷がたくさんあるグラフで、できるだけ谷の底に行きたいとした時に誤った谷底で最適化が終了しないように確率的に山の方にも移動するように設定すると、小さな谷にハマらずにより深い谷を探索するかのような動きをする、というのが焼きなまし法です。

http://gyazo.dyndns.info/data/3a5d89821cfdcf12cbd8a179af21cdf1.png

量子焼きなまし法というのは最初は相互作用(量子間で取りうる値のルールみたいなもの)を弱めた状態でスタートし、少しずつ相互作用を強めていくことによって上記のような探索をすること・・・らしいですが、さっぱりわからん。

内部の量子はキメラグラフという8つで1ユニットとなり各交点で相互作用するようになっているらしく、これが故に限界があるようです。

http://gyazo.dyndns.info/data/e721a92ec7f4bad8bc360bcede82d56e.png

完全に量子間がつながっているわけではないので、量子的な特性を完全に生かし切れずに実用的な問題は解きづらい。他にもノイズの問題もあり厳密解を出すのが難しい。その一方でサンプリングにはうってつけなのでディープラーニングには向いているとのこと。

なるほどわからん。。Qiitaに説明らしきものがあったのでこちらも読んでみました。

qiita.com

イジングモデルについての説明がわかりやすく書けていて、上述のグラフの谷というのはイジングモデルエントロピーの低い状態に落ちついたということなのだろうな、と何となく理解しました。(あってるかは知らん)

正直まったく理解できていないので量子コンピューティングが主流になったらプログラマを辞めるしかないですが、知らない世界が表現されていて楽しく読めました。

こういった革新的な進歩が一企業から出てくるのが凄いですね。日本でおなじようなことを言う会社があったらほぼ詐欺師だと思いますよね。まあPreferedNetworksが言えば半信半疑ならぬ3信7疑くらいですが。

ディープラーニングやら量子やらの説明を読んでるともうちょっと頭良く生まれたかったなあ、と思うけど。しゃーないですね。数式ニガテ

 

COMSA が微妙なことになっている / シンバイオティクス試してみます

朝火災警報で目覚める

マンションのどこかの部屋で小火があったのか誤報か?火災報知器の警報で目が覚めました。

まあ朝 8 時だったので時間的にはちょうどいいんだけども、朝 3 時とかに鳴ったら辛いなあ。

PROBIOTIC-3飲み始めます

http://gyazo.dyndns.info/data/2de1992e7b97208b75a6d7da1f4068e5.png

yurui.hatenadiary.jp

ダイエットの科学を読んで、腸内細菌の状態は割と重要ということを学びました。

この本には遺伝である程度は決まるとも書かれていたけども、まあ効果があるかもしれないので、シンバイオティクスという腸内の細菌を整える薬を飲んでみようと思います。

効果があることに期待。まあ悪くても下痢になるだけだろう。

ディープラーニング本読み終わった

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

 

 ようやく読み終わったので、じゃあ何かに使ってみなきゃな、と思いつつも思いうかばない状態。本の中身を忘れない内に何か考えよう。時系列データのディープラーニングをやりたのですが、株式市場とかビットコイン価格とかが面白いのかなあ。

プログラミング言語C++ 第4版

プログラミング言語C++ 第4版

 

 こっちはまだ12章までなのでこれからこれから。

COMSAのICOがひどいことになっているけど資金調達は順調な件について

yurui.hatenadiary.jp

以前 COMSA の ICO のペーパーを読んで投資するかどうかを考えた結果、リスクが高いので止めてました。今日トークンセールだったのですが、ネット上で CAMPFIRE と Tech Bureau が喧嘩していて、ひどいことになっていますね。

しかもそんな状態であっても資金調達自体は至極順調。これからどこが使うかもわからない ICO プラットフォームに 50億円 ほどの資金が入ってきています。

今回の件でプラットフォームとしての信用を激しく毀損しているので、これが株だったらストップ安でしょう。そんな状況下でまったく問題なしに資金調達できているのを見ると本当にバブルなのだなあと思いました。

投資しない以上、上がると悔しいので下がって欲しいな、と思っていますがまあ外から見る分には順調ですね。ほんと仮想通貨関連の需要は天井しらずでよーわからん。