2019年2月22日金曜日

WordPress のハンバーガーボタンがスマートフォンで動作しない

症状:WordPress のハンバーガーボタンがスマートフォンで動作しない

原因:Autoptimize プラグインの JavaScript 設定が問題だった

対処:チェックを入れるのは ① JavaScript コードの最適化 と ② Aggregate JS-files? の2カ所だけにする


Webサイトの高速化は、Google の評価からも重要なことは言うまでもない。
指標を調査してくれる PageSpeed Insights はサイト運営者には欠かせないものだ。

多くのサイトは WordPress が利用されている。
豊富なテーマやプラグインが魅力的な上に、カスタマイズの自由性、オープンソースであることなど、正直ケチのつけようがないほどだ。

高速化のプラグインも数え上げれば枚挙にいとまがない。

その中でもユーザー数が多いのは、 Autoptimize だろう。
手軽にチューニングでき、速さを実感できるのが確実だからだ。

とはいえ、デリケートなチューニングオプションも存在するため、よくわかっていないのに設定したために意図せぬ動作を引き起こすこともある。

今回がそうで、某公益団体の WordPressサイトで「WordPress のハンバーガーボタンがスマートフォンで動作しない」という症状が発生した。

動作しているプラグインを停止させ、問題の切り分けを行っているうちに、Autoptimize が原因であることに行き着いた。

設定を見直し、下の内容に変更してキャッシュを消去すると正常な動作に戻った。

Autoptimize 設定















この設定でも PageSpeed Insights では評価91点なので、申し分ないと思われる。

2018年12月22日土曜日

uBlock Origin で 要素フィルターの無効化

症状:uBlock Origin が Twitter のタイムラインを非表示にしてしまう

原因:Fanboy’s Social Blocking List に ##.twitter-timeline が登録されているため

対処:Myフィルターに #@#.twitter-timeline と登録して打ち消す


数あるブログの中でも、絶大な人気を誇っているのが WordPress だ。

有名な5分間インストールに始まり、テーマのカスタマイズやプラグインの導入など、とかく速さと簡便さで右に出るものはいないと言えよう。

ブログのウィジェットとして Twitter を埋め込むことも容易だが、さてここで一つの障害に突き当たることになった。

それが、広告ブロッカーでのタイムライン非表示問題である。


AdBlock や uBlock Origin など、不要な広告を除去するためのアドオンは、広告収入を期待するサイト運営者には毒だが、広告の嵐や邪魔なポップアップを出すWebサイトに対する有効な防衛手段である。

# 当サイトはアフィリエイトやアドセンスはおろか、訪問者にすら無頓着なため、無用の長物ではないだろうか? そもそも備忘録を垂れ流しているようなものだから、表示速度にだけしか意識が向かない。


上記の広告ブロッカーに最初から登録されているフィルターは優秀で、多くの無用な表示を不可視の存在に変え、快適なWebブラウジングを提供しくれる。

ただし、フィルターの中には必要以上に除去をしてくれるものも存在する。

SNS系のタイムライン表示を見たくないユーザーには  Fanboy’s Social Blocking List はとても有効だが、Twitter のタイムラインだけは必要な場合でもお構いなしに消してくれる。というより、表示していることすら気がつかない。

ブログのパーツに導入したはいいが、自分のブラウザーからは見えずに不便を被ることになってしまう。


そうなると「一部のフィルターだけ無効化(許可)したい」という欲求が出てくるのも自然だ。


無効化フィルターの文法は汎用性を持たせない限り平易である。

@@www.ooopppp.qqqq.com

のように、URLの頭にアットマークを二つ入力すればいい。


しかしながら、要素に対してかけられたフィルターを無効化したい場合、どうすればいいのか。はたと困ってしまった。

あちこち検索するが、今ひとつ要領を得ない。

サイトごとにホワイトリストを登録して対応するのが一般的な方法らしい。だが、ひどいサイトでは「一時的に 広告ブロッカーを停止させる」とか、「別ブラウザーで閲覧する」ようにしているとの説明がなされている。

いやいや、便利を不便にしてこその IT だろう。と、ひとりツッコミを入れてフィルターの書き方を調べたところ、要素の項目は

#@#.xxx-yyyyy

のように #@# の後に要素を表記すればいいらしい。(老婆心ながら付け加えておくと、要素の初めにあるピリオドを忘れてはいけない)

したがって、 Twitter のタイムラインを表示させるには、冒頭で示したとおり、

#@#.twitter-timeline
とすればよいのである。


わかってみればこんなにも簡単なことを、どうして単純に解説してくれるサイトがないのか……。
調べ方が悪い、と言われればそれまでだが、釈然としなかったのでここで記事に残しておく。

2018年11月15日木曜日

RamDisk を exFAT で運用する

状況:NTFS の RamDisk を exFAT で運用したい

対処:RAM-Storage Driver を導入し、 4097MB 以上に設定する


Windowsシステムの高速化のためや、SSD の消耗を防ぐ用途として、一時ファイルに RamDisk を用いるユーザーも少数ながら存在するはず。

これまでは有料の I・O DATA の RamPhantomEX を使用してきたが、Windows10 には正式対応していない上にメーカーが公開終了してしまい、代替ソフトウェアを探す必要が生じていた。

有料だけあって UI/UX がよく、安定性も抜群なのだが、二つの欠点があった。

1.自動フォルダ作成機能がない
2.FAT32 か NTFS しか選べない

1.については、RamDisk を新設するたび、自分でフォルダを新規作成しなければならず、TEMPフォルダとして活用するには余分な再起動を必要とした。

2.については、OSイメージ等の 4GB を超える巨大ファイルをダウンロードする際には NTFS しか対応できない。NTFS は HDD には良いファイルシステムだが、メタファイルを作成して余分に領域を確保してしまう。ファイル数が多ければなおさらで、しかも減ることはないため、ゴミ領域が拡張されていくのだ。

そこで、exFAT である。このファイルシステムに対応した RamDisk は種類が少なく、知る限りでは RAM-Storage Driver のみだ。しかも国産のフリーウェアで不具合も少ないときたら、もはや選択の余地などない。

さっそくインストールしようとしたのだが、おや? FAT32 と exFAT がグレーアウトして選べないではないか――。


Windows10 だからか? サービスの停止をし過ぎたせいか?
あれこれ試行錯誤しているうちに、ふと容量のことに思い当たる。
現在の設定は 4096MB、すなわち 4GB である。

ファイルサイズが 4GB まで対応する FAT32 なら、それ以上にすれば良いのではないだろうか。

試してみると、ちょうど 4097MB から設定変更できるようになっていた。


Readme.TXT や検索した Webサイトには説明を見つけることができなかったので、ここに記しておく。

あと、当環境下におけるベンチマークは下の通りだ。


CPU: i7-3770(定格)
Mem: 16GB(DDR3-1600 8GBx2)


2018年10月23日火曜日

TX100 S3pで Windows10 のインストールに失敗する

症状:Windows10 Pro x64 をクリーンインストールするとエラーが発生して進まない

原因:PCI-E に USB 3.0 のカードを増設していたため

対処:PCI-E には グラフィックカード以外は差さない

Fujitsu の名サーバーである TX100 S3p を所有しており、長らくローカルのサーバーとして活用してきた。職場が変わって使う機会がなくなったため、パーツを追加・交換して Windows10 を導入してみることにした。

CPU: Core i3-2100
Mem: DDR3 ECC 1333MHz 8GB (2GB*4)
GPU: Nvidia GeForce GT 430 (ファンレス・x8運用)
HDD: 320GB*2 (起動が遅いのでRAID → AHCI)
PCI-E: USB 3.0 2Port (Renesas Electronics µPD720200)

といった構成になった。

およそ7~8年前のスペックだが、動画処理もゲームにも使わないのだから、別段、問題は生じない。CPUは論理4コアもあれば十分だし、Windowsサービスも不要な物は停止すればメモリは 8GB でお釣りが来る。動画再生は DXVA に対応していれば、フルHDで遅延もない。

さて、何はともあれインストールである。

Windows10 の ISOファイルを Microsoft Windows and Office ISO Download Tool でダウンロードし、Rufus で USBメモリに書き込んでインストーラーにする。あとは TX100 S3p の USB 2.0 側のポートに差せば完了だ。

……が。何度やっても、

問題が発生したため、PCを再起動する必要があります。自動的に再起動します。

QRコード付きのブルーバック画面になってしまう。

ダウンロードした ISOファイルのハッシュチェックを行ったり、BIOS の確認をしてみたりしたが、繰り返すエラーに辟易とするだけだった。

こんな時は問題の切り分けとして、構成を単純化してしまうのが良い。

試しに USB 3.0 の PCI-Eカードを抜いてインストール作業を始めると……まるでトラブルでもなかったように進行するではないか。

Amazon で購入したメーカー不詳のカードとはいえ、Linux(Basix 3.0 x64)では快適に動作していたし、別PCの Windows 8.1 ではドライバさえ入れれば不具合はなかった。

まさか、装着しているだけでエラーを起こすとは。

Windows10 は以前の OS に比べてエラーに弱くなった。
Windows9x 時代はドライバ関連で BSoD を吐くことが多かったが、その頃にまで遡ったかのようだ。

ひたすら従順を押しつける、巨大化したアプリのようなOS。
それこそが Microsoft Windows というものなのだろう。


追記
別メーカーの同チップカードを装着したが、やはり上記の BSoD が……。
どうやら µPD720200 の USB 3.0カードは Windows10 において鬼門のようである;

さらに追記
三回の再起動で自動修復が行われるが、その折に認識するようになった。
Renesas ドライバが入っているが、どうなっているのやら;

2018年10月7日日曜日

タブレットの充電はストレートに

症状:Teclast P80 Pro で充電できない

原因:延長ケーブル+コネクタ変換で接続したため

対処:充電器から、単体の USB2.0 Type-microB ケーブルで接続する 


今年の7月、ASUS の名機・ME572C をバッテリー交換時に、フレキシブルケーブルを破損して文鎮にするという失態を演じた。

代替として、京セラの WX10K を持ち出して凌いでいたが、OS が Android 4.2.2 であるため、TLS1.2 以降の対応ができず、使用できないアプリや閲覧できないWebサイトが増えてきた。

3ヶ月経ってようやく購入の意思が固まり、ME572C と同程度のタブレットを購入することとなった。

ところが現在、Androidタブレットの成長は失速し、良品質な製品に出会えない状態にある。

ASUS は高額か、そうでなければ低性能な廉価モデルしか世に出しておらず、魅力はなくなってしまっている。NEXUS7(2012) が良品だったので、ME572C を購入したというのに、もはや見る影もない。

そんなわけで、5年ぶりぐらいに中華タブレットに手を出すことになった(ASUSも台湾なのだが、別枠と考えている)。

購入したのは Teclast P80 Pro 16GB である。

以前ほどの快適さはないし、タッチも鈍い気がするが、書籍と動画、Webブラウジングぐらいしか用途はないので、バッテリー保ちと液晶画面にさえ納得できれば十分である。

そのバッテリーだが、わりと減りは早い。ME572C が8時間使用できたことに比べれば、60%といったところか。iBattery を導入したので、スリープ時は長持ちしてくれることを期待しよう。

おっと、まるで P80 Pro のレビューのようだ。本題に戻ろう。

これまで充電器は、ME572C 付属のものを使ってきた。使用スマートフォンも Zenfone2 Laser なので相性も良いと思う。だが今回のタブレットは、必ず 2A出力で充電するようにと指定があったため、推薦された充電器も併せて購入した。

さて、このタブレット。USBケーブルを接続すると充電モードに入るが、20秒もしないうちに充電が終了してしまう。

変だな、と思って検索すると、急速充電に対応している機器は、妙な構成での充電はおかしくなるという記述があった。(奇しくも Teclast製のタブレットの記事である)

そう、ASUS の充電器に USB3.0 の延長ケーブルを挿し、そこから USB2.0 Type-microB の変換ケーブルをつないでいたのだ。

付属の白い USB2.0 Type-microB でつなぐと急速充電に入ったのか、すぐに充電メーターは1%上昇し、途切れることもなくなった。

電子機器は変な構成で運用するものではないな、と思い知らされる一件であった。

2018年9月30日日曜日

メールアドレスの流出チェック

問題点:Have I been pwned? と Firefox Monitor では検出結果が異なる

 情報漏えいのインシデントがかなりの頻度で発生しているのは周知の通りである。

その中でアカウント情報の流出は、ユーザーがどれほど注意を払っていても、企業が“やらかしている”のでどうしようもない。発覚したらアカウント情報の変更/サービスの退会という、後手に回る対応しかとれない。

さて、データベースごとアカウント情報を盗まれると、その母体と呼ぶべきメールアドレスとパスワードの両方が明るみに出てしまう。もっとも、パスワードは通常ハッシュ化されているので、それほど気にしなくても良いのかもしれないが。

メールアドレスはそのまま流出しているため、迷惑メールが届くようになったり、勝手にWebサービスに登録されたりと、当然ながら悪いことしか起きない。

毎回捨てアドレスを利用できる状況とは限らないため、、エイリアスでの登録やYahoo!メールのセーフティーアドレスが有効なのだろう。

話を戻すと、メールアドレスの漏えいを確認できるサービスで、悪いデータリストに登録されていないか調べてみたくなるのが必然だ。

現在、 Have I been pwned? と Firefox Monitor の2種類の漏えい確認サービスが登場している。これらのサービスがメールアドレスの収集を目論んでいるかどうかはさておき、試してみることにした。

Have I been pwned? と Firefox Monitor はおそらく、確認用のデータベースを同一のものとしているはずである。にもかかわらず、私が持っている、迷惑メールの届く二つのメールアドレスは、その両方が次の結果を示した。

漏えいが確認された = Have I been pwned?
漏えいはないようです = Firefox Monitor

これがいったいどういうことなのか……気になるところである。

2018年9月18日火曜日

PX-S1UDの受信状況改善

症状:PX-S1UDで地デジ放送の一部がドロップ/エラーで視聴できない

原因:USBポートの電圧不足/ノイズ混入によるもの?

対処:ブースター電源供給を USB2.0ポート から USB3.0ポートに接続場所を変更した 


 最近はテレビ離れが顕著だそうだが、興味と仕事柄でNHKや状勢の解説番組のチェックは欠かせない。

 私室にはテレビを設置していないものの、古いアンテナ線は届いているので、PC2台へ分岐させて録画・視聴していた。

 それぞれ PX-W3PE v1.3 を装着しており、アンテナ線をマスプロの3分配器で接続している。

 さて、たまに3番組の録画が重なることがあり、昔に買った PX-S1UD を必要とする場面が訪れる。強電界と中電界の境ぐらいにある我が家では、3分配ぐらいしても電波強度に問題はなく、接続は容易なはずだった。

 ところが、なぜだろう。TVTest では 60.00 dB 以上の SNR値が表示されているにもかかわらず、いくつかの放送局はドロップ/スクランブルが大量に発生し、視聴することができない。

 不思議なのは、「NHK総合は映るのに、Eテレは映らない」という状況だった。

 両局ともブースターを通したSNR値は 73.0dB で、絶対安全圏の 30dB を優に超えており、受信状態に問題があるとは思えなかった。(後から知ったが、PX-S1UD のSNR値はてんで当てにならないとか;)


 試行錯誤が始まる。

 PX-S1UD は USB2.0機器なので差し込むポートを変えてみた。フロントポートからリアパネルに直接接続もしてみたが、エラー率は上下するものの、有効とは感じられなかった。

 電流ノイズのせいかと考え、ブースターの電源を USB から、スマホ用充電器に変えてみた。今度はサチュレーションが発生し、状況は悪化した。

 PX-W3PE のようにレジストリで調整が効かないものか調べたが、見つからない。

 ついにはドライバをいじろうかと思い始めたとき、USB3.0 を試していなかったことに気づいた。

 結果、本体は USB3.0 でもエラーが発生するが、ブースターの電源供給を USB3.0 にすると、なぜだかわからないが安定して映像が表示されるようになったではないか!?

 そういえば聞いたことがあった。あるメーカーのマザーボードは、USB が不安定なものがあると。もしかすれば、この Asrock H77 Pro4-M がそうだったのかもしれない。


 現在は次のように接続して安定している。

 アンテナ線 → ブースター(電源供給はフロントポートの USB3.0 ) → PX-S1UD(フロントポートからUSB2.0延長ケーブルで接続)

 この接続だと、壁掛けアンテナ(Amazonで1,700円ぐらい)でも問題なく映っている。

 6年前から使っているマザーボードだから、そろそろ買い換えたいが、今のご時世ではメモリの値段が高騰したままで買いづらい。DDR3 の 16GB が 8,000円の逆バブル時代を経験すると、なかなか食指が動かないものよなあ。

Office2013のService Pack 1がインストールに失敗する

症状: Office 2013 Proffesional x64 を Windows11 Pro x64 にインストールし、 Windows Update をすると SP 1 だけがインストールに失敗する 原因: サービスの「Windows Font Cache」を無効にしていた...