8/04/2020

なぜ、Microsoft? (TikTokの買収)

ジョン・グルーバーのブログより

Om Malik:

  • デジタル革命の一翼を担うという夢を持ったディズニーのような人がいないのはなぜだろうか? ディズニーにはファンがいる。広大な世界的活動が行なっている。それは独裁的な政府をなだめ、民主的な国を満足させることができる中道を歩む能力を持っている。また、多くの層のジャンルを横断する多くのサブブランドを持つブランドを持っている。ディズニーはTwitterを買収することを望んだ。TikTokの方が戦略的により一致している。

  • なぜ、Comcastではないのか?

  • なぜ、Appleではないのか? お金は持っている。はっきりと言わなくとも、明示的にそうしていなくとも、FacebookやGoogleを鈍らせる欲望を持っている! それとも、彼らは頑固な人の集まりだからなのか、プライバシに関しては、アメリカ政府と協力したくないのか、一部のTikTok-erのデータにアクセスする必要があるだろうか?

だからこそ、私の疑問は、なぜ、Microsoftなのか?

もし、Appleが関与していたら、私はショックを受けるだろう。興味がないのだろう。しかし、なぜ、TikTokに買収合戦がないのか? トランプが要求し、Microsoftが米国財務省に「礼金」のキックバックを提供するという厚かましいインチキさに加えて、このくだらない説明における他のひねくれた見方は、TikTokの買収が、部分的あるいは別の方法で、Microsoftへのオファーとして提示されているという事実で、入札企業ではありません。

私はこれらの疑問を持っているが、自分を抑えられず、先週の出来事のことしか考えていない。

なぜ、Microsoftは、ビッグテックとワシントンDCの対決に参加しなかったのか? 他の4社よりも優れている点は何か? 他の4社が独占欲のためにお仕置きをされているのに、なぜ、彼らはオンエアでの屈辱を免除されたのだろうか?

先週の公聴会にMicrosoftが出席しなかったことは、その時は目立って奇妙でした。今ではそれは明白です。特に「新興の競合他社を買収する」というのが全体の主な主眼の1つだった場合はなおさらです。

8/03/2020

アインシュタインの最大の遺産: 思考実験

サビーン・ホッセンフェルダーのブログより

アインシュタインの最大の遺産は一般相対性理論でもなく、光電効果でもなく、脳のスライスでもありません。それは、ドイツ語で『思考実験』を意味するGedankenexperimentという言葉です。

今日、理論物理学では思考実験は一般的です。思考実験は、既存の技術では測定できないものの、原理上は測定可能な範囲を超えた理論の結果を研究するために使用されます。思考実験は、理論を限界まで押し上げるのに役立ち、そうすることで理論の矛盾や新しい効果を明らかにすることができます。思考実験には2つのルールしかありません。(A) 関連性があるのは測定可能なものだけであり、(B) 自分を騙さないことです。これは、思ったほど簡単なことではありません。

おそらく最初の思考実験は、ジェームズ・マクスウェルによってもたらされ、今日ではマクスウェルの悪魔として知られています。マクスウェルは思考実験を利用して、熱力学の第2法則を破って、無限のエネルギーを取り出すことができる永久運動機関を作ることができるかどうかを研究しました。

もちろん、これは不可能であることは分かっていますが、マクスウェルは言いました。高温と低温の2つのガスの箱があるとします。それらを互いに接触させると、温度は中間のどこかである共通の温度で平衡に達します。平衡温度に到達するその過程で、システムはより混ざり合い、エントロピーが増加します。そして、それが起こっている間、つまりガスが混ざっている間に、システムからエネルギーを取り出すことができます。物理学者が言うように、これは「仕事の実行」です。しかし、ガスの温度が均一になり、ガス全体の温度が同じになると、もはやシステムからエネルギーを取り出すことはできなくなります。エントロピーが最大になり、それで話は終わりです。

マクスウェルの悪魔は、小さな全知全能の存在で、2つの箱の間に、小さなドアがあるところに座っています。左から速い原子が来るたびに、悪魔はそれを通します。しかし、右から速い原子が出てきたら、悪魔がドアを閉めます。これによって、片側の高速原子の数が増えていくので、片側の温度は再び上昇し、システム全体のエントロピーが低下していきます。

エントロピーが減少しないことは誰もが知っているので、熱力学の法則が壊れているように見えますよね? では、何が起きているのですか? 悪魔は原子の動きについての情報を持っている必要があります。そうでなければ、ドアを開けるタイミングが分かりません。つまりこれは、本質的に、悪魔自体が低エントロピーの貯蔵庫であることを意味します。悪魔とガスを組み合わせれば、第二法則が成り立ち、すべてがうまくいきます。マクスウェルの悪魔の面白いところは、エントロピーは情報とは対極にあることを私たちに教えてくれることです。あなたは情報を使用してエントロピーを減らすことができます。実際、マクスウェルの悪魔のミニチュア版が実験的に実現しています

しかし、アインシュタインの話に戻りましょう。アインシュタインの最も有名な思考実験は、引き上げられているエレベーターの中で何が起こるかを想像したというものです。アインシュタインは、エレベーターが重力場で静止しているのか、一定の加速度で引き上げられているのかを確認するために、エレベーター内でできる測定はないと主張しました。これがアインシュタインの「等価原理」になり、時空の小さな領域での重力の効果は、重力がない時の加速の効果と同じであるということになります。この原理を数式に変換すると、それが一般相対性理論の基礎になります。

アインシュタインはまた、光子を追い掛けることを想像することも好きでした。これは、彼が特別相対性理論を発展させる上で非常に重要であり、彼は時間と距離を測定することが、実際の何を意味するのかを考えることに多くの時間を費やしました。

しかし、彼の思考実験の中でおそらく最も影響力のあったものは、量子力学が間違っているに違いないことを説明するために彼が考え出した実験です。この思考実験では、量子力学の最も特異な効果の1つである「もつれ」を探求しました。彼はこれをボリス・ポドルスキーとネイサン・ローゼンと一緒に行ったので、今日ではアインシュタイン=ポドルスキー=ローゼン、または単にEPR実験として知られています。

これは、どのような仕組みなのでしょうか? もつれ粒子は、粒子が測定されない限り、一つ一つの粒子の値は決定されませんが、粒子間で相関関係があるスピンなどの測定可能な特性を持っています。粒子のペアがある場合、例えば、一方の粒子がスピンアップしている場合、もう一方の粒子はスピンダウンしている、あるいはその逆であることが分かりますが、どちらがどちらであるかはまだ分かりません。その結果、片方の粒子が測定されると、もう片方の粒子の状態が瞬時に変化するように見えます。

アインシュタイン、ポドルスキー、ローゼンがこの実験を提案したのは、アインシュタインがこの一瞬の間の隔てた「不気味な」振る舞いが、ナンセンスだと考えたからです。ご存知のように、アインシュタインはこれが特殊相対性理論の光の速度制限と矛盾しているように見えるため、問題にしていました。今日の私たちは、これがそうではないことを知っていますし、量子力学は、もつれた粒子間で有用な情報を送ることができないため、特殊相対論と矛盾しません。しかし、アインシュタインはそのことを知りませんでした。今日では、EPR実験はもはや思考実験ではありません。それは実験可能であり、実施されており、今では量子もつれが実在することを疑う余地なく知っています。

今日でも理論物理学者を頭痛の種にしている思考実験に、ブラックホールの情報損失パラドックスがあります。一般相対性理論と場の量子論もどちらも非常によく確立された理論ですが、それらを組み合わせると、ブラックホールが蒸発することが分かります。これは、放射温度が低すぎるため、実際には測定することができませんが、原理的には測定可能です。

しかし、スティーブン・ホーキングが最初に行った計算によると、ブラックホールの蒸発は可逆的ではなく、情報を永久に破壊してしまうようです。しかし、これは場の量子論では起こり得ないことであり、量子論と一般相対論を組み合わせると、論理的な矛盾に直面します。これは自然の仕組みではありえないので、私たちは間違いを犯しているに違いありません。しかし、どちらが間違いなのでしょうか?

ブラックホールの情報損失の問題には、多くの解決策が提案されています。私の同僚のほとんどは、この矛盾は一般相対性理論がもはや使われるべきではない領域でこの理論を使うことから生じ、問題を解決するには重力の量子論が必要であると考えています。しかし、これまでのところ、物理学者は解決策を見つけていませんし、少なくとも全員が同意できる解決策は見つかっていません。

つまり、そうです、思考実験は、物理学者が過去に使い、現在も使い続けている研究手法なのです。しかし、最終的には自分たちの理論を検証するために、実際の実験が必要であることを忘れてはいけません。

Hacker News

宇宙の地図を作成後、科学者らは宇宙に奇妙な何かがあることを発見

Independentより

アンドリュー・グリフィン

宇宙の物質の詳細な地図を作成した後、科学者らは、予想されるよりはるかに「均質」であると言いました。

この発見は、宇宙の理解について何か奇妙なことがあり、新しい類の物理学を必要としたり、暗黒物質の理解を根本的に変えたりする可能性があることを示唆する可能性があります。

この新しい結果は、ヨーロッパ南天天文台の超大型望遠鏡を使って宇宙全体の物質分布をマッピングするキロ・ディグリー・サーベイ(KiDS)から得られました。これまでのところ、100億光年の距離にある3100万個の銀河を分析して、銀河系外の空の約5%を図にしてきました。

このような詳細な地図を作成することで、科学者は銀河が宇宙全体でどのように分布しているのか、その「塊」を調べることができます。これにより、研究者らは、宇宙のすべての物質うち、約90%は目に見えない暗黒物質と希薄なガスで構成されている物質の全体像を構築することができます。

これにより、天文学者は、宇宙の均質性が徐々に低下していく過程を観察できます。通常の質量を超える宇宙の部分は、その周囲の領域から物質を引き寄せて、他の部分との類似性を低下させます。宇宙の膨張は、その成長を妨げるものです。

これらの過程はどちらも重力によって駆動されるため、宇宙論の標準モデルや物理学の基礎となる仮定を検証するために使用できます。これにより、宇宙が古くなるにつれて密度がどのように変化するかを予測できるので、これらの予測は、宇宙が実際にどれほど均質であるか、あるいは様々に塊になっているかを調べることによってテストにかけることができます。

しかし、新しい研究ではそれらの予測が間違っていたことを発見しました。宇宙は、物理学の現在の理解が示唆しているよりもほぼ10%以上の均質性があります。

このような宇宙の膨張率やハッブル定数の不思議な不一致などの他の最近の発見と同様に、データは物理学の標準モデルのさらに別の亀裂である可能性があり、宇宙の実態を再考する必要があります。

「問題は、これらが小さな調整で解決できるかどうかです。例えば、完全に不活性な『冷たい暗黒物質』という単純な仮説よりも、暗黒物質のやや複雑な振る舞いで解決できるかどうかです」と、エジンバラ大学のティルマン・トロスターは声明で述べています。

しかし、変化は、例えばアインシュタインの一般相対性理論を書き換える必要があるかも知れないことを示唆する、はるかに根本的なものになる可能性があります。

新しい観測の背後にいる研究者たちは、彼らの焦点は、宇宙について何が分かるのか、あるいは宇宙について私たちが何が間違っていたのかが分かるのか、という飛躍を遂げるのではなく、正確な測定を行うことにあると強調しています。

ルーア大学ボーフム校のヘンドリック・ヒルデブラントは、「観測する宇宙論者として、公平な立場を保ち、理論的な偏見を持たずに可能な限り正確な測定を行うよう努めています」と述べています。

「1つだけはっきりしているのは、私たちはエキサイティングな時代に生きているということです!」

天文学者は、自分たちの結果が正しいかどうかを確かめるために、より多くのデータを必要とするでしょう。宇宙の中でも特に奇妙な部分を見たために結果が得られた可能性は、まだ1,000分の1の確率です。

最終的な「レガシー」KiDSマップが公開されると、その追加のデータはすぐに届きます。それは現在のものより30%大きくなり、KiDSのすべての観測結果が含まれており、さらに研究が可能になります。

また、世界中の天文学者が、宇宙における物質や暗黒物質の分布をマッピングする新しいプロジェクトを立ち上げており、現在の知見に光を当てるだけでなく、何らかの説明を提供する可能性もあります。

Slashdot

8/02/2020

IBMは、完全準同型暗号のフィールド試験に成功

ars technicaより

FHEは、秘密を共有することなく、さらに暗号化されたデータの計算を可能にします。

ジム・サルター

昨日、ArsはIBMのシニア・リサーチ・サイエンティストであるフラビオ・ベルガマスキと、同社の最近の完全準同型暗号のフィールド試験の成功について話を聞きました。多くの方が私たちと同じ質問をされると思います −「完全準同型暗号(Fully Homomorphic Encryption: FHE)とはとは何か?」から始めます。

FHEは暗号の一種で、暗号化されたデータに直接数学的な演算を行うことができます。復号化すると、結果は正しいものになります。例えば、2、3、7を暗号化し、暗号化された3つの値を第三者に送るとします。その後、第三者に1番目と2番目の値を足してもらい、その結果に3番目の値を掛け合わせて結果を返してもらえば、その結果を復号化して35を得ることができます。

計算を行う第三者と鍵を共有する必要はありません。データは、第三者が受け取ったことのない鍵で暗号化されたままです。つまり、第三者はあなたが依頼した演算を実行しても、入力や出力の値を知ることはありません。また、暗号化されたデータの数学的または論理的演算を、暗号化されていないデータを使って実行するように第三者に依頼することもできます。例えば、疑似コードでは、FHE_decrypt(FHE_encrypt(2) * 5)は10と等しいです。

準同型暗号の可能性

FHEの最も明白な意味合いは、私が「sysadmin問題」と呼んでいるものへの解決策です。第三者が管理するシステム上で計算を行う場合、一般的に第三者のルート特権を持つオペレータがデータにアクセスすることができます。保存時の暗号化は、その瞬間に実行されている計算の範囲外のデータへのアクセスを防ぎますが、ルート特権があれば、システムオペレータはRAMの内容をスキャンしたり、変更して、現在演算中のデータにアクセスすることができます。

FHEを使用すると、実際のデータがリモート・システムに公開されることなく、これらの計算を実行できます。明らかに、これはsysadmin問題をかなり完全に解決します。つまり、マシン自体が復号化されたデータにアクセスできない場合、オペレータはどちらにもアクセスできません。

もちろん、FHEはsysadmin問題に対する最初の解決策ではありません。AMDのSecure Encrypted Virtualizationもその1つであり、かなり効率的です。SEVを有効にすると、ホストシステム上でルート権限を持つオペレータは、そのシステム上で実行されている仮想マシンが使用しているRAMの内容を検査したり、意味のある内容に変更することができません。SEVは事実上、フリーであり、SEVで保護されたVMは、保護されていないVMよりも動作が遅くなることはありません。

完全準同型暗号は、Secure Encrypted Virtualizationにはない多くの可能性を提供します。すべての数学的および論理的演算は、加法および乗法演算から構築できるため、これは事実上、任意の計算がFHE暗号化データ上で実行できることを意味します。これは、めまいがするよううな配列の可能性を開きます。1つは、データベースの所有者に、あなたが何を検索したか、または結果が何であったかを知らせることなく、データベースを検索できる可能性があります。2人の当事者は、どちらかの当事者が他の当事者にそれらのデータの実際の内容を開示することなく、別々に保持されているデータセットの交差セットを発見する可能性があります。

「セキュアなアウトソーシング」は、これらのアーキタイプの中で唯一、完全準同型暗号なしで可能なものの1つです。FHEは大きなコストが掛かるため、他の3つに焦点を当てることなく、時間を割く価値があります。

準同型暗号の限界

完全準同型暗号は、他の方法では不可能だったことを可能にしますが、大きなコストが掛かります。上記では、FHEで暗号化された機械学習モデルを演算するために必要な追加の計算能力とメモリリソースを示すグラフを示していますが、暗号化されていないモデルで同じ処理を実行するために必要な計算能力は約40〜50倍、RAMの10〜20倍にもなります。

次の画像では、機械学習による予測タスクの結果曲線が、平文のデータに対して行った場合と、FHEで暗号化したデータに対して行った場合では、ほぼ同じであることが分かります。私たちは残りの違いについて疑問に思いました。FHEは少し損失があるのではないか? 必ずしもそうではありませんと、ベルガマスキは説明します。使用されているモデルは、整数ではなく浮動小数点データに基づいており、暗号化ではなく、浮動小数点自体に少し損失になります。

浮動小数点値に対して実行される各演算は、その精度を少しずつ低下させます。加算演算では非常に小さく、乗算演算のでは大きくなります。FHEの暗号化と復号化自体が数学的な演算であるため、浮動小数点値の精度が少量の追加的な劣化を加えています。

これらのグラフは機械学習に直接適用できるものではあり、すべてのタスクが機械学習タスクであるとは限らないことを強調しておく必要があります。しかし、他のタスクには独自の制限があります。例えば、ブラインド検索(検索演算が検索対象や結果を知らない検索)がどのように機能するかについて、行ったり来たり何度も議論しました。

通常、データベースに問い合わせをする場合、データベースは問い合わせ対象のテーブルのすべての行で全文検索を実行する必要はありません。テーブルはインデックスが付けられ、インデックスを使用することで検索を大幅に高速化できます。しかし、FHEで暗号化された値を使ってブラインド検索を実行している場合は、暗号化された問い合わせを、問い合わせ先のテーブルのすべてのフルテキスト行に対してマスクする必要があります。

このようにして、どちらの知識も持っていなくても、データベースの演算がは問い合わせを送信して結果を得ることができます。しかし、問い合わせされたテーブルのすべての行に対するフルテキストの読み取りとマスキング処理は、少なくとも控えめに言っても適切にスケーリングできません。これがどの程度の問題になるかは、照会されたデータの種類とその量に大きく依存します。しかし、機械学習の50:1の計算ペナルティと20:1のメモリペナルティを繰り返し見ることになるでしょう。そうでない場合でも。

成功したフィールド試験

FHEの性能ペナルティと同じくらい恐ろしいかも知れませんが、それらは有用性のしきい値を十分に下回っています。ベルガマスキによると、IBMは当初、現実世界でFHEを有用なものにするための最小の効率は1,000:1のオーダーになると見積もっていたと言います。100:1をはるかに下回るペナルティで、IBMは、アメリカの大手銀行1行とヨーロッパの大手銀行1行と契約し、ライブデータを使用してFHE技術の実践的なフィールド試験を実施しました。

関与したアメリカの試験は、機械学習モデルを使用して、大規模な顧客グループのリテール・バンキング、ローン、投資情報へのアクセスが与えられ、ローンが発行される可能性を予測しました。データセットは364,000件のエントリと数百の特徴で構成され、モデルはデータセット内の比較的まれなイベント(約1%)を特定する必要がありました。この試験の成功は、暗号化された予測がベースラインと同様の精度を持ち、同様の精度の変数を選択し、許容できる計算オーバーヘッドを持っていることに基づいています。

ヨーロッパの研究は、まだNDAの下にあるため、それほど詳細な情報はありませんが、アメリカの研究結果は2019年に発表されており、CryptologyのePrintアーカイブで詳細を確認できます。

IBMの準同型暗号アルゴリズムは格子ベースの暗号を使用しており、量子コンピュータに非常に強く、LinuxMacOSiOSのオープンソース・ライブラリとして提供されています。Androidのサポートも予定されています。

Hacker News 12

中国のAI監視行政はグローバル化するか?

Slashdotより

中国はすでに何億台もの監視カメラを(国内に)設置しており、Atlantic紙の副編集長は次のようにレポートしています。「新しい法令により、通信会社は携帯電話サービスに申し込んだ人の顔をスキャンする必要があるため、電話のデータは特定の人の顔に結合できるようになりました。」

しかし、この記事はまた、AIを利用した監視に関して、中国は「国境を越えて輸出し、全世代の独裁者の力を定着させている」と、「世界的に個人と国家の間のパワー・バランスを変える可能性がある...」とも警告しています。

この国は現在、AIを利用した監視機器の世界有数の販売国です…。アメリカのCTOであるマイケル・クラチオスは、中国は「略奪的な融資を利用して、途上国に大幅な割引価格で通信機器を販売し、その結果、中国はこれらのネットワークとそのデータをコントロールできる立場にある」と語っています。国が融資条件の借り換えを行う必要がある場合、中国は軍が融資する外国の港で基本権を確保するのと同じように、ネットワーク・アクセスを契約の一部にすることができます。「もし、中国に世界中のデータ・ネットワークへの自由なアクセスを与えたら、それは深刻な問題になる可能性があります」とクラチオスは言いました...

アジア、ヨーロッパ、アフリカに足がかり*を設置した中国のAI企業は、中国政府が「中核的な経済的関心事」と表現するラテンアメリカに進出しています。中国は、エクアドルが2億4000万ドルで監視カメラシステムを購入する際に資金を提供しました。ボリビアも、北京からの融資の助けを借りて監視機器を購入しました。ベネズエラは最近、ZTEが構築したデータベースに市民の所属政党を記録する新しい国民IDカードシステムを発表しました。

* この記事では、次の追加の例を紹介しています。

  • マレーシアでは、政府はクアラルンプールの警察に顔認識技術を導入するために、中国のAI新興企業であるYituと協力している...
  • 中国企業はまた、シンガポールの11万本の街灯に顔認識カメラを取り付けるために入札を行った。
  • 南アジアでは、中国政府はスリランカに監視機器を供給している。
  • 旧シルクロードでは、中国企業のDahuaがモンゴルの首都の通りをAI支援監視カメラを設置している。
  • セルビアでは、ファーウェイが「セーフ・シティ・システム」の構築を支援しており、顔認識カメラや、中国の観光客の安全を守ることを目的としたセルビアと中国の警察によるの合同パトロールを実施している。
  • ケニア、ウガンダ、モーリシャスは、主要都市に中国製の監視ネットワークを装備している...

Hacker News

極薄の発泡体で作られた宇宙船は、185年でプロキシマ・ケンタウリに到達する可能性がある

Slashdotより

匿名の読者が、ニューズウィークの記事を引用しています。

科学者によると、合成発泡体の極薄層で作られた仮想的な宇宙船は、技術的には、最も近い隣接する恒星プロキシマ・ケンタウリにわずか185年で到達できる可能性があります。NASAによると、ボイジャーが同じ旅をすると、約73,000年掛かります。

Astronomy & Astrophysics誌に掲載される予定の研究で、ドイツのマックス・プランク太陽系研究所のルネ・ヘラーらが、太陽系を超えた恒星間旅行の先駆けとなる宇宙船を提案しています。彼らは、プロトタイプの費用は約100万ドルで、惑星間ミッションの打ち上げには、約1000万ドル掛かると見積もっています。

宇宙船はエアログラファイトから作られています。これはカーボンをベースにした発泡体で、アルミニウムの約15,000倍の軽量化を実現しています。ソーラーセイルの作成にも使用できるほど用途が広く軽量であり、「推進力のために太陽エネルギーを利用します。太陽光子圧と呼ばれるプロセスです…。ほとんどの場合、光子は物体にはほとんど影響を与えません。しかし、ターゲットがエアログラファイトのような超軽量素材であれば、ターゲットを実際にかなりの速度にまで押し上げることができます」と彼は言いました。

「私たちは、厚さ約1ミリメートル(0.04インチ)のエアログラファイトの薄い層は、太陽系を脱出させるのに十分な速度で抑えることができることを発見しました。太陽放射圧から最初の圧力を得れば、それは簡単に宇宙空間をゆっくり流れて行きます…。」

ヘラーは、これらの宇宙船は、これまで人間によって送られてきたどんな探査機よりもはるかに高速で移動できると言いました。

ニクラウス・ヴィルトは正しかった、それが問題だ

ブログより

ロビン・マーティン

ヴィルトの法則は実際には法則ではありません。実際、どれも法則ではありません。格言です。

一般的な真実を表すことわざや短い文章。

https://www.lexico.com/en/definition/adage

ここで、実際に法則ではないもう一つの法則を紹介します。ムーアの法則は、高密度集積回路(IC)内のトランジスタの数は約2年ごとに2倍になるという観測です。

つまり、コストを下げつつ、コンピュータの速度と能力が向上することを期待できるということです。悲しいことに、ここでヴィルトの法則の出番です。

ヴィルトの法則とは、コンピュータの性能の格言で、「ソフトウェアは、ハードウェアが高速化するより急速に低速化する」と述べているです。

https://en.wikipedia.org/wiki/Wirth%27s_law

そして、1975年からムーアの法則は真実であることが証明されていますが、ヴィルトの法則も真実であるようです。Pascalの設計者であるニクラウス・ヴィルトは、1995年に記事を書きました。

約25年前、インタラクティブなテキスト・エディタは、わずか8,000バイトのストレージで設計できました。(現代のプログラム・エディターは100倍も要求します!) オペレーティング・システムは8,000バイトで管理しなければならず、コンパイラは32Kバイトに収まるようにしなければなりませんでしたが、現代の子孫はメガバイトを必要としています。このように膨れ上がったソフトウェアは、何か速くなったのでしょうか? とんでもない。1000倍高速なハードウェアがなければ、最新のソフトウェアはまったく使えなくなっていたでしょう。

Niklaus Wirth – リーン・ソフトウェアへの要望

現代のソフトウェア開発の問題は多面的です。ヴィルトは、時間という重要な側面を指摘しています。

おそらく、時間的プレッシャーはかさばる(bulky)ソフトウェアの出現の最大の理由です。

ニクラウス・ヴィルト – リーン・ソフトウェアへの要望

1995年当時はそうでしたが、今ではそれが最も重要な要素ではありません。今、私たちはもっと大きな問題、つまり抽象化に対処しなければなりません。開発者はゼロから物事を構築することは無くなりましたし、それが問題になることもありませんでしたが、今では怠惰になっています。

コードの品質を向上させようとし、構造化プログラミングの概念を生み出したのは、エドガー・W・ダイクストラでした。彼はプログラミングの危機的状況から脱却させようとし、ハーラン・D・ミルズ、リチャード・C・リンガー、バーナード・I・ウィットなどのプログラマの支援を得ました。短期間では、プログラミングは本物の職人技と見なされました。プログラマは自分たちのプログラムの品質に関心を持ち、それには明快さや効率性が含まれていました。

しかし、そのような時代は過ぎ去りました。ヴィルトが記事を書いたのと同じ年の1995年にJava、Ruby、PHP、Javascriptなどの高水準言語が導入され、プログラミングはより抽象的なものになりました。

このような言語は、プログラミングを非常に簡単にし、プログラマの手から多くのことを取り除くことができました。これらの言語はオブジェクト指向で、IDEやガベージ・コレクションなどが提供されていました。

これは、プログラマが心配することが少なくなったことを意味し、もちろん素晴らしいことです。悲しいことに、すべてには代償が伴います。心配することが少なくなるということは、考えることも少なくなるということでもあります。1995年は、プログラマがプログラムの品質について考えるのをやめた年でした。

それはまた、おそらく大きな問題の1つであるライブラリの広範な使用の始まりを示しました。誤解しないで下さい。私はライブラリが大好きです。それらは私が物事を成し遂げることができる唯一の理由です。しかし、ライブラリにはあなたが必要とするものが正確に揃っているわけではありません。

ライブラリは特定のプロジェクトのために作られたものではないため、おそらく実際に必要な機能よりも少し多めの機能を備えています。何の問題もありません。しかし、物事は急速に積み重なっていきます。ライブラリが好きな人でさえ、車輪の再発明はしたくありません。その結果、私たちが依存性地獄と呼んでいるものが出てきます。ニコラ・ドゥザは、Javascriptにこの問題についてで記事を書いています

問題はそれほど大きくないように見えますが、ここで何が起きているのかを把握してみて下さい。ニコラが書いた別のチュートリアルでは、簡単なToDoリストを作成しています。HTMLとJavaScriptを使ってブラウザで動作します。彼はどれだけの依存関係を使ったでしょうか? 13,000です。

この数値は常軌を逸していますが、この問題は今後も増え続けるでしょう。新しい非常に便利なライブラリが作られ続けているので、プロジェクトごとの依存関係の数も増え続けるでしょう。

つまり、1995年にニクラウスが私たちに警告していた問題は、時間の経過とともに大きくなるだけだということです。

また、アセンブラを学んで、ウェブ・アプリケーションを書き始める必要はありません。最初の良い方法は、ライブラリを分割することです。あなたが必要としうるすべてのことを行う1つの大きなライブラリを作るのではなく、多くのライブラリを作りましょう。あなたの神のようなライブラリはまだ存在しているかも知れませんが、ラッパーとしてのみ存在しています。

このようにして、プログラマはアプリケーションで使わない機能は無視し、本当に必要なライブラリだけを選択する必要があります。依存関係が小さくなるだけでなく、使わない機能性の依存関係をインストールする必要がないので、依存関係の使用量も少なくなります。

注意: 提案された解決策は明らかに解決策ではありません。例えば、新しい依存関係の地獄を回避するためには、ソフトウェアをバージョン管理すの良い方法が必要になります。

Hacker News

OOPに対する問題は誇張されている

Young Coderより(M)。

50年経った今でも、私たちはプログラミングの支配的なパラダイムについて混乱しています。

マシュー・マクドナルド

何人かの敵を引き付けなければ、開発世界を何十年も支配することはできません。そして、オブジェクト指向プログラミングは、新旧数十種類の言語の概念的基盤を提供していますが、確かに敵もいます。

そのためか、私たちはOOPについての終わりのない一連のホットテイクに苦しんでいる理由です。彼らはOOPを、生産性を破壊する災厄であるとか、一連のごまかしのプログラミング・パターンであるとか、貧しいプログラマが無能さを隠すために設計された平凡なツールであるとか説明してきました。OOPは死んだとさえ宣言されたことがありました(14年前ですので、割り引いて下さい)。

OOPの4つの柱

これらすべての暴言に共通しているのは、現代のソフトウェア設計の落とし穴のいくつかを(正しく)指摘し、これがプログラミング世界の中核にあるひどい腐敗を示していると(間違って)結論付けているいるということです。確かに、オブジェクト指向プログラミングは、ずさんなデザインやや曖昧なアーキテクチャ思考と混同してしまうと、それほど素晴らしいものには見えません。しかし、これらの愚行は本当にOOPの避けられない部分なのでしょうか? それとも、自信過剰で好奇心旺盛なプログラミング初心者の私たちが迷い込んでしまう間違った道の1つに過ぎないのでしょうか?

原罪

問題は、一部のOOP支持者とその批評家のほぼ全員が行っている1つの脆い思い込みから始まります。OOPは、現実世界をモデル化することを目的としているということです。これはOOPの原罪であり、無数の肥大化したコードベースの原因となっている腐った考えです。

OOP理論には、オブジェクトをプログラミングして現実の世界に対応させる必要はありませんが、多くの善意のある教師が、新入生の複雑さの曲線を下げるためにこの考えを使っています。Oracleの公式Javaドキュメントにある問題の図です。

「オブジェクトは、オブジェクト指向技術を理解する上で重要です。今すぐ周りを見渡して下さい。現実世界のオブジェクトの多くの例があります。犬、机、テレビ、自転車など。ソフトウェア・オブジェクトは、概念的には現実世界のオブジェクトと似ています。」

これは例外ではありません。多くの入門書では、車と車輪のオブジェクトの例を示したり、個人と家族オブジェクトを絶望的に結び付けたりして、コードの構造と実世界のオブジェクトの間の境界を曖昧にしています。それは狂気の沙汰です。

この考えは、オブジェクト関係マッピングを使用してデータベースをリンクされたクラスの霧の中に爆発させるようなアンチパターンにもつながります。

この種のデザインは誰にとっても間違っているわけではありません。しかし、ORMシステムに手錠をかけられ、必要以上に複雑で効率が悪いデータクラスのボイラープレートを延々と生成している不幸な人たちがたくさんいます。OOPはこれを奨励していたのでしょうか? そうかも知れませんが、本当の原因は、すべての識別可能なものは、それ自身のオブジェクト表現に値するという考えが行き詰まってしまったことです。

デザインは、オブジェクト・モデルの完全性ではなく、コードのニーズによって導かれるべきであるということ忘れてしまうと、良いことは何も起こりません。

オブジェクトのより良い説明は、多くの正直な答えと同様に、少し曖昧なものです。それは次のようなものになります。

オブジェクトとは、データと機能をある程度まで再利用可能なパッケージにまとめることができるプログラミング構造です。一部のオブジェクトの中には、別の名前の構造になっている場合があります。その他のオブジェクトは、単に関連する機能のライブラリである場合があります。プログラミングの問題をどのようにオブジェクトに分解するかを決定することは、OOPの技術の一部です。

そして、常に洞察に富んだEloquent JavaScriptより。

「何かがオブジェクトのように聞こえるからと言って、それが自動的にプログラムの中でオブジェクトであるべきだということを意味するわけではありません。アプリケーションのすべての概念に対して反射的にクラスを書くことは、相互接続されたオブジェクトの集合を残す傾向があり、それぞれが内部で変化する状態を持っています。このようなプログラムは多くの場合、理解するのが難しく、簡単に破棄されてしまいます。」

経験豊富なプログラマは、オブジェクト指向性の低いソリューションとよりオブジェクト指向性の高いソリューションのどちらかを選択する場合、プロジェクトのニーズを満たす最もシンプルなアプローチを選ぶべきであることを理解しています。

デザインは難しい

もし、OOPが正しく実行するのが難しいとしたら、使用するツールに関係なく、少なくとも一部には、ソフトウェア・デザインが正しく実行することが難しいためです。

実際、OOPは、多くの人々が信じているよりも、デザインにおける規定がはるかに少ないのです。オブジェクト指向言語は、オブジェクトを使用するための一連のツールを提供しています(インタフェースとの相互作用の形式化したり、継承を使ってオブジェクトを拡張するなど)。しかし、これらのオブジェクトをどのように問題に適用するかについてはあまり言及されていません。これは大きな意図的な曖昧さです。

理論と実践のギャップが、デザイン・パターンへの関心を煽りました。OOPがより一般的になるにつれ、プログラマはそれらのアーキテクチャの支援を求めました。残念ながら、デザイン・パターンは、過度に複雑なOOPデザインを、信頼性という名の下に、密かに持ち込む方法になりがちです。

この罠をどうやって避けますか? 頻繁に頭字語で引用される優れたプログラミングの堅固な原則に焦点を当ててみましょう。DRY(Don't Repeat Yourself)、YAGNI(必要のない機能なら作るな)、デメテルの法則(クラスがお互いについて知っておくべきことを制限する)、継続的なリファクタリング、そして何よりもシンプルさと読みやすさを重視するといった原則が含まれます。これらの堅固な原則、つまりコーディングの哲学から始めて、その環境でデザインを具体化していきましょう。

継承の期待のミスマッチ

OOPに対する最も鋭い攻撃の中には、継承を標的にしたものがあります。批評家は、子クラスとその親クラス間の微妙な依存関係によってコードベースが時間とともに凍結されてしまうという、極めて本質的な脆い基底クラスの問題を指摘しています。

脆い基底クラスの問題や他の継承の二日酔いに対する解決策は驚くほどシンプルです。使うな。あなたが聞いたすべての戒めとしての話は真実です。

継承が意味をなすのはフレームワークの設計、言い換えれば、使用するツールを構築する人のためのツールとしての継承です。.NETやJavaのクラス・ライブラリは、厳密な継承階層がなければ、はるかに貧弱で整理されていない場所になってしまうでしょう。しかし、このタイプのフレームワークの作成して維持することは、大規模なアーキテクチャ上のタスクです。動きの速い顧客中心のアジャイル開発者チームであれば、あなたがやりたい類のことではありません。そして、ここに汚い秘密があります。最初に何度か間違ったことをしない限り、おそらく正しく理解できないでしょう。

オブジェクト指向プログラマの仕事の初日

つまり、継承は、間接的に使う場合は素晴らしい機能ですが、自分のクラスを拡張するために使う場合は、殺鼠剤を2乗したように有害です(rat poison squared)。そして、あなたはそれを必要することさえありません。機能を再利用したいのであれば、包含(containment)と委譲(delegation)が完全に機能します。また、様々なクラスを標準化する必要がある場合、それがインタフェースの目的です。

ここで、OOPの本当の限界が見えてきました。OOPは、問題に対して間違った解決策を適用することを防ぐことはできません。厳しい締め切りの前や、空腹のワニの隣など、窮屈な隅で設計するのを防ぐことはできません。あなたが楽しむことも、誤用することもできるツールセットを与えてくれます。後はあなた次第です。

OOPに対する批判はありますが、おそらく真実でしょう。OOPは死んだわけではないかも知れませんが、世界が完全に支配していた時期は消えつつあります。関数型プログラミングはOOPとともに成長し続けています(しかし、非難はなかなか始まらないものですが)。そして、純粋なOOPは、GoやRustのようないわゆるマルチパラダイム言語(オブジェクト指向機能のよりスリムなセットを備え、従来のOOPのお荷物の一部を回避する言語)へと移行しつつあります。今後10年の間に、これらの言語が本当に始まったのかは、開発者自身のテイクダウンに取り上げられているのを見た時に分かります。それまでは、OOPを楽しんで、コードをクリーンに保って下さい。

Hacker News

8/01/2020

図書館は本を貸し出し、今後も本を貸し出し続けなければならない。Internet Archiveは出版社の訴訟への対応

Internet Archiveのブログより

ブリュースター・カーレ

昨日、Internet Archiveは、従来の図書館貸出のデジタル版に相当するControlled Digital Lending(CDL)(管理されたデジタル貸出)の実施を中止するために、4人の商業出版社が起こした訴訟に対する私たちの回答を提出しました。CDLは、デジタル学習者に幅広い図書館のコレクションを提供するための礼儀正しく安全な方法です。市販の電子書籍は便利ですが、私たちの図書館にある本のほんの一部しかカバーしていません。大部分がリモートになる秋学期に突入するにあたり、何世紀にもわたって購入され、現在はデジタル化が進んでいるコレクションから学ぶための最良の情報を学生に提供しなければなりません。この訴訟では何が問題になっているのでしょうか? すべてのデジタル学習者が図書館の本にアクセスできることです。そのため、Internet Archiveは、管理されたデジタル貸出を利用している何百もの図書館の権利を守るために立ち上がるのです。

出版社の訴訟の目的は、長年にわたって広まっている図書館の「管理されたデジタル貸出」という慣行を阻止し、このシステムを利用している何百もの図書館が利用者に電子書籍を提供するのを止めることです。CDLを通じて、図書館は、物理的なコピーが流通しない限り、入手した物理的な書籍のデジタル版を貸し出し、デジタルファイルは再配布から保護されています。これは、Internet Archiveの貸出図書館の仕組みであり、9年以上にわたって続いています。出版社は、著作権法がそれを許可しないと主張して、このライブラリを閉鎖することを求めています。私たちの回答は簡単です。著作権法は、図書館が本を所有し、本をデジタル化し、それらの本を管理された方法で利用者に貸す権利を妨げるものではありません。


この訴訟で何が問題となっているのでしょうか? すべてのデジタル学習者が図書館の本にアクセスできることです。そのため、Internet Archiveは、管理されたデジタル貸出を利用している何百もの図書館の権利を守るために立ち上がっています。


「オーサーズ・アライアンスには世界中に数千の会員がおり、公正な利用としてControlled Digital Lendingを支持しています」と、オーサーズ・アライアンスの創設者で、バークレイ大学法学部リチャード・M・シャーマン特別教授のパメラ・サミュエルソンは述べています。「パンデミックのこの時期に、出版社が基本的にInternet Archiveのようなデジタル公共図書館へのアクセスさえも遮断しようとすることは本当に悲劇的です… 私は、本を貸すことが違法であるという考えは間違っていると思います。」

これらの出版社は、デジタル学習者に最も利益をもたらす可能性のある時期に、この訴訟が管理されたデジタル貸出に冷ややかな影響を与えることを明らかに意図しています。学生や教育者にとって、2020年の秋学期は、最近の歴史の中で他に類を見ないものになるでしょう。K-12の学校から大学まで、多くの教育機関が公衆衛生上の懸念から、キャンパスを閉鎖したままにするか、共同スペースや本などの資料へのアクセスを厳しく制限することをすでに発表しています。私たちがしなければならない話し合いは、教科書から主要な情報源に至るまで、学生、指導者、研究者がどのように情報にアクセスすればいいのか?という事です。残念ながら、世界最大の書籍出版社のうち4社は、図書館の使命と、世界的な健康危機の中で教育システムを運用し続けようとする私たちの試みを両方を弱体化させようとしているように思われます。

世界の人口の10%は、読書能力に影響を与える障害を経験しています。これらの学習者にとって、デジタル書籍は生命線です。Internet Archiveに対する出版社の訴訟は、100万冊を超えるデジタル化された書籍の破壊を求めています。

出版社の訴訟は、管理されたデジタル貸出の慣行を終わらせることを求めることに留まりません。これらの出版社は、Internet Archiveが利用者に提供する150万冊のデジタル書籍の破壊を要求しています。この形式のデジタル書籍の破壊は、前例がなく、印刷ができない人たちに不当に不利益をもたらしています。視覚障害者にとって、電子書籍は生命線であり、アクセス可能な形式で存在するのはまだ10冊に1冊未満です。2010年以来、Internet Archiveは、目の見えるユーザに加えて、視覚障害者や印刷障害者のコミュニティにも貸し出しライブラリを提供しています。もし、出版社が訴訟に勝てば、100万冊を超える書籍がインターネットのデジタル本棚から永久に削除されることになります。

私は、アシェット、ハーパーコリンズ、ワイリー、ペンギン・ランダムハウスの幹部に呼び掛け、このパンデミックの間に、知識へのアクセスに対する差し迫った課題を解決するために、私たちと一緒に協力するよう呼びかけます。この不必要な訴訟を取り下げて下さい。

Hacker News

Twitterがセキュリティ・インシデントの詳細を公表

ジョン・グルーバーのブログより。😱

Twitter:

2020年7月15日に発生したソーシャル・エンジニアリングは、電話のスピア・フィッシング攻撃を通じて少数の従業員を標的にしました。攻撃が成功させるには、攻撃者は社内のネットワークと、社内サポート・ツールへのアクセスを許可された特定の従業員の資格情報の両方へのアクセスを取得する必要がありました。最初に標的にされた従業員全員がアカウント管理ツールを使用権限を持っていたわけではありませんが、攻撃者は彼らの資格情報を使って社内システムにアクセスし、当社のプロセスに関する情報を入手しました。この知識を利用して、当社のアカウント・サポート・ツールへのアクセス権を持つ他の従業員を標的にすることが可能になりました。攻撃者は、これらのツールにアクセスできる従業員の資格情報を使用して、130のTwitterアカウントを標的にし、最終的には45アカウントからツイートし、36アカウントのDMの受信トレイにアクセスし、7アカウントのTwitterデータをダウンロードしました。

この程度のレベルの詳細では、全く満足できません。Twitterは何が起こったのか、正確な詳細を明らかにすることに期待はしていませんが、これだけでは不十分です。私の推測では、攻撃者が電話で低レベルの従業員を標的にし、彼らを騙して詳細情報を手に入れ、それらの詳細情報を使って(ここから推測が始まります)、Twitterの社内Slack上で彼らになりすましたと言っているのではないかと思います。次に、Slack上で彼らになりすまし、他の従業員を騙して、非常に機密性の高いアカウント管理ツールへのアクセス権を得たのではないでしょうか?

明らかなのは、Twitterの社内は、非常に機密性の高いアカウント管理ツールへのアクセス権を共有することに、許し難いほどずさんだったという事です。

Slashdot

更新1: ジョン・グルーバーのブログより

Twitter社は、熟練犯罪者にやられた被害者ではなかったようです。この子たちはとても愚かで、自分の名前で開設したビットコインのアカウントを使用していました。実際の熟練ハッカーがTwitterから何を盗み出しているのか気になりますね。

更新2: シュナイアーのブログより

先週のTwitterハッキング事件で、フロリダの17歳の少年が逮捕され起訴されました

ニュース記事。Boing Boingの記事。フロリダ州の弁護士のプレスリリース

これは進行中のニュースです。コメントに追加のニュースを投稿して下さい。

Slashdot