RealmにEnumを保存したい

RealmはEnumを保存できない。なので、nameを保存してそれを使ってenumが引ける口を作ると簡単だと思う。

WorkerManager#beginUniqueWork で複数登録する場合はDelayを入れたほうが良い

WorkerManagerのbeginUniqueWorkでWorkerを大量に突っ込むと3つ目で以下のエラーを吐いて落ちる

E/WorkerWrapper: Status for aa9f2b0d-d327-4a9f-bac1-5f3e6799603a is ENQUEUED; not doing any work

以下のようにちょっとだけDelayをいれると動いた。

うまいことWorkerをまとめる術があるのなら他にやったほうが良さそうだが、beginUniqueWorkでまとめる場合はDelayをいれたほうが無難だと思われる。

子育てのプロなんて存在しない

子育ては迷うことが非常に多い。通説もいろいろ変わる。抱っこしすぎるのは良くないって言われていたけど、そんなことはないということがわかったり、英語は小さい頃から聞かせておくと英語脳ができると言われていたけど、小さいときに英語を教えるとエセバイリンガルになってあまり良くないと言われていたりもする。学説でさえいろいろ変わっているのだから、親として子供にどう接すればいいのかは非常に悩む。

子育てのプロと呼ばれる人間は世の中に存在する。保育士だったり学校の先生だったり、多くの子供と接しどのように接すればどのような返答が帰ってくるのかをだいたいわかっている人間のことだ。しかし、我が子となると子育てのプロであってもうろたえる。子育てのプロが知っているのはいろいろな子供の平均値であり、しかもそれはある特定の場所にいる子供の平均値でしかない。我が家で親子として接している子供の姿の多くを知っているプロは少なく、自分の子供が平均的に動くことも稀であり、すべての人は子育ての初心者として子育てを始めることになる。

子育ての初心者としてちょっと手慣れてきたときに第二子、第三子と生まれたとしても、子育てはせいぜい7人ぐらいが限度となる。長い人生においてたった7人の子育てしか経験できないのだ。その子育ての平均値をみても母数が少なすぎて、この子にうまく行ったことが他の子でうまくいかないなんてことはよくあるはずだ。じゃあ、親を頼ってみたとしても、親は我が子を育てたことはあるが、我が孫を育てたことはない。子育てとは全てが初めてで、ほとんどのことがもう一度経験できないことの繰り返しなんだと思う。

なので、学説に頼っても学説はすぐに覆されるし、他人を頼っても他人はあくまで他人で他人が見た平均値の返答しかできない。我が子を我が子として認識できるのは自分と妻だけしか存在しないのだから、どうなってもしょうがないと開き直るしかない。我が子を可愛がりたいなら可愛がればいいし、我が子を厳しく育てたいなら厳しく育てればいい。我が子がおとなになったときに、あのときにもうちょっと別の育て方をすればと考えるときは誰にでもきっとくる。しかし、それは全てが過ぎ去ったからこそ判断できることであり、そのときにそのタイミングがもう一度訪れたとしても同じ決断はきっとできないのだ。

「道具」ではなく「文化」をもたらすサービスがいいよね

Instgramは「画像を上げてみんなで見れるサービス」だし、Twitterは「短い文しか上げることができないブログ」になる。どちらも作るのは非常に簡単で、主要な機能だけならすぐに作れるものだろう。単純なサービスは簡単に作ることができる。言い換えれば簡単に似たようなサービスを作ることができる。しかし、その中で流行るサービスと流行らないサービスに別れてしまう理由を前はサービスの利便性だとか機能だと思っていた。しかし、最近は「文化」のほうが重要なのではないかと思えてきた。

サービスの使いやすさや機能というのは地盤でしかない。最低限の機能が最低限使いやすくできていれば、それ以外の機能はオプションなので必須ではない。必須ではないものを詰め込んでいけば、使い勝手は良くなり裾野が広がり使う可能性がある人間は増えるだろう。しかし、それは「道具」として使えるようになったに過ぎない。「道具」はあくまでも「道具」で使いやすいものが出てくれば取って代わられる。使いやすいものというのを突き詰めて他のサービスを落とすという方法もあるのだろうが、それには多大な労力がかかり、巨人が同じようなサービスを出してくると潰される可能性がある。

しかし、「文化」は真似することができない。使い勝手は悪いけど、なんとなくこのサービス内の雰囲気がよいから使うというのは往々にしてあると思う。Instagramに写真を上げればなんとなくおしゃれになった気分になるし、Twitterには適当な文章を吐き出して良さそうな雰囲気がある。この「文化」が非常に大切で、最終的にどういった文化をそのサービス内で形成したいのか?から逆算してサービスをつくるというのは良いアプローチなのかもしれない。やりたいことを実現するためにアプリを作るのではなく、どういった人をあつめたいのかというアプローチから逆算してアプリを作ると面白いのかもしれない。

Google Sign-InでApiException: 12501がでて失敗する

以下のエラーがでて失敗する

> com.google.android.gms.common.api.ApiException 12501

手順は以下の通り

OAuth2のClientKeyが設定されてないのがだめというものを見つけたけど違った。

結局、 GoogleSignInOptions.DEFAULT_SIGN_IN を設定しないといけないところを GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN を設定していたからエラーとなっていた。

うまくいったコード

バージョンは以下

> implementation “com.google.android.gms:play-services-auth:15.0.1”

FirabseのAuthUIで[Code: 10, message: 10]のエラーが出る

FirebaseのAuthUIを試してみたけど以下のエラーがでて動かない。

com.firebase.ui.auth.FirebaseUiException: Code: 10, message: 10:

よくよくみると以下のワーニングが出ていた

Developer error: this application is misconfigured. Check your SHA1 and package name in the Firebase console.

SH256のほうがいいだろうと256しか登録していなかったが、SHA1が登録していないとだめらしい。FirebaseConsoleの設定からSHA1を登録したところ問題なく動作した。

複数のFlowableで全ての更新通知で全ての値を結合する

結論を先に書くと Flowable.combineLatest を使うと良い

flatMapで結合

こうすると、onNextが流れるたびにobserveされる物が増えていくためintProcessorで流れてきた回数strProcessorが出力されることになる。一応目的は果たして入るが、同じ値が複数流れてくるので非常に効率が悪い。

combineLatestで結合

こうすると、どちらかのonNextが流れてきたときに、他の最新データを使って結合することができる。これがやりたかったこと。

息を潜めて機会を待つ #働き方完全無双

読んだ。面白かった。

この本を読んで僕が一番感じたのは「息を潜めろ」ってことだ。情報のアンテナを広く保ちつつ、元でがかからず面白そうだと思えたものに関してはとりあえず手を伸ばし、もし自分が続けることができそうであればお金が儲からなくても続ける。そうすればそのうちにどれか一つぐらいがあたって生活ができるようになるかもしれないし、できなかったにしても元手があまりかかっていないのだからリスクはほぼ無い。息を潜めて耐えるというとつらそうだが、好き勝手なことをしつつ、好きなことが当たるのを待つという生活は面白いのかもしれない。

僕が感じる西村博之という人間は非常に優しい。この人の根底には「皆が飢えずにのんびり生活できて、それなりに楽しくそれなりに生きていける世界」があるんだと思う。下にいる人間を見下ろして幸せを感じる相対的な幸せではなく、何かお金を書けずに楽しむことが出来る趣味を見つけて人と比較することもなく自分が楽しく生きていける世界が良いのだろう。この本にも書いてある、ベーシックインカムでゆるくのんびりと足るを知り生きていく世界は良い気がする。

ただ、西村博之という人間はものすごくストイックで自分を律する力があるからこそ実践できる生き方であるような気もする。僕の周りの人間は大根一本を1日食べ続けるとか出来ないし、ソシャゲのログインボーナスをもらうためだけにアプリを起動したり、無料の時間帯でゲームをするために早起きしたりはしない。美味しいものを食べたければものすごくお腹空いていればなんでも美味しく感じるから極限まで植えればいいという結論は出ないし、痩せたいのであれば食べる量を減らすのは難しいから食べる回数を減らせばいいとかできない。自分を律し、足るを知っている人間になれば完全無双できるのかもしれないが、常人には難しいのかもしれない。

サイコパスが考える予想できない結末 #死刑にいたる病

読んだ。非常に面白かった。

この本のあらすじをざっと書くと、連続殺人犯が自分がやっていないと主張する殺人を主人公が調査する話となる。昔神童と呼ばれていたが、今では見る影もないぐらい落ちぶれた主人公が、幼いころに知り合いだった連続殺人犯を調べていきながら少しづつ成長していく様や、連続殺人犯はなぜ連続殺人犯として成長したのかという理由付けなど非常に面白く読めた。サイコパスと呼ばれる人間は生まれながらにサイコパスなのか、それとも成長する過程がサイコパスにさせるのか、それともその両方が必要になるのか。この本を読んでも深く分かることはないが、少しのズレが重なっていくことでサイコパスは出来上がり、もしかしたら自分の延長上にもサイコパスという人間は存在するのかもしれないと考えさせるだけの力と文章力を感じた。

この本の本領は怒涛のラストの追い込みだと思う。死刑囚が自分の罪について調べてくれという文章はよくある。面会という情報が多少しか与えられない状況と、その他生の情報からなんとか真実に辿り着こうと奔走する姿がわかりやすいからだろうが、結構設定が甘いときが多いわけだが、この本は違う。読み終わった後の設定の納得感と全てが綺麗にはまる構成はすごい。すごくきれいにジグソーパズルが完成下にもかかわらず、非常に後味の悪い読了後の感情は一度読んで味わってみてほしい。

売るために書かれたミステリー #透明カメレオン

読んだ。あまり好みではなかった

あらすじをざっと書くと、声が良くて顔が悪いラジオDJと行きつけのバーの人たちが突如現れた女に振り回される話になる。突如現れた女は主人公がとっさについてしまった嘘を弱みとして色々な不可解なことをやっていく。振り回されながらも女に恋心をいだいていく主人公という構成が少女漫画っぽくて、最近の時流を読んでいる作品に仕上げているんだろうなと思った。最後に突如として出てくる感動させるためだけの話なんかもふくめて最近よくある話だなと思う。

ミステリーをミステリーとして書いている作品で、伏線を伏線らしく入れていき、それを隠すためなのか長々と文章を書き連ねている印象を受ける。コミカルでユーモラスな人物像が好きな人には非常にハマる作品だと思うが、僕にはあまりはまらなかった。読みたい人は読めば良いのかなと思うが、道尾秀介の作品としては僕はあまりおすすめしない。