Aukey 防水スマートフォンポーチ PC-T6

Aukeyよりご提供頂いたモニター、今回は防水スマートフォンポーチのPC-T6だ。

防水スマートフォンポーチは、単純に密閉できる導電性ビニールの袋があれば良いため、非常に単純で、100均でもおなじみのアイテムではある。
しかし、100均のものは単一素材で、しかも折り返す構造のため、どうしても端が避けてしまう。耐久性がないのだ。
もっとも、それでも少なくとも機能はする。使用する状況が限定的であればこれで事足りる。使い心地は別だが。

AukeyのPC-T6は、そこまで高価ではなく、耐久性があれば良い買い物だろう。
フィルム部分とケース本体は別素材で、止水部分がまた別パーツとなっている。ケース本体、黒い部分はPVCっぽい素材で、耐久性は高そうに見える。もちろん、結合部分の問題なのでこれだけでは判断できないが、結構幅広く接着しているため接着強度は高いように見える。

止水パーツがあまりバチッと止まらないので、不安を感じるものだったが、あらゆる方向からかなり高い水圧でシャワーをかけつづけてみたものの、浸水は全くなかった。防水性能には問題はない。

背面部にも窓があり、これはiPhoneを想定したカメラ窓らしい。

そして、特筆すべきはストラップホールとアームバンドホールがあり、ストラップとアームバンドが付属していることだ。

アームバンドは水を吸う素材なのでサンプル写真のようにサーフィンで使うにはお勧めできない。
だが、アームバンドが通せる、ということが大きい。
通せるのであればビニールバンドに交換したっていいし、バイクに搭載しやすいのだ。

そして、この防水ケースにはコンパスがついている。
まさにバイクのためにあるようなアイテムだ。

走り慣れてくれば、走行中に見るのはコンパスとコマ地図だけでいい。
地図は降りてみればいいし、最低限コンパスは必要だ。

だが、近年は電子デバイスが多く、しかもコイルの多いバイクに搭載できるコンパスというのはなかなかない。
このコンパスは水平機能は若干だがあり、タンクの上面くらいなら使えそうだ。
精度は、さすがにサーバールームとなっている私の自室では狂ってしまうが、室外に持ちだせば正常に機能した。
スマートフォンを入れた状態でも狂いはない。

アームバンドを通すことができるようになっているため、タンクバッグにくくりつけるのは非常に容易だ。
これは、バイク用ガジェットと言ってもいいのではないか。

私は防水スマートフォンを使っているため、防水ケースを使う機会はそれほど多くない。だが、防水スマートフォンだが、特にWX11Kのほうは濡らすと悪影響が出ることが分かっている。
水場に持ち込みたい場合は、防水スマートフォンケースは非常に有用だ。

100均のものも、エマージェンシー的に持つには悪くないが、ちゃんとしたものはやっぱりいい。
バイク用アイテムとして使えるアイテムだ。

モバイルバッテリー Aukey PB-N37

Aukey

Aukeyというメーカーをご存知だろうか。

Amazonに多くのアイテムを出品しており、主にスマホなどデジタルガジェットに関連したものを扱う。
Amazonでは有名なANKERと名称が似ていること、ANKERと同じ中国のメーカーであることから「ANKERの偽物」という人も多いが、企業としては2005年設立とANKERよりも古い。
ただし、Aukeyブランドは2013年からで新興ブランドである。会社の雰囲気としてはベンチャーという感じらしい。2010年、ebayで2010年、ドイツ売上1位になったことがあるほか、世界初QC2.0 2ポートUSBチャージャーをリリースしたらしい。

中国の深圳市が本社で、ヨーロッパをメインターゲットにしているようだ。

私はVolutzを使っているが、USBチャージャー、及びUSBケーブルを購入する際に候補として検討したことがある。特にバッテリーなど給電関連のアイテムが多い。

Aukeyというメーカーは、日本でも聞くことができるような苦労話が豊富にあるようだ。地道にがんばってきた世界に挑む町工場、という感じか。

中国製品は全て悪い、というイメージを持つ人もいるが、貧乏とキワモノ好きから中国製ガジェットを使う機会の多い私の感覚でいうと、中国製品は真面目に作っているものとそうでないものの落差が激しい。
日本でも粗悪品を売って金儲けしたいと考える企業はある。中華ガジェットは粗悪なもの(ハズレ)か、安価なすごいもの(アタリ)かという感じだ。
だが、すごいものというのは、確実な高品質というよりは、工夫や非常にトリッキーな技術で作られていることが多く、歩留まりや不良も多く、耐久性はいまひとつ、といった印象だ。

Aukeyについては、「中国の真面目な企業」というイメージを持っている。

バッテリー

そんなAukeyより、モニターのご提案をいただき、モバイルバッテリー PB-N37をご提供いただいた。

まず、モバイルバッテリーというものについて解説しよう。

根本的に、バッテリーの容量、重量、特性はほぼ素材で決まり、結局は技術的ブレイクスルーがない限り、容量に対する重量、大きさは決まってしまう。
そのため、容量が同じであれば、大きさ、重さで差別化することは難しい。
携行性を求めれば容量は小さくならざるをえない。

PB-N37は5000mAhというサイズである。

私は20000mAhクラスのANKER製バッテリーを持っている。
これは、Raspberry Pi用に買ったものであり、携行を前提にはしていない。
だが、充電不足のために携行したこともある。しかし、20000mAhは単独で持つと気にならないが、バッグの中にいれると随分とずっしり感がある。容積もある。

ちなみに、リチウムイオンバッテリーは振動を与えると発熱し、膨張の後爆発する。
実際、携行にはあまり向かない。バッグの中でがっしゃんやったくらいで問題になるとは思わないが、空輸時はコーションシールを貼らなくてはならない。

「充電を忘れた場合に予備バッテリーが欲しい」という程度であれば20000mAhもいらない。
iPhone 6sは2750mAh、最強クラスのArrows NXは長時間駆動のために3120mAhのバッテリーを積む。
一方、元々4.0inchとコンパクトな私のWX04SHは2080mAhとバッテリーは小さいが持ちはいい。基本的に、画面が大きく、性能が高くなるにしたがってバッテリーが大きくなっているようだが、モバイルバッテリーはおよそ容量の70%程度給電できるため、20000mAhというと、WX04SHだと7回フル充電できるレベルである。
そこまで激しく使いながら長時間電気が獲得できない生活は、普通はないと思う。

5000mAhは給電量70%で3500mAhというと、大抵のスマホは0からフル充電が可能で、小さいバッテリーを積むものであれば1.5回程度充電できることになる。
5000mAhというと、かなり長時間、激しく使う場合であってもバッテリー切れを防ぐことができる。あるいは、充電を忘れてバッテリーがない状態であっても、フル充電したかのように扱うことができる。

PB-N37

PB-N37は5000mAhの、円柱形のモバイルバッテリーである。

軽量、コンパクト…といいたいところだが、5000mAhというとそこまで軽くコンパクトなわけではない。
口紅並、という触れ込みだが、実際は口紅をイメージしていると、サイズ、重さとも裏切られることになるだろう。
ちょうど手で握るのにちょうどいいくらいのサイズで、ものすごく軽いわけではなく、かといってどうしても気になるほど重いわけでもなく、微妙だ。

携行性を重視するのであれば3000mAhクラスが欲しいところ。携行性を確保しながら安心できるサイズを求めるとこれくらいになる、という感じ。

私は身につけておかなくてはいけないデバイスを非常に多くに持っている。そのため、ジーンズのポケットはいつもフルだが、このバッテリーを入れる分には、かなり膨らむが、円柱形ということで携行しやすい。

だが、もしバッグの薄いポケットにいれたい場合は、板形状のほうがいい。
また、円柱形の欠点として、充電しながらバンドで固定するような使用法が難しい。円柱形は、バッグやポーチ、ポケットに放り込みやすい形状だ。
円柱形であるが故に衝撃を受け流すこともできるかもしれない。

出力はインテリジェントな最大1.5A。Quick Chargeではなく、AiQという独自のもの。
この点については、まだQC対応デバイスが多くなく、簡易なデバイスは対応しないであろうこと、古いデバイスは対応していないことを考えれば、独自のほうが嬉しい。
ただ、1.5Aというと、タブレットでは充電できない可能性があり、急速充電においても2Aクラスには届かない。だが、1Aと比べれば1.5Aは速く充電することができる。2Aあればよかったな、という感じはある。

とはいえ、インテリジェントなおかげでデバイスによってポートを分ける必要もなく、これひとつでまかなえるのは大きなメリットだ。

色はブルーアルマイトで、美しい色だ。
これについては、ファッションを気にする人はコーディネイトに合わないとか気にするかもしれない。シックな黒が好きなのだという人もいるかもしれない。
だが、女性でも持ちやすく、「かわいい色」でもあるので、悪くないと思う。

常時携行するにはちょっとつらいが、必要であることが分かっている時なら持ちのはそれほどつらくない。

Windows 10 テスト

アップグレード

Windows 10がようやくThinkPad e440に入ってきたので、テストした。

まず、事前にClonezillaでディスクイメージを獲得した上でアップグレード。
LUKSを使っていることもあり、Clonezillaは最適ではなかったように思われる。

アップグレードはシンプルで、タスクトレイのWindows 10アイコンから起動したら、あとは表示にしたがって進めていけばいい。
途中再起動しながら進んでいく。不安になるような場面もないではないが、Windows 7のインフォメーションの少なさからすればはるかにわかりやすいレベルだ。

アップグレードして起動すると、かなり時間がかかってからログオンスクリーンが表示される。
だが、ログオンすると黒い画面のまま長く停止する。タスクマネージャを見ていると、ずっとCPUはかなり高い水準にあり、その後落ち着いても変わらず黒いスクリーンのままだ。

なお、PID5の起動失敗がリポートされる。

しかし、再起動すれば正常に起動した。

Windows 10

RAMを予め8GBに拡大していたこともあって、Windows 10はさくさく機能する。
デスクトップテーマは「おおよそ」引き継がれ、ぱっと見の差異は小さい。また、Lenovoのアプリケーションはいずれも引き継がれ、タスクバーに鎮座する。

ショートカットキーが強化されたこと、タスクバーに検索が追加されたことでかなり使いやすくなったように感じる。
もっとも、私が入力中心の起動を元々していたからであって、スタートメニューから階層をたどる方法をしてきた人にとってはやりづらいかもしれない。
ちなみに、私はWindows 7ではLaunchyをメインに、スタートメニューを使う時は検索を使っている。検索は、それなりに速くなった。

Windows 8 (8.1) の絶望的な使いにくさはない。評判は悪いが、実際Windows 8よりは圧倒的に良いと思う。
これできちんと動けば、Windows 7よりも好きだ。

コントロールパネルが隠されたという点は好ましくない。
設定から遠ざけていることが問題ないのに、さらに遠ざける選択をしているからだ。
ショートカットキーを使うか、あるい検索によって見つけることができる。

やはりGodModeを使用することが望ましい。これは、コントロールパネルのフラットメニューのようなものだと考えていい。
godMode.{ED7BA470-8E54-465E-825C-99712043E01C}というフォルダを作ることでgodModeへのショートカットとなる。

Windows 10自体の印象はよく、

  • Audacity
  • ドラコンスピーチ11 日本語版
  • VLC Media Player
  • AIMP
  • XNViewMP
  • サクラエディタ
  • Opera Developer
  • Sylpheed
  • Skype for Desktop

の起動を確認した。

全体には良好なエクスペリエンスを得られるが、起動と終了は非常に遅い。
終了時は終了したと思っても、十胃は電源が切れていないことがある。

元々デュアルブートだった場合は、それは維持される。
グラフィカルな画面で良いが、そのかわり他のOSを選ぶと再起動されるようになった。
直接呼べなかったのかと疑問は残る。

  • DTM

問題はDTMだった。

Image-Line FL STUDIOは、12から正式にWindows 10をサポートしており、確認の必要がないと判断して確認しなかった。

US-366は既にWindows 10をサポートしているが、x64のフォルダにあるsetup.exeを使う必要があるのと、なかなか成功しなくて困ったりもした。

SONAR X3 PRODUCERはちゃんと起動するが、今回MelodyneとXLN Addictiveシリーズは検証しなかったものの、それ以外についても、SONAR X3 PRODUCERを入れた時点でプラグインは65であるはずだか、49しか認識されない。
少なくともBREVERBが認識されていないこと、x64かx86かは関係ないことを確認した。

ManjaroでCinnamonが破損 + Plasmaのセットアップ

Cinnamonが起動しない

Manjaro 2015-10-19 Stableを適用後の2015-10-22に、Cinnamonが起動しない、というトラブルに見舞われた。
正確には起動はしているように見えるのだが、表示されない。マウスカーソルがウィンドウ位置に合わせて変わるものの、一切の表示がない。

別ユーザーでも生じるため、自力で解明できず、結局Manjaro Forumに助けを乞うこととなった。

crazyg4merzさんにお答えいただき解決した。

2015-10-21に追加でアップデートされたcoglパッケージ(cogl-1.22.0-1.1-x86_64)がダメであったらしい。
これがDEを破壊する毒入りパッケージであったということだ。

sudo pacman -U /var/cache/pacman/pkg/cogl-1.22.0-1-x86_64.pkg.tar.xz

で解決した。

Plasma Workspace

Cinnamonが起動しない間、Plasma 5を使っていた。

ManjaroにPlasma 5がきたばかりの頃は、Plasma Workspaceコンポーネンツ自体のエラーが非常に多く、使い物にならなかった。

そこからすればだいぶ安定したとは思うが、まだkAlarmなど勝手に落ちるプログラムは多い。
また、kcmの内容をみても、まだまだKDE4の品質には追い付いていない、という印象だ。

とはいえ、追加された機能もあり、「完全に機能すれば」かなり素晴らしいDEであるとは思う。
UI自体はPlasma 5よりものしぃKDE 4のほうが好きだし、KDE 3はもっと好きだが。

Plasma 5で追加された機能のうち、私にとって重要だったのは、QuicktileにTopとBottomが追加されたことだ。
これまでは四隅と左右の6方向だったが、ようやくCinnamon同様に8方向に対するタイリングが可能になった。

このほか、強化された点を含め、Plasma 5の魅力が

  • 通知が制限された多段で表示される。Cinnamonは通知がひとつずつなので通知に領域を占領されてしまうし、XFceは大量に表示されてしまいデスクトップがうめつくされてしまう。
  • 8方向にタイルできる
  • KDE関連のアプケーションを含めて統合的にショートカットを設定できる
  • リマインダ機能がある
  • KDEに統合されているアプリケーションは非常に便利に使うことができる。
  • 通知領域への表示・非表示が任意に設定できる
  • DPI設定を忠実に反映してくれる(UIも含めて)
  • タスクスイッチャに使いやすいBreezeがある

Cinnamonのほうがいいのが

  • 通知の非表示が可能
  • PulseAudioアプレットの機能が貧弱
  • systrayでなくsniによる実装で、systrayに入ってくれなかったりする
  • WINEの文字表示が汚い
  • 全体にフォントレンダリングがCinnamonのほうが綺麗

SylpheedとTomboyを使っているが。KMailとKOrganizerを使っていたらもっと便利だろうと思う。

Systray問題

xembed-sni-proxyをインストールし、起動すれば解決するといえばするが、アイコンが表示されない。

私はTrayerを使い

trayer --edge bottom --align right --widthtype request 

のようにしている。右下にしているのは、デュアルディスプレイだから。
ちなみに、Trayerは領域を確保せず、stalonetrayは確保する。
最大化した時にかぶるかどうかが違う。

タスクマネージャを外してtintを使う、というのも方法かもしれない。

WINEにおけるLINEのフォントの問題

XFceでもPlasmaでもWINEのLINEの文字は汚い、というかCinnamon/GNOMEだけが綺麗に表示できる。

XFce, PlasmaはWindowsっぽいレンダリング(むしろビットマップっぽい)、CinnamonとGnomeは通常通りInfinarityのそれだ。

しかも、PlasmaやXFceにおいては、フォント幅が適切に保たれず、フォントが重なって欠けて見えるため可読性が非常に低い。

これについては、regedit.exeHKEY_CURRENT_USER\Control Panel\Desktop以下

FontSmoothing REG_SZ 2
FontSmoothingGamma REG_DWORD 0x000003e8(1000)
FontSmoothingOrientation REG_DWORD 0x00000001(1)
FontSmoothingType REG_DWORD 0x00000002(2)

のように設定。これで幅は確保される。
だが、アンチエイリアスは効かないので、HKEY_CURRENT_USER\Software\Wine\X11 Driver\ClientSideWithRenderという値を作る。これできくようになる。

ただ、英字フォントについてはAAが効かないので違和感は結構ある。
これは、regeditの表示など、LINE以外のいくつかにも有効に働き、そこでは英字に対してもきいている。
しかし、Freetypeのものと比べると随分汚い。

色々ためしてみたのだが、うまく行かなかった。

AoEとNBD(とiSCSI)の違いを調べた

ハブの口が3つも足りなくなってしまったため、追加購入するために、AoE(ATA over Ethernet)でフレームを損失した場合にどうなるのかということを含めて調べた。

日本語情報がないため、参考としてまとめておく。

  • AoEはATAコマンドの直接発行。Ethernetフレームを利用
  • NBDはTCPなので、iSCSIとほとんど同じ
  • NBDがBlock Deviceもしくはfile,iSCSIはdiskが下層、という説明もあるけれど、確認できず
  • NBDのほうがパフォーマンス的に有利らしい
  • AoEはWindows, Macでも利用可能。NBDは無理っぽい
  • AoEはフレームを損失した場合、それを回復する機能はない
  • AoEの通信はMACアドレスで行うから外部からの攻撃に強いよ、という説明もある

AoEがデータを壊す可能性があるのか?信頼できるのか?
については、このあたりが論争。

Clearing up some misconceptions about the AoE protocol

興味深いけれど、結局どうなのか私には判別しにくい。

LinuxでPLANEX PSX-CV02を使ってゲームパッド

PLANEX PSX-CV02は、PCでPlayStation/PlayStation 2のゲームパッドを使用するためのコンバータである。
PlayStation3でも利用することができる。

Arch wikiにはゲームパッドを利用するのはかなり難しいということが書かれているが、少なくともPSX-CV02はManjaro Linuxで「挿せば認識する」ものだ。

これでもう、PSコントローラをつなげばTorcsではおおよそ正しく動く…のだが、いくつか問題がある。

まず、ゲームパッドでマウスが操作されてしまうため、まともに使えない。
これを無効にするため、/etc/X11/xorg.conf.d/50-joystick.confとして

Section "InputClass"
		Identifier "joystick catchall"
		MatchIsJoystick "on"
		MatchDevicePath "/dev/input/event*"
		Driver "joystick"
		Option "StartKeysEnabled" "False"       #Disable mouse
		Option "StartMouseEnabled" "False"      #support
EndSection

を記載して再起動する。

で、この状態でTorcsがプレイできる。ただし、Torcs上でスティックのキャリブレーションが必要。
どうも、Analogをoffにしていると(あるいは、フルデジタルのコントローラだと)十字キーはスティックとして認識され、Analogをオンにしていると十字キーは十字キーと認識されるようだ。

ちなみに、ボタン配列は

  • Btn0 = Triangle
  • Btn1 = Square
  • Btn2 = Cross
  • Btn3 = Circle

と結構変。このマッピングはjstest-gtk-gitパッケージのjstestで変更もできる。

Torcsはいいのだが、WINE上の某ACTゲームはパッドをそのまま認識してくれない。anitimicro-gitパッケージのanitimicroがキーに対するマッピングを可能にする。これはなかなか便利で、ちゃんと機能した。

なお、結構言われているように、これに接続すると12軸24ボタンの1つのジョイスティックとみなされる。パッチングが必要なようで、とりあえず困っていないので放置。

PS3でネジコンを使うことも可能であるらしいこのアダプタ、なかなかよさそう。

ThinkPad e440 * Linuxの長い戦い

何を導入する?

e440の構成は以前はWindows 7とPCLinuxOSのデュアルブートだった。
その前はSabayon Linuxで、結構安定していたのだが、使いにくい部分があり、PCLinuxOSとなった。

これが潰されたのは、Windows 7の書き戻しのためだ。

その後、時間がなかったため放置され、今回再編成に伴ってWindows 7はそのまま修正することが決まったため、Linuxを導入することになった。

ところが、これが辛い道のりだった。

望ましい構成は

  • sda1 Windows booy
  • sda2 Windows System
  • sda3 /boot
  • sda4 Extended
  • sda5 truecrypt
  • sda6 LUKS LVM PV

というものなのだが、このためには

  1. /bootにPBRとしてGrubを導入できる
  2. 手動パーティショニングができる
  3. LUKS上にLVM PVが作成できる

という条件を満たす必要がある。
ところが、個々には一般的なことであるにもかかわらず、要件を満たすインストーラがない

  • Manjaro Thus : PBRインストール、LVMに対応しない。crypt swapでエラーとなる
  • Manjaro Calamares : LUKSに対応しない
  • Manjaro CLI Installer : UUIDで設定するが見つけられずエラーになる
  • Linux Mint : LVMに対応しない。複数のcryptデバイスを設定できない
  • openSUSE : PBRへのGrubインストールを無視する、エラー多数でうまく動作しない

困り果ててしまった。
途中、諦めてPCLinuxに戻ったりもしたのだが、AddLocaleが正常に動作せず、ほかを試し、結局3日ほどかかった。

この要件、自動インストールであればちゃんと動作するのだが、手動だとなかなか動かない。
インストーラの品質は難しいところなのか。

ちなみに、Manjaro 0.8.13においては、WiFiが接続はできるが、通信しているとストールしてしまうという問題も発生した。

セットアップ

結局うまくいったのはPCLinuxOSだった。(Reiser4が使えなかったりはした)
AddLocale周りの設定は、手順としては(@PCLOS 2014.12 KDE)

  1. インストール
  2. 初期設定
  3. アップデートとアップグレード
  4. 再起動
  5. Localization ManagerからのAddLocale
  6. リポジトリをJAISTに変更し、Tomcatさんのリポジトリを追加する。パッケージリストはリロードしておく。
  7. アップグレードしておく
  8. gsetime(入力メソッドの選択)でIMEにuimを選択する。uimは私の好みなのでscimやfcitxにしても構わない。i-busを使用する場合はTomcatさんのリポジトリの追加を忘れない

なお、解像度がどうしてもXGAになってしまうため、PCLinuxOS Control Centerで設定しておく。KDEの設定で設定しても再起動時には戻ってしまう。

uim

uimを選択したのは、元より日本人が日本語入力のために制作したもの(SCIMやfcitxは日本語のために作られたわけではない)であり、非常に軽量でセキュアだ。シンプルだが、「日本語を入力する」という観点から言えば最高だと思っている。

残念ながら開発が停滞し、国際的にも支持されていないことから消えそうになっている。
日本でもMozcがuimが使えない(そもそも、人気の高いUbuntuやFedoraが国際的なものでSCIM, i-bus, fcitxなどを採用する)といったことで使われなくなってしまっている。

SCIMやi-busと比べ、安定していて高機能なfcitxにさほど不満はないが、やはり私はuimが好きだ。

PCLinuxOSのIMEは、MozcにせよAnthyにせよ、入力効率は非常に悪い。
しかし、Tomcatさんのリポジトリを追加することで、入力効率に優れたかな漢字変換を使用することができるようになる。

野良版のuim関連のパッケージを一通り入れても、UIM appletは起動しない。
だが、uim-toolbar-gtk及びuim-toolbar-gtk3は存在するため、これを自動起動に追加すれば動作するようになる。

uimはWeb変換サービスに対応している。
Ubuntuにもuim-google-cgiapi-jp, uim-baidu-olime-jp, uim-social-ime, uim-ajax-ime, uim-yahoo-jpのパッケージが用意されている。
野良版uimはこれらも既にセットアップされた状態で提供される。

なお、uimだとkkcは利用できない。
kkc愛好家(いるのか?)の方はfcitxを使用すること。

野良版uimだと、公式のfcitx-mozcで生じるかな入力において「ー」が「ろ」になる問題、fcitx-anthyで逆に「ろ」が「ー」になる問題は解決されている。

sudoは

sudoはi586版だとspecialにあるが、x86_64版は普通にある。

サスペンド/ハイバネーション

e440だとサスペンド(スリープ)/ハイバネーションできない。ずっとファンが回っていてハードディスクの音がしているので、復帰できないのではなく、サスペンドに入れないのか。

Window decorationsをいじるとまずい

KDEのBTSにも記載があるけれど、ウィンドウの装飾を変更するとKDEが起動しなくなる。

~/.kde4/share/config/auroraercをトバすだけでは解決しないため、かなり厄介な問題になる。要注意。

携帯万能のバグに対応する

携帯万能で、WX11Kの送信メールを取り込むと文字化けの上無効な引数が発生しましたと表示される問題がずっと出ていた。

この問題、先日対応したつもりだったが、甘かった。

そもそも問題は「WX11Kのメール」ではなく、「UTF-8のメール」にあった。
UTF-8で送られると、その時点でアウトなのだ。そのため、事前に問題のあるエントリを切り出しておく、というのは労力が大きい。

そこで自動判別できるようにしたのだが、新たな事実が判明した。

だが、新たな問題が発覚。
CSVだが、"をエスケープしていないため、Invalid formatとなっている。
このため処理できない箇所があり、力技でなんとかした。

このあたりはGitHubでスクリプト公開と共に解説している。

問題はPLANEXサポートに報告済み。
8時間以上もかけたのだが、甲斐ない結果に終わった。

携帯万能の「送信メールが取り込めない」問題をなんとかする

私はWILLCOMのW11Kを使っているのだが、このメールデータを取り込むのに、「携帯万能」以外の道がない。

そのため、Amazonで携帯万能を購入して使っているのだが(昨日のエントリの通り)、これがまた曲者で、対応するドライバがWindows 2000/XP/Vista/7の32bitのみという。

Windows 8でもWindows 7 64bitでもダメというのは、今時相当きつい。
うちではWindows XPマシンが1台あるだけだ。

さて、Windows XPはトリスターサポートの「まっさらにしろ」という指示により苦労しつつも初期化したのだが、取り込んだところ結局同じ問題だ。
送信メールが正常に取り込めない。

トリスターの人は、Outlookがどうとか、全く違うところに話を持って行ってしまうのだが、明らかに「アップデータでバグを埋め込んだ」話だ。

で、エクスポートしたCSVを実際に見てみた。

lvで見てみると、ある時期を境に文字化けが分かれている。これはまぁ、わかる。
そして、Mousepadで開こうとすると、不正なシーケンスがあるとして開けない。

Shift-JISならShift-JISで開けるソフトなので、これは恐らく違う文字エンコーディングがバイト列をそのままに吐き出している、ということだろう。
だとしたら、まだ手はある。

試しに、headtailcutで文字化けしているところとしていないところだけを切り出してnkf -gしてみると

$ tail send-text.csv | cut -f 5 -d "," | nkf -g
Shift_JIS
$ head send-text.csv | tail -n 9 | cut -f 5 -d "," | nkf -g
UTF-8
$ head send-text.csv | cut -f 4 -d "," | nkf -g
Shift_JIS

やっぱり

  • 以前は全てShift-JISだった
  • 現在は、Subjectまでの4フィールドはShift-JISだが、本文だけUTF-8である

ということが分かった。

さすがにこの混在はきついので、分離する。

$ head -n 3825 send-text.csv >| sendmail-UTF8sec.csv
$ head -n+3826 send-text.csv >| sendmail-SJISsec.csv

通常は後半部分は考えなくていいはずだ。
後半部分は単に結合すれば良いように変換しておく。

$ nkf -w -Lu sendmail-SJISsec.csv sendmail-SJISsec.utf8.csv

で、困ったことにこの状態だとRubyでCSVを切り出すことができない。RegExpが使えないために、CSVライブラリも使えないのだ。

Perlで試したところ

  • perl -nなら黙っていてもできる
  • while (<>)だとuse utf8の必要あり

というわけで、結局こういうコードになった。

#!/usr/bin/zsh

head -n1 "$1" | nkf -w -Lu >| out.csv

tail -n+2 "$1" | perl -n -e 'if ($_ =~ /"(?:[^"]*|"")*"\s*$/) { print STDOUT $&; print STDERR $`; print STDERR "\n" }' >| out.l 2>| out.f
nkf -w -Lu out.l > out.lu
nkf -w -Lu out.f > out.fu

ruby -e 'File.foreach(ARGV[0]).zip(File.foreach(ARGV[1])) {|i,j| puts(i.chomp + "," + j) }' out.fu out.lu | sort -u >> out.csv

単純に,で区切るとエンベロープやSubjectに入っている可能性があるため、せめてこうした。多分これでいけるはずだ。

一時ファイルなしでいきたかったが、そうするとnkfから1行ずつ読む必要があり、ちょっと面倒だった。

ちなみに、これ

  • 1行目はCSVヘッダーでShift-JIS
  • sortしている関係で日付順になる。sort -ruにすればオリジナルと同じ配列

この状態だとまともなCSVなので、MHやemlに変換するのも、それほど難しくない。

ほんとにひどい品質のソフトだと思う。

Windows XPで一部のサイトにつながらない

うちにはWindows XPがある。
それどころか、実はWindows 98SEもあったりするのだが、こちらのXPはゲートウェイ接続で、実質、携帯万能が32bit Windowsのみの対応、しかもWindows 8は非対応ということから使われている。

しかし、この携帯万能が曲者で、まともに動かない上にバグっている。

送信メールがまともに取り込めないというトラブルに見舞われたのだが、トリスターは「特殊文字を使用したメールのせいなので、OSを初期化せよ」とか無茶なことを言ってきた。
絵文字すら使わない私が送信メールで一体どんな特殊文字を使うというのか。

だいたい、その場合にその後機能しなくなることを仕様として開き直るんじゃない、と思う。

まぁ、仕方がないので今回は応じて初期化しよう、というわけだ。

だが、いきなり問題が発生。いくつかのウェブサイトに接続できない。まず、Googleに接続できない。
接続できるサイトのほうが多いが、Amazonに関しては一見まともに接続できたかのように見えるが、結局おかしな画面になってしまう。CSSや画像が読めない感じか。

このために、携帯万能はAmazonで入手したのだが、ソフトウェアダウンローダは入手できるが、ソフト自体がダウンロードできない。

一見DNSの問題に見えるが、

> nslookup google.co.jp

では値は取れている。
随分と悩んだのだが、やがて「どうもSSLが原因ではないか」というところに思い当たった。
SSLの脆弱性への対応として旧SSLを受け付けないサイトが増えているので、接続できないのだろう。

じゃあ、プロキシ経由ならいけるのだろうか?と思い、

$ ssh -f -N -D 0.0.0.0:1080 localhost

としてWindows XPでSocksを設定してアクセスしてみたが、結果は変わらない。
そこでLinuxでIron PortableをダウンロードしてUSBメモリ経由で導入してみると、Googleにもアクセスすることができ、無事Google Chromeを入手することができた。

SSLの問題ということは分かったが、回避策はなかなか厄介。
Windows XP SP3での修正が期待されるが、そもそもWindowsUpdateをしようとするとIEでMicrosoftのサイトにアクセスするのだが、その時点で接続がはじかれてWindowsUpdate不能。

これでダメなら、ということでLinux経由でMicrosoftからWindows XP SP3アップデータを入手した。

そしてUSBメモリ経由で受け渡し(別にChromeが使える状態になっているので、SSHやFTP経由でも構わないのだが)適用すると、IE7のままではあるが無事にアクセス可能になり、解決した。

なかなか厄介な状態だが、これは一般のWindowserには厳しいのではなかろうか?
既にSP3の状態で使っている人は大丈夫だが、リカバリした瞬間に詰む可能性もある。
SSL問題がWindows XPに止めをさした形か。いや、それで世の中のWindows XPが滅びてくれるなら実に喜ばしいが。

しかし、フィーチャーフォンまわりはかなり厳しい状況だ…

ちなみに、同様の問題はLinuxにおけるPresto版Operaでも生じる。