yumetodoの旅とプログラミングとかの記録

旅や登山の記録やプログラミング関連の話とかフリーソフト紹介とか

Yahoo知恵袋のloadが遅すぎる

問題のページは

detail.chiebukuro.yahoo.co.jp

これだ。死ぬほど遅い。Chromeだとタブが死んでしまう。Firefoxだと重いscriptを止める機能があるので

止められるだけマシだが、我慢ならない。そもそもhttps://s.yimg.jp/images/search/slink/direct/pc/1.0.0/js/directlink.min.jsとはなんぞや。

https://s.yimg.jp/images/search/slink/direct/pc/1.0.0/js/directlink.min.js · GitHub

Webarchvesを辿って(といっても比較的新しいファイルらしく、先月からしか辿れなかった)Gistにまとめた。地味にgitの履歴改ざんのやり方が分からず苦戦した。

Firefoxで糞重いのをどうにか我慢して調べたところ

https://gist.github.com/yumetodo/15b51e1ebd8b86cd533e6c5087009ab2#file-directlink-js-L482-L496

        getMatchPosition: function(e, t) {
            var i, n = t.map(function(t) {
                for (var i = e.length;;) {
                    if (i = e.lastIndexOf(t, i - 1), -1 === i) break;
                    var n = /^[a-zA-Z0-9a-zA-Z0-9]/.test(t),
                        r = /[a-zA-Z0-9a-zA-Z0-9]$/.test(t),
                        o = /[a-zA-Z0-9a-zA-Z0-9][ \t ]*$/.test(e.substr(0, i)),
                        a = /^[ \t ]*[a-zA-Z0-9a-zA-Z0-9]/.test(e.substr(i + t.length));
                    if (!(n && o || r && a)) break
                }
                return [i, t]
            });
            for (i = 0; i < n.length; i++)
                if (-1 !== n[i][0]) return n[i]
}

どうもLinker.prototype.getMatchPositionが暴走しているらしい。勘弁してくれ。

sshで東京理科大学のLinux 環境を利用する方法

はじめに

東京理科大学のIT環境がいろいろクソな件は

東京理科大学の無線LANセキュリティ 傾向と対策 — 173210’s Blog

これまでさんざん言及されてきた。

ここで、

平成29年度の Linux 環境について

を見てみよう。なになに?「CentOS 5」から更新した?せやな、で何になったんだい?CentOS 7?

理科大CentOS 6です」 私「F**king!」

理科大にはLinux 環境がある

まあそんなかんじでツッコミどころ満載ではあるが、一応Linux環境が存在する。

ここで、学内からのみアクセスできる
リモートからの Linux 環境の利用方法
にVcXsrvを利用してアクセスする方法が載っている。

ん?Xがリモートで動くならSSHできるんじゃね?

SSHする

まず大前提当たり前だがVPSをつかうなり、理科大Wifiに接続するなりして学内ネットワークに入る必要がある。

あたりをみて設定してほしい。当然東京理科大学の学生である必要がある。

それからsshするために今回はmsys2を利用した。WindowsC++erをしてるなら当然持っているはずだ。

次にSSHする先のアドレスを調べる。リモートからの Linux 環境の利用方法の手順5に設定ファイルのダウンロードというのがあるが、ここで自分のキャンパスのファイル名を調べる。

([a-z]+[0-9]{3}).zip

という正規表現に合致するはずだ。これを仮にprefixとしよう(拡張子除く)。

ではsshする。

prefix= #先の正規表現に合致した部分
student_id= #任意の学籍番号
ssh ${student_id}@${prefix}.ed.tus.ac.jp

するとパスワードを聞かれる。学内システム共通のパスワードを入力しよう。

めでたくSSHに成功した。

$ git --version
git version 1.7.1
$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ clang --version
clang version 3.4.2 (tags/RELEASE_34/dot2-final)
Target: x86_64-redhat-linux-gnu
Thread model: posix
$ nano --version
 GNU nano version 2.0.9 (compiled 07:18:28, Nov 12 2010)
 (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 Free Software Foundation, Inc.
 Email: nano@nano-editor.org    Web: http://www.nano-editor.org/
 Compiled options: --enable-color --enable-extra --enable-multibuffer --enable-nanorc --enable-utf8

とかして悲しもう。

ChemBioOfficeがActiveXとかいう太古の技術に依存している件

化学をやっている人間なら名前くらいは聞いたことがあるだろう、ChemBioOfficeのお話だ。

東京理科大学では学生に無償で使えるように契約してくれているのでもちろん私も自分のPCに入れて使っている。

で、これが1年更新だ。ライセンスが切れたついでにChemBioOffice15からChemBioOffice16に乗り換えた。

install Window

ここでインストーラーのこの画像を見てほしい。

ん?ActiveX for IE??

ActiveXといえば開発元であるMicrosoftがすでに放棄した技術だ。地方税電子申告サイトeLTaxのサイトがJavaからActiveXに移ったことで袋叩きにされていた。

toyokeizai.net

ついでにいうとお隣韓国でも大問題になっている

japanese.joins.com

私はC++erではあるが、決してWebに無知というわけではない(仮にもみらいけんのWebページを未だに作り続けている)。当然このようなdeprecatedな技術にはNOを突きつけるべきだ。

ところがだ。これを見てくれ。

ChemDraw Rquire AciveX

The ChemDraw Control Panel requires a supported version of the ChemDraw ActiveX Control.

Registry key not found:
CLSID\{B8350810-35B3-46F8-AA9B-FC649FFF06DF}\ImprocServer32

いやいや、まてよ、何でんなもんに依存していやがるんだ?.NET全盛のこの時代、んなもん使わんでもできることくらい知っているぞ?

しかし現実問題としてChemDraw - Live link機能が使えないとお話にならない。

やむを得ずChemDraw ActiveX for IEChem3D ActiveX for IEをインストールした。

ちなみにcop16.0.1.exeからは特定コンポーネントだけインストールと言うのができないゴミなので、7-zipとかで解凍して、./Windows/PerkinElmer/ChemOffice/PerkinElmer_ChemOffice_Professional_2016.msiを実行するべし。