webは誰が破壊するのか?

結論から先に行ってしまえばそれはブラウザベンダです。

webの世界はXHTML2.0の凍結以来混迷を極め、誰もその全容を把握していません。xhtmlとhtml5の分裂、es4とes5の分裂、DOM Level 3とDOM4の分裂、2つURLの分裂。webの技術はあらゆる分断化が今もなお起こリ続けています。

たとえば、jsとesの差異が開いてきたことにはTC39は触れることはありませんし、js1.7/1.8で利用できた配列内包とジェネレータ式というモダンな動的言語では当たり前の機能が仕様に含まれることは、もう奇跡でも起きなければ無いでしょう。

DOM4では言語にesと、扱う文章をhtmlに限定してしまったため、xmlを正しく扱うためのapiや仕様は削除され、他言語ではDOM4をそのまま利用することも出来ません。Coreとそれ以外の仕様も整理されn無くなりました。これは、あってもどうせブラウザベンダが実装しないんですが。

そして、ブラウザのURLとそれ以外のURLは、いまや別物です。

webへアクセスするクライアントは昔からweb browserだけではなく色々なツール、アプリケーションがwebとそれに関連したURLなどの技術を利用しています。今日ではアプリケーション/サービス間の連携を重視する傾向にあるのでその趣が一層強いでしょう。

しかし、世界中の大多数の人々がwebの分断化が進んでいることを知りませんし、もしそのために自分自身が何か問題に出くわしてもそれを理解できないでしょう。なぜ、ロケーションバーにコロンの次にスラッシュが3つ以上あるURLを入力してそのページにジャンプできるブラウザとそうでないブラウザがあるのでしょう? なぜ、現在のECMA-262の仕様ではString prototype objectにlengthプロパティが定義されていないのにそれに準拠したjavascript engineではString.prototype.hasOwnProperty("length")trueを返すのでしょうか? なぜ、TPC/moduleは実装されないのでしょう?

これらは仕様に何かしらの問題があるため実装されず、または実装が後回しにされ、問題があるからこそ、古い仕様のまま利用され続けるのです。

また、ブラウザ以外も当然API・ライブラリを使いますが、ブラウザ以外の実装者は怒り、苦言と呈したとしても、それ以外のユーザーに何か理解できないことが起ったとしても、現状ではそれはなにも変わらないまま分断化した仕様は歩みを止めることはないでしょう。

そのため、断片化によって差異は広がり続けるでしょう。これが、break the webの真の正体です。決して下位互換が失われる事がbreak the webではありません。

WHATWGやTC39の主要メンバであるブラウザベンダはwebが自分たちのコントロール下にあり、webの技術を自分たちで策定していると勘違いしていますが、それは大きな間違いであり、大きな過ちです。

openJDKがoracleのコントロール下にあり、oracleがjavaの仕様を策定していますか? (java界隈の人たちに聞けばむしろoracleは自分の役目を果たしてないとか、このまま何もしない方がいいとか言われるかもしれませんが)OSS/java界隈でそのやり口が嫌われている嫌われているoracleですらそんなことはしません。

実際のところは大多数の人が知らない、閉鎖的で小さな場所で一部の人達によって分裂した新たな仕様が策定されweb browserという今日日大きな影響力を持つ特定のアプリケーションで実装されることにより、あたかもそれが多数派であるかのように振る舞い、影響を与えているにすぎません。

これは最近のゲーム業界の(とくに日本のゲームメディアではほとんど理解されていない)SJW(またはgamergate)問題と同じ性質を秘めた組織の政治的で、技術にとってはとてもくだらないが影響力の大きい難題です。

win10の認証

http://wl0c0w.hatenablog.com/entry/2016/05/25/075734

なんでこれアクティベーション方法がproduct keyになってるんだろう?
TH2移行で元OSのproduct keyでアクティベーションしてもバリデーションするだけでdigital entitlementになるはずなんだけど。

ここに書いてある

うちのも当然、digital entitlement。




電話対人アクチ失敗してお姉さんの管轄外になってproduct keyの再発行になるとアクティベーション方法がproduct keyになるんだろうか?

新たにWindows10用のライセンスキーを発行すると言われますとあるので再発行になっているのは間違いない。たぶんプロダクトID聞かれたかリモートで覗かれただろう。

クリーンインストールからやってるから「Windows はライセンス認証されていません」になってこの段階ではまだ無料ライセンスを持っていない状態で、そこから認証して、H/Wに問題があって再認証に失敗したんだよね。画像と同じエラーが出たらしいから0xC004C003==「product keyが無効です」エラーだろうけど、ISOからインストールした場合、

https://answers.microsoft.com/ja-jp/windows/forum/windows_10-windows_install/%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9/9148ce59-e60d-4fa2-8e45-c30db15d1fc0?auth=1
<自作 PC / XP / Vista の PC に Windows 10 ISO メディア ブートで、新規インストールした場合>
に該当するからAかBの選択肢になるんだけど、このケースでもproduct keyの再発行できるってことか。

でもこれだとアクティベーション方法がproduct keyに変わってる理由が説明できない。ということは先ほどのBのケースでもproduct keyの再発行ができて、さらにその場合、アクティベーション方法がproduct keyに変わるってこと?

いやなんかおかしい。windows store以外でOS買う(店頭でメディア版買うかどっかでデジタル版買う)か、ボリュームライセンス持ってないとproduct keyじゃなくてdigital entitlementになるんだけどどういうこと?

対人アクチ&再発行はwin7以降のいつもの対応だけどなんで無料アップグレード版win10で再発行になったらアクティベーション方法がproduct keyになってるんだぁぁぁ

ECMA-262 ed.7の仕様書について

SSやRSのsee alsoがなくなって参照性が悪くなっているので注意。

そのほかにもpdf版でブックマークから該当箇所にジャンプ出来なくなっていたり、文書全体が1段インデントされて一行の文字数が減ったうえに文字が小さくなっているので少し読みづらくなっている。

html版の左ペインにあるTOCからはジャンプできるのと、ブラウザなら自由にリフロー付きで文字サイズが変えられるのでこちらの方が読みやすい。読むなあらhtml版おすすめ。

前の版からの改善点は生成規則にアンカーが貼ってあってその定義に飛べるようになったり、章の段落が狂っていてガタガタだったのが直ったりしています。

rubyといえば

http://shinh.skr.jp/m/?date=20160616#p01

rubyは特段悪くない。rubyコミュニティがキモいんだ!
あと、ruby以前にperlが無理、読めない。

rubyの言語としての悪いところなんてendまみれとクロージャが変態なくらい。互換性? いいぞもっとやれ!

とにかくキモいのが問題。日本ではrubyはモルモン教とかよく言われるけど、あれはモルモン教じゃない。オモイデ教。
しかし、rubyコミュニティのキモさは上のブログでエモい表現されている部分に尽きるだろうけど、それがエモいだのモルモン教だの表現の違いだけでキモイと言われる部分は共通していると思う。

perl読めるか・キモい・運の3つがrubyがpythonの地位にない理由だろう。

moduleの話

moduleのプロパティのプロパティデスクリプタが変更できないクソッタレという話をいつかしようとしてたら本家に動きがあった。

Unambiguous JavaScript Grammarではcjsと2015 moduleを対比しているがそこは重要じゃない。2つ目の表を見れば一目瞭然。

https://github.com/bmeck/UnambiguousJavaScriptGrammar
https://github.com/tc39/agendas/pull/194