俺の話を聞いてくれ

もっとこじらせろ

FirefoxのWebextensionアポカリプスに備える(主要アドオンのWebextensions対応について)

はじめに

11月にリリース予定のFirefox57でFirefoxの拡張はWebextensionsで作られたもの以外が動かなくなります。従来の技術で作られた拡張はすべて死にます。 しばらくはabout:configでextensions.legacy.enabledtrueにすれば動き続けると思いますが、従来のAPIに関するコードは削除される予定なので動かせる期間はそう長くはないでしょうし、そもそも正常に動かないという報告もあります。

このWebExtensionsアポカリプス(もしくはFirefoxアポカリプス)に備えるために個人的に優先度が高いアドオンのWebExtensions対応についてまとめてみました。

対応済み/対応予定

μBlock Origin:対応済み

μBlock OriginはすでにWebextensionsに対応しています。Chrome版もあったので比較的移行は楽だったのかもしれませんね。

https://addons.mozilla.org/ja/firefox/addon/ublock-origin/addons.mozilla.org

代替アドオンあり

Stylish:Stylus

Chrome版のStylishは企業に買われ情報収集機能がついてしまいFirefox版のStylishがそうなってしまうのも時間の問題だと思われていましたが、それに対する代替アドオンがStylusです。
StylusはWebextensionsに対応しています。

https://addons.mozilla.org/ja/firefox/addon/styl-us/addons.mozilla.org

Greasemonkey:Tampermonkey

Greasemonkeyは未対応ですがGreasemonkeyのフォークであるTampermonkeyはWebextensionsに対応しています。

https://addons.mozilla.org/ja/firefox/addon/tampermonkey/addons.mozilla.org

Chrome版拡張の輸入で動く

OneTab

Chrome Store FoxifiedでChrome版のOnetabをいろいろやれば動きます。
詳細はこの辺を見てください。
rockridge.hatenablog.com id:RockridgeさんのブログやはてブFirefox使用者にとって非常に有用度が高いものばかりです。いつもありがとうございます。
追記:OneTabはWebextensionsに正式対応しました。 https://addons.mozilla.org/ja/firefox/addon/onetab/addons.mozilla.org

現状の機能の提供は多分無理、または更新されない可能性が高い

Classic Theme Restorer

FirefoxのUIを柔軟にカスタマイズするようなAPIは提供されていませんし、今後も提供されることはないでしょう。そのため作者もWebextensions版の提供を諦めています

Tab Mix Plus

WebExtensions版TMPのリリースにはコードの全面的な書き換えが必要なため決断的ドネートを必要としているようです。 また、後述の理由によりWebextensions化が完了したとしても今までのような柔軟なカスタマイズは難しくなるでしょう。

FireGestures

そもそも2~3年ほど前から作者の方の消息が途絶えてしまい更新は絶望的であったところに今回のWebextensions限定化…ということで更新による対応はまずないと考えてよいと思います。

従来の拡張とWebextensions拡張の違い

マウスジェスチャ拡張はFoxy GesturesというFireGesturesをWebextensionsで実装したようなアドオンもありますが、おそらく代わりにならないと思います。
Webextensionsは基本ChromeのExtensions APIを基にしているのですが、セキュリティ的な制約が以前と比べるとかなり厳しくなっているためです。
たとえばFirefoxのビルトインページ(例:アドオン一覧ページなど)ではジェスチャが効きません。ホイールジェスチャでタブを移動していてもアドオン一覧ページがタブの途中にあればそこでジェスチャは止まってしまいます。これが地味にイラつきます。

最近実装された公式スクリーンショット撮影機能であるFirefox ScreenshotsもWebExtensionsで実装されているのですが、アドオン一覧ページを撮影することはできません。
f:id:point2000:20170913220121p:plain
こんなエラーメッセージが出てきます

また、ChromeChromeウェブストアが特別なページ扱いであるようにAMO(addons.mozilla.org)もFirefoxにとって特別なページ扱いのためそれらのページではマウスジェスチャスクリーンショットなどの拡張由来の機能は動作しません。

個人的にはタブ機能のカスタマイズとマウスジェスチャ周りは標準機能としてほしいのですが、
主要モダンブラウザ(ChromeFirefox、Edge)でそれらを実装しているブラウザはありません。
これからそのような機能が欲しい場合はどうしても派生ブラウザに頼る必要があります。

さいごに

ここまで書いていてなんですが、なんつーか備えないでVivaldiあたりに移行したほうが早いんじゃねえの?って思いました。
それとはてなは放置しているはてなブックマーク拡張をなんとかするべきだと思います。
id:thraktさんの作成した簡易的なアドオンはあるのでしばらくはそれで何とかしていきたいです。
この拡張はソースも公開されており、Webextensions拡張の基本を知るための良い教材となっています。この場を借りて御礼申し上げます。 https://addons.mozilla.org/ja/firefox/addon/show-hatenabookmark-count/?src=apiaddons.mozilla.org

追記:はてなブックマークもWebextensionsに正式対応しました。Chrome版の移植のようです。
https://addons.mozilla.org/ja/firefox/addon/hatena-bookmark/addons.mozilla.org

住民でもわからない空前の梅宮辰夫ブームの経緯

f:id:point2000:20170511212209j:plain

学園祭開催直前の深夜(5/3日未明)、お客様による画像詳細スレが複数建つ。
しかしその画像はどれも左右に黒帯がついた極めて特異な画像であった。
f:id:point2000:20170511213057j:plain (例えばこういう画像です)

大空寺方式で「気配りの達夫」→「気配り辰夫」が完成。梅宮じゃねーか!!
ということで梅宮辰夫のエロ画像ということになる。

梅宮辰夫を知らないお客様はそれが本当の詳細だと勘違いし梅宮辰夫の詳細を聞こうとする。
当然Wikipediaの記事が引用される。
梅宮辰夫 - Wikipedia

お客様が建てた別のスレでは「中尾彬RX」が完成。

お客様が自分は16歳でVitaのメモリーカード(64GB)の1/6がエロ画像や動画で埋まっているとの自分語りを行う。
どうやらスレ建てもVitaから行ったようで、前述の黒帯もVitaでスレを建てたときに発生する事象であった模様。

その自分語りからお客様(16歳)のVitaには梅宮辰夫や中尾彬のアナル画像・動画が10GB以上ためこんでいいるという設定になる。

祭り開催。梅宮辰夫や中尾彬などの画像のスレが乱立しカタログがタレント名鑑となる。

そしてクンリニンサンが介入、各種タレント画像で建てられたスレッドが片っ端から削除・スレを建てた住民もアク禁される

チキンレース開始
(例:福笑い)

f:id:point2000:20170503071609j:plain

学園祭当日にも梅宮辰夫のお面などが配布されました。

報告は以上です。間違いなどがあれば連絡をお願いします。

貧乏人がiPhone6sなんて買ってるんじゃねえ!!

www.momijimom.net

そもそもこの手の人達はなんでAndroid端末を使おうとしないの!?まさかiPhoneスマホは別だとか思ってる人種の人!? ていうか端末代金が月5,860円ってどういうこと!?

www.softbank.jp

これで確認したって最高級のiPhone 6s Plus 128GBでも端末料金は月額5,520円だよ!このブログの人なんか色々おかしい!

というかiPhoneはやめようよもう

この国じゃiPhoneは相変わらずすんげー人気だけどアホみたいに高くなる一方じゃないですか。
iPhone6sの端末料金を見てくださいよ。

iphone-mania.jp

一番安い16GBモデルでも8万~9万代なんですよ!無茶苦茶だ!最高級の128GBモデルなんてもうちょいとしたモバイルノートも買えちまうトンデモ価格だ!
それを24分割して月々割なんかでちょっと安くしたところで月々の携帯代が8000~1万になるのは目に見えてるんですよ!!
iPhoneSEは割と安い価格設定で出るって話ですけどね!!

まあなんにしたってiPhoneは上級国民様の端末なんですよ。貧乏人が使うもんじゃない…

貧乏人は格安SIMとSIMフリー端末を使え

自分はOCNモバイルONE(電話できて1日110MB通信できて1700円くらい)+HuaweiのP8Lite(端末価格3万くらい)で滅茶苦茶安く済んでます。
電話はきません。ぼっちなんで。親など最低限の連絡はLINEでやればパケットは消費しても無料ですし。 まあさすがに次はもうちょっと、具体的にはメモリを3GB以上積んでるスマホが欲しいですけどね…
ASUSが新機種を発表する6月辺りまでは今の感じで行きたいですね、はい。

貧乏なら少しは頭を使いましょうよ

貧乏だ貧乏だ金が貯まらねえといいながら毎日飲み屋に行く奴はアホでしょう?同じ事ですよ。
お金がないのにブランドもののバッグやスマホを使っているのもアホのやることです。 貧乏なら頭を使って自分の生活を最適化させましょうよホント…

ほんっといつも思うけどなんでそういう人達が結婚できたり子供がいたりするのに俺はぼっちで休日は引きこもるような人間なんだろうなー…
お金払うからその辺を助けて欲しいよ俺は…

AdBlockを弾くFuckAdBlockを弾くFuckFuckAdBlockについて

Adblock、使ってますか?自分はuBlock Originを使ってます。この手のアドオンでは一番軽くておすすめです。

addons.mozilla.org

でも最近、やたら広告ブロックを弾くスクリプトを使っているサイトが増えてませんか?
有用なサイトならホワイトリストを使って広告を表示させるんですが、大体はPV稼ぎや炎上狙いでホントイラつきます。
AdBlockを解除してでも見たいような有用なサイトなんて殆どない」という言葉は僻みでもなんでもなくみんなの素直な気持ちだと思います。

そういったクソみたいなサイトの多くはFuckAdBlockというスクリプトを導入しています。
広告非表示アプリの類を簡単に検知できるスクリプトなので利用しているサイトが増えているみたいです。

github.com

WordPressに簡単に組み込めるプラグイン複数あります。

wordpress.org

az-tr.wordpress.org

しかしこの手の世界はいたちごっこが常なもので、これに対抗するユーザースクリプトも存在するわけです。
それがFuckFuckAdBlockです。

github.com

こちらもブラウザに簡単に組み込めるアドオン版があります。

addons.mozilla.org

chrome.google.com

今後これに対抗するFuckFuckFuckAdBlockやFuckFuckFuckFuckAdBlockが延々とリリースされ続けるのかもわかりませんが、
そういう不毛なことをするくらいなら信者を増やす記事の質を上げたらいいんじゃないですかね…
ホラ、イケハヤも有料Noteに切り替えたという話ですし。
有料にして記事の質が上がるかどうかについては知りませんけどねー

住人でもわからないモアイ板誕生のいきさつ

どこの話だよというのは内容で察してください

外部で行われている艦これ改のプレイ配信を実況するスレが建つ。(スレ画は↓)
f:id:point2000:20160225195757j:plain
スレの勢いは建てる度に1000以上のレスがつくほどの勢いとなり、乱立状態となる。

艦これ改をバカにされることに怒った繊細な提督たちが配信スレにdelを集中させる

delが乱発されるのでクンリニンサンが介入、配信スレの削除を始める

上記の画像に似た画像のスレを建てるチキンレースが始まる

モアイの画像が貼られる
f:id:point2000:20160225195814j:plain

モアイ祭りが開催される

クンリニンサンも祭りに悪乗りしてモアイ板が誕生

間違いがあったら教えてください。
まあいつもの感じですね。特にチキンレース開始からの流れはキメこな誕生の流れとよく似ています。

スネップ仙人さんのこと。

貧すれば鈍するというのは本当の話なんだろうなあ…

snep1000.hatenablog.com

この記事でこの人(id:mfigure)のことを知ったのだけれど、自分はガジェット野郎なので最初は「自分でオンボロスマホを買っておいてドコモの白ロムは買わない方が良いだなんて間抜けなことを言う人だなあ」だなんて思っていたのだけれど、
彼の他の記事を見て現在かなり彼がキツい生活状況で、切羽詰まっていると言うことがわかってからはもうどうすれば良いのか分からなくなってきた。

彼は自己紹介で書いているとおり50代の引きこもりだ。貯金を崩しながら生活しているので来年の四月まで保つかどうかという所らしい。
それでいてポイントサイトで小金を稼いで生活費のあてにしようとするのを見るとなんだか見ていてとても辛い。
費やす時間に値するリターンが帰ってきているとは到底思えない。

snep1000.hatenablog.com

彼は一発逆転のためにアフィリエイトで生活費を賄おうとしているらしい。でも正直な話それでまともに生活できるお金を稼げている人ってごく一部だよね…
もし貯金が尽きたらどうするのだろうか?生活保護に移行するのだろうか?それとも犯罪性の低い犯罪で刑務所に入るのだろうか?
どっちにしても彼の幸福に至る道であるようには思えない…
彼がなぜ引きこもりになったのかは分からないけれど、まずは少しでも社会復帰を目指した方が良いのではないかと思うのだけれど、どうだろう…

もしよろしければ自分が相談に乗りたいと思います。
公開された場で相談するのがキツいというのならSkypeで連絡を下さい。このブログのID+iciが自分のIDです。

というか引きこもって在宅ワークで貯金を崩しながら生活している人ってそれなりにいるのね…id:amazu81さんとか…もしよろしければ連絡を下さい。相談に乗ります。

非エンジニアでもきっとわかるツクールMVの問題点と凄いとこ、あとライセンスの件 #ツクールMV

はじめに(言い訳)

ツクールMVを機にゲームを作ろうとしているJavaScriptを仕事で使っている程度のクソザコナメクジエンジニアの自分がツクールMVに関して取りざたされていることについて色々と書いてみようと思います。
できる限り技術的な話を抜いて話をしていますが分からないことがあったらコメント欄かTwitterで質問してください。
また、この内容は事実を元にした憶測・妄想が多分に含まれているのであまり信用しないでください。

「今までと大して変わらないくせにやたら重い」か?

エディタはVXAceの頃とそこまで変わっていない。デスクトップアプリとしてゲームを吐き出して遊んでみるとなんだかVXAceの時よりも重いしメモリもやたら食う。
「マルチデバイスに対応だなんて誇大広告じゃないか、スマホ用に出力したいのなら自分で環境を用意する手間があるじゃないか」と言う人も少なからずいるとは思う。
そう思われても仕方が無いだろう。今回はHTML5ベースにすることによって半ば無理矢理マルチデバイスに対応したのだから。

JavaScriptで実行環境が構築された理由

なぜHTML5ベースになったのか、その大きな理由として「角川のツクール事業部に予算が無いから」ということがあるのではないかと個人的には考えている。 Rubyで行えるかどうかはともかくとしても今までのように中間コードを吐きつつマルチプラットフォームに対応することはもちろん可能だ。少なくともUnityはそれをやっている。 Unityの場合、VM(仮想機械)をアプリに同梱させ実行するという形式を取ることでiOSAndroid上での動作を実現させている。

iPhoneでC#アプリが審査に通るワケ − @IT

だがそれを実装させられるほどツクール事業部に予算も人的リソースの余裕も無いのではないだろうか。少なくともゲームエンジン専売企業であるUnityよりも予算はずっと少ないはずだ。
手っ取り早くマルチデバイスを実現させるためにVMの部分をブラウザに置き換えたのだ。

ツクールのように動作処理部分をブラウザに依存することで簡易にマルチプラットフォームを実現させているアプリは一般的にハイブリッドアプリと呼ばれている。
確かにそちらの方がコストがかからないだろう。VM方式の場合はいちいち対応対象のOSごとにVMを最適化する作業なども必要で人員や金が必要となってしまう。実際UnityもMonoというVMをカスタマイズして使っている。だがハイブリッドアプリならその辺も中身のブラウザに任せてやるだけで良い。

その他の理由の一つとして金銭面の問題以前の問題としてPC向けツクールがこれまで極めて少人数で開発されてきたツールであるということもある。
実はPC向けのRPGツクールは「DANTE98II」(96年発売)から20年近くにわたり一貫して尾島陽児という人物が関わっている。あの伝説的なツクール2000も、(微妙な2003も)、XP、VX、VX Aceも、そして今回のMVもメインのプログラマは彼だ。(彼がほとんど一人で作っているという噂さえある)それは開発体制が極めて小規模であると言うことも意味している。

今回のスタッフクレジットのプログラムの部分を見てみよう。

■ システムデザイン・プログラム

尾島陽児

■ プログラム

木村壮哉 ENTACL GRAPHICXXX

ENTACL GRAPHICXXXという企業はウェブ制作がメインなので公式サイト制作にも名を連ねているが、JavaScriptを駆使したハイブリッドアプリの制作実績もあるようだ(ちなみに木村壮哉はENTACL GRAPHICXXXの開発部テクニカルディレクターである)。しかし企業の規模はそこまで多くない(社員数は18名程度だという)ので今回ツクールMVの開発に参加しているスタッフも多くて数人と言ったところだろう。
このクレジットからも開発のメインを尾島氏が、ENTACL GRAPHICXXXがそのサポートを行っているという構図が見て取れる。世界を股にかけて求人を出しているUnityと比べたらあまりにも規模が小さい。

しかしこれらの点はゲーム実行エンジンとしてのツクールがコンパクトにまとまっていることも意味している。実際にソースコードを読むとそのコンパクトさがよく理解できる。JavaScriptという言語の奥深さもソースを読むことで理解できるのでJavaScriptゲームエンジンのための良い教科書になるのではないだろうか。
また、実行環境がブラウザであるということは無限のポテンシャルを秘めているということでもあるのだが、技術の話になるので今回は置いておく。

「本格的にゲームを作りたいエンジニアはUnityで作る」か?

そんな風に言う人もいる。
確かにUnityはエンジニア向けのゲームエンジンではあるがUnityは基本的に3Dのゲームに特化したものだ。
Unityも最近では2D機能を強化しているが、それでもUnityで簡単に作れるのはアクションゲームでありRPGのようなゲームを作るには色々と考えなければならない部分が多い。
特にツクールでいうところのイベントコマンドのような簡易命令記述機能が標準で存在しないため、制作コストも高い。(エディタに相当する部分は有料アセットで存在してはいるものの色々と設定が面倒くさい上にツクールと比べたらやはり機能が貧弱である)
素材も規約上ツクールのRTP素材やその改変素材が一切使えないので制約が大きい。自分で素材を作った方が早いだろう。
2Dに特化したCocos2d-xというゲームエンジンも存在するが結局は似た問題にぶつかってしまう。(個人的にはC++を今から勉強するというモチベーションは…UnityのC#ならまだしも)
2DのRPGやアドベンチャーを作る上でツクールというゲームエンジンはUnityよりもずっと進んでいると考えて良いと思う。
第一、RPGとしての基本的なシステムが最初からJavaScriptで実装されているゲームエンジンというものを少なくとも自分は今までに見たことが無い。(あれば教えてください)

逆に言えば2Dアクションゲームを作りたいのならばUnityに手を出した方が良いかもしれないということでもあるのだが。

JavaScriptとかよくわかんないしスマホにゲームを出力するのも興味ないんだけど買う価値あるの?」

正直な話MVの価値はその2点に集約しているので、従来通り素材屋のスクリプトを利用し(自分でスクリプトを組まず)ゲームを作りかつ今まで通りPC向けのみに向けたゲームを作りたいという場合はVXAceのままでもあまり問題は無いと思う。発売から年月が経っていることもあり素材もそちらの方が豊富に揃っているのも動かしがたい事実だ。
また、現在発覚しているメモリブロート問題以外にも未知のバグが多数潜んでいる可能性があるのでその点を不安視している場合は購入を焦らない方が良いかもしれない。
個人的にはそういったバグもユーザレベルで治せてしまうのでその点を面白いと感じる場合は今すぐ予約するべきだと思う。

「要するにエンジニアが面白いおもちゃを貰って喜んでるだけだろ?」

その通りです。だって面白いんだもん。勉強にもなるし…サイの本も注文しちゃった…
俺、もっとJavaScriptの事を知りたくなってきちゃったな…これが、恋…?

JavaScript 第6版

JavaScript 第6版

ユーザ丸投げ問題

今までの公式放送を見る限り、角川側は公式コミュニティを作る気は無いらしい。 この問題がよく言われるのは海外では海外版の販売元であるデジカ社が公式フォーラムを作っているという所が原因としてある。

個人的にはすでにいくつかのユーザーコミュニティができているためあとはそれに任せれば良いと考えているのだが、コミュニティを作る気が無いと言っておきながらSlack(注:技術者向けのチャットのようなサービス)は作っているという話なので個人的にはかなりむっときている。
技術の話が外になかなか出てこない理由はエンジニア同士がSlackで完結させてしまっているからなのではないだろうか(という被害妄想を起こしている)
そういうことをするくらいなら誰でも見られるオープンな技術系フォーラムを作ってそこで議論を行って欲しいと思う。

本音を言えば自分もSlackに招待されたいけれど、ツクールや技術に関して実績の無い自分が呼ばれることなんてあり得ないというのも良く理解しているつもりなのでわがままを言うつもりは無い。

また、先行ユーザ向けフォーラムでどのような議論が行われているのかもなかなか見えてこないのでその点についても今後どうするかと言うところをアナウンスして貰いたい。

おまけ・ライセンス違反の件について

最後に、2chなどで「ヘルプの通りに暗号化するとライセンス違反になってヤバい!!」と言った話題があったのでその点にも言及したいと思う。
これはつまりどういうことかというと、パッケージ化の際に公式のヘルプでは全てのファイルをパッケージングしてしまっていて、それでGPL汚染が起こってしまうという話である。

GPL汚染とはGPLライセンスLGPLライセンスのライブラリを内部に取り込む(これを静的リンクという)ことでそのライブラリを使用した制作物のライセンスもGPLとなってしまい(これを汚染という)、ソースの公開義務が発生してしまうという問題である。
具体的にはffmpegsumo.dll(音楽ファイルのエンコードを行うライブラリ)がLGPLであるようだ。

この辺の解釈は極めて面倒くさいことになっているので、具体的な解説はできない。人によっても「静的リンク」の解釈が異なることもあり収拾が付かないのでとりあえず

qiita.com

ここで言うところのwwwフォルダのみを圧縮し、圧縮したリソースをgame.exeと統合する、という手順を取れば見られたくない最低限のリソースと面倒くさいライセンスを同時に守ることができるだろう。

ちなみにブラウザで実行する場合は件のライブラリを使用していない、それ以前にそもそも全てのリソースが丸見えになってしまっているため全く問題が無い。