SteamでPCゲームを楽しむとき、ゲーム機のコントローラを使いたい!

PlayStation3のコントローラDualshock3をPCで使いたい時、ドライバを導入しなければなりません。

検索すると、PlayStationNowをインストールすればドライバがインストールされるという情報が出てきますが、2022年2月現在、ドライバがインストールされません。これは、現行のPlayStationNowは Dualshock3 をサポートしなくなったので、ドライバの同梱も無くなった、という事みたいです。Dualshock3 のドライバを含む古いバージョンを探すと、こちらに Version 11.2.2 がありました。


なんだかんだあるけど、眞子様には幸せになって欲しい(不幸になっても誰も得しない)ので、小室さんにはなんとか成功して欲しい。

100点満点でなくても60点の人生で良い。二人が納得すれば良い。

一時金は受け取って良い。ここぞと言うときに使って欲しい。それでも苦しいときに、妹弟に相談できる良好なご関係でありますように。

小室母子の縁を切ってでも、世間を敵に回してでも、お二人で乗り越えて欲しい。


独習PHP 第4版

twitterで散々呟いているとおり、私はphpが大好きだ。Webだけでなく、CLIスクリプトとしても大いに使っている。

phpは、pythonと同じぐらい好き嫌いが分かれる言語ではないかと思う。まず、その普及率の高さ、そして、良くも悪くも「C言語とシェルスクリプトといった、多くの人が知っている知ってる構文で書ける」タイプのインタプリタだからだ(こう言いきってしまうと各所よりマサカリが飛んできそうだが)。誰でも簡単に書けるが故に、私のようなにわかプログラマーがクソコードを量産したせいで、少なくないプログラマーから敬遠される言語の一つになってしまったが、これはphpが悪いのではなく私たちクソプログラマーのせいである。(一方、pythonは、逆の意味で好みが分かれそうだ。)

そんなことはさておき、本書を語る上で最も象徴的だった部分を紹介する。なお、このレビューを読んでいるという事は、phpを多少なりとも(たとえば、バーション 5.4あたりで)使ったことがあると思う。以下のコードを見て欲しい。

$bool = ( ‘X’ == 0 ); // true or false?

この条件式はどうなるだろうか。実はこの「==」演算子の挙動は、php7.4で変更されている。

php7.4やphp8で追加されたり変更されたりした箇所は多く、こうしたエッセンシャルな部分にも及んでいる(このあたりが第4版での主たる加筆分のようだ)。本書は、こうした「最新のphp」を、入門書よりも深く学べるように書いてある。

phpは公式リファレンスが充実しており、また、構文も非常にわかりやすい(と思う)ので、このような本は必要無いと思う方も多いかもしれない。実を言うと、私もこの本を手にするまで、自分のphpの知識では、この本から学ぶことはそう多くはないのではないかと高をくくっていた。本書を手に取ってパラパラとめくった感じでは、その予感は的中したかに思われた。しかし、一から読んでいくうちに、その認識は変わっていった。php7.4やphp8で、結構、知らない拡張や変更が多く成されていたのだ。

phpはハードルが低い反面、なかなか綺麗なコードが書きにくいという裏の面もあるため、本書が紹介する「最新のphp」を学び直し、よりコンパクトで安全なコーディングができるようになると素晴らしい。特にphp8はJITを搭載して実行速度が一段と速くなっており、最新のphpを知る事で「速い・短い・わかりやすい」プログラムが書けるようになる。


もちろん、プログラムは、コンパクトに書けば良いというものではなく、これは本書でも「こうも書けるがオススメはしない」という紹介の仕方もされている。人によっては二項演算子の使用すら拒む人も居るので、どこまでコンパクトに書けば分かりやすいかはその時々で変わるが、私は標準的な記法内であればコンパクトな書き方が好みである。ただ、このあたりは参加するプロジェクトによっても基準が異なるため、実践では色々な書き方を熟知しておけば、どんなプロジェクトに参加しても困らないようになる。

「phpを書ける」から「phpを仕事に使える」までステップアップされてくれるのが、この「独習php 第4版」だ。本書の導入部分にはモダンな環境構築にページが割かれており、標準クラスライブラリでは、豊富なライブラリをきちんと管理する方法も紹介されている。また、データベース連携の章ではMySQL(MariaDB)の基本的な知識を、RESTクエリの章ではHTTP通信の基本的な知識を紹介するなど、入門書よりはより実務レベルの知識を教えてくれる。もちろんこれだけで幅広いphpの周辺技術を理解することはできないが、phpから使う上で必要な仕組みは理解できるレベルで書かれている。より深く学びたい場合は、本書で得た知識をとっかかりに専門書を揃えたら良い。

「オブジェクト指向」の章では「phpは必ずしもオブジェクト指向で書かなくても良い」としながら、多くのページを割いて説明しており、これも実務レベルで非常に役に立つ知識であった。phpのクラスはC++のそれと似通った構造をしているが、phpならではの部分を詳細に紹介してあるので、他の言語でclassの使い方を覚えて、phpでもなんとなくでclassを使えてる人には、特に得るものが大きい。

他方、各章のおわりに「練習問題」があるのだが、資格試験の勉強ならまだしも、実務レベルを目指す本書にはややそぐわない印象を受けた。もちろん邪魔になるわけではないので、好みに合う人は確認がてら解いてみるのも良いかもしれない。私は、この本は入門書ではないので、一度読んだ後、自分なりに実務レベルを想定したコードを書きながら、リファレンスとして必要な箇所を読み返す使い方のほうが、より強力なバイブルとなる。


総じて、本書は650ページ近くあり、かなり分量が多い。しかし、読みやすくわかりやすい文章で、意外とさらさらと読める。ところが、サンプルコードから学べることも多く、サンプルコードもしっかり読み解きながらとなると、それなりにまとまった時間が必要だ。冒頭に挙げたようにphpはクソコードでも動いてしまう柔軟性があるため、綺麗なコードをじっくり見ることも実務レベルにステップアップするためには重要だ。命名や記法など、本書のサンプルコードは公式規約に則って書かれているため、これを真似て自分のコードバリエーションの幅を広くし、現場で活躍する基礎知識として欲しい。本書は、それを「独習」できる良書だ。

独習PHP 第4版



Google が、統計モデルとAIを組み合わせて、今後4週間の感染確認者数・入院病床数・死亡者数の予測を公開し始めて、一ヶ月が経とうとしています。

こういうモデル計算は、単に統計が分かるだけでは機能するモデルは作りにくく、疫学や人間行動学など、感染の増減を左右する全ての要素に精通した複数の専門家が協力してモデル作りをする必要があります。

Googleの計算の詳細は分かりませんが、おおよそ私の思いつくことは全部考慮されていると思っています。

ただ、少し気になるのが、どうも誤差を過小評価しているように見えます。実際、数日に一度、前日とは大きく異なる予測を示した後、また元に戻るような振る舞いが見られ、系統誤差をもっと大きく見積もるべきだと思いますし、部分的には統計誤差も過小評価されているようにも見えます。さすがにこれは私の勘違いである可能性が高いと思っていますが、そう見えてしまうので、後で恥をかく覚悟で書いてしまいます。


この手の計算は、計算自体はそれほど大変ではないので、弊社でも計算ができるのではないか、という問い合わせを頂いています。確かに計算そのものは可能ですが、先にも述べているように、私はこういった「計算モデルの構築」においては「専門家の長年の経験と、そこからくる直感」をとても重要だと思っております。私のような素人が上辺の数字だけ計算だけできても混乱を招くだけです。特に人の生き死にに係わる数字は、野球の勝敗とは社会に与える影響の大きさが全く違います。

国は、もっともっと早い時期に、専門家集団を5チームほど編成して、スーパーコンピュータを用いて5つのモデルでの予測を毎日行い、最悪の事態の想定と、最善のシナリオへの誘導を検討すべきだと思っています。気象予報では既にそうした計算体制が確立されており、台風の進路や大雨の予報が数日前から高い精度で発表されています。新型ウイルスの長期予報でそこまでの精度は当然出せませんが、こういうモデル計算による予測を元に、ある意味機械的に政策を決めていかないと、政治家の決断の遅れのせいで、あっという間に感染者数が爆発することもあり得ます。そうした政策がとられないまま登場したGoogleの予測計算は、民間指標の1つになり得ると思われましたが、まだその水準に達していないように見受けられます。その扱いにはメディアも少し慎重になって欲しいと思います。


ただ、こうした数値の公開を始めたGoogleには、多くのノウハウが蓄積されて行くので、今後予測精度は上がっていくと思います。もし3月に政府や有識者会議がこういったモデル作りを始めていたら、今頃、200日分のノウハウが蓄積されていたはずです。何事も後手後手の政府には本当にがっかりです。