2014年11月26日水曜日

vgaドライバ再び

2013年11月、盛大にダメだったビデオドライバの更新を行ってみました。

対象となるOSはwindows8.1
ビデオカードはGTX-660
最後に正常動作を確認したのが windows8.0用の314.22
今回インストールするバージョンは344.75
であります。

314.22以後、どのドライバも「ディスプレイを認識しなくなる」というトラブルが続いていました。
特にひどかったのが320系列で、インストール直後にディスプレイを認識しなくなるなんて体たらく。
330世代も同様でした。

そこで今回、ダメもとで340世代を導入して人柱に。
1週間ほど使用しているものの、スリープからの復帰時も314.22と同様の障害の程度です。

その障害内容というのは、時折スリープからの復帰時にエクスプローラの動作が不安定になり、描画が乱れてしまうというものです。
これはエクスプローラを再起動するまで(あるいは勝手にエクスプローラが再起動してしまうこともあります)なおりません。

しかし、ディスプレイを認識しなくなるというトラブルはなくなり、スリープ復帰に失敗するということもなくなりました。310世代と同程度になったわけです。

1年間に盛大にバージョンアップしているのは後発のビデオカード向けの更新だと思うのですが、ちょっと更新履歴を追いきれず、なぜなおったのかは不明です。申し訳ございません。

やっぱりnvidiaさんに限らずドライバ関連はコワイですね。
自分で作ってるチップセットのドライバも1年たたないとまともなものが出てこないというのがコワイ。

そんなふざけた代物を強制的に入れようとするOSは輪をかけてすごいですね。
MSのアップデートも自動更新設定でなければ警告してきますが、どうせまともにテストできていないくせに強制アップデートじゃないと「セキュリティ上問題がある」なんて言い切るあの厚顔さにビビりますね。そのくせ再起動できなくなった、というトラブルを平然と起こす。

もう、PCがPCでなくなって家電になったといわれる割に、実際のところ全くそんなわけでもなく、利用者が家電として使いたいって言ってるだけ(願望)だから見せかけだけ対応して、起こるべくして起こる矛盾なんでしょうね。

PC離れとか進んでるそうですが、どんどん離れてもらわないと、この流れはちょっと止まらないですよね。

話が飛んでしまいましたが、同じお悩みでだるい更新催促をWindowsUpdateさんにされ続けておられる方がいらっしゃれば、ご参考までに。

オレオレ証明書の更新

自分専用のホームページ、完全に私個人しか使っていないページが私のブラウザ起動時のホームページとして設定されています。

で、ちょっとそいつに、自分用の予定とかカレンダーとかあって、それを改造して通年一覧とか月齢とか六曜とか日干支とかgoogle calendarの表示に対応とかそういうくだらない作業をしていたところ、operaが再度bookmarkに対応した、という話を聞きこんでしまったので、興味本位にインストールしてみました。

そのホームページを設置してあるサーバ、これがオレオレ証明書でHTTPSをしゃべる。
というより自分個人で隣の部屋にあるサーバにverisignさんやらの高額な証明なんかいりませんわな。

でも、なぜかオレオレ証明書を信じてくれない。
IE11やopera12は文句も言わないのに、最新のoperaではダメ。

最近よくありがちな、理由も述べずにただひたすらダメでしたもうできません的な、よくわからないエラーメッセージだったので(opera!おまえもか!!)、おまけにブックマークもスピードダイアルとほぼ同じ使い方を想定している様子だったのでさっそくご退去いただきました。

もうoperaは12で終わりだね。12は最近いろんなサービス、たとえばgoogleさんとか、またはgoogleさんとか、に拒否されちゃうのが困るけど、使い方を強制されるよりそんなサイト使わないほうがましだなぁ、って思ってしまうので、まだまだ12にはお世話になりそう。

ほかのブラウザはどうか、とおもって、大嫌いスキなgoogle様がおつくりになられている、とっても素敵なブラウザらしいchromeを初めて能動的にインストールしてみました。(こちらの不注意でadobeさんなどに入れられてしまったことはあり、その際にはすぐに消していました。)

インストール時にインストール先を聞かれないで入っちゃったので、何か間違ったのかな?と思ってびっくりして再インストールしても同じ。
慌てて調べてみると、そういうアプリケーションだということを知って、あまりに薄気味悪くてまたすぐにアンインストールしてしまった・・・のち、ほかのブラウザの挙動を調べる、という目的を思い出したので、やむなく再再インストール。とても我ながらあほ。

インストールして知ったけど、operaの最新とchromeってあれどっちかがどっちかをパクってるくらいにへぼさがそっくり。ま、これはほんとに不要な一言。
ああいうのが時代の最先端だちゅうのだったら先端なんかいらねえよ、とか思いつつ、自分のホームページにアクセスしてみたところ、chrome閣下も全く同じようなエラー。
だけど、こっちはなにやらエラーステータス的な文字が。

お、ちょっと技術的なヒント出してくれるところは好感持てるな!とおもってちょっと見直しつつ、これを手掛かりにいろいろ検索してみると、最終的にはすべてのブラウザがこういう事態に陥るということがわかりました。

というのも、そのサーバが出す証明書は誰かによって認証されている必要がある、ということで、ここでほんとに不特定多数な人間相手ならば第三者による認証、今回のケースの場合は私による認証、が必要になります。
利用者側はサーバにアクセスするときに、その認証者が本当にこのサーバを認証したの?っていうのをチェックしてくれるのがブラウザなわけですが、認証するときに使われるアルゴリズムがもう、最近のPCで簡単に割れちゃうね、っていうことなので、もうやめようよ、ということになったそうです。これが2013年。マイクロソフトさんが言いだしっぺです。

昔もこんなことがあって、認証アルゴリズムでmd5を利用していたんだけど弱いからsha1にしようよ、という話はあって、割とsha1に移行は進んだもののいまだにmd5で残っててもブラウザ側は特に警告も出さないで暗号化されてんならいっか、という感じでこれまで来ました。こんなこともあって、不安を感じたMSさんは、もうやめよう、こわいでしょ、って言い出したんでしょう。

ただ、もうさまざまサイトで暗号化通信のための証明書が利用されていて、一括更新してもらえるほど市場が狭くない。というより、よくわかんないまんま運用しているショッピングサイトとか山ほどある、そもそも認証局側だってsha1で証明書だしてんだからよぉ、という事情もあって、2017年で終わりだからね!やっといてね!ってことにしていたようです。今年に入っても、高い暗号強度の証明書への移行は1,2割程度の進捗ラシイです。

そこでいきなりブチ切れて数年も前倒しで「このサイトは絶許」とかどかーんとやったのがchrome。

さらに徹底しているのが、マイクロソフトなどはhttpsとかしゃべるサーバの証明書がsha2であれば許してやるつもり(現時点)の方針なのですが、chromeさんは中間証明局を含めて、全部証明にかかわるやつの暗号強度をチェックして、途中だれか一人でも暗号強度が弱ければ、その通信相手はアブナイ、と警告するところまで踏み込みました。

ということで、先ほどダウンロードしたchromeさんがそういう急先鋒にいて、ブラウザ本体の機能を調べることもできずにずっとオレオレ証明書の更新からかかるということに。
オレオレ認証局の最終更新からもう10年以上たっていました。10年一昔というけど。。。感慨深いものがありました。余談です。(この文章そのものが余談ですが)

このブラウザ(chrome)自体はさまざまな理由で使う気はやっぱり失せましたが、証明局と証明書の更新は結局はやらなくちゃいけなかったので早めに知ったこと自体は素直にありがたかったです。

これはたぶん認証局商売やってる人はめちゃくちゃおいしいだろうし、たぶんそーゆー業界では降ってわいたような商材みたいなもんですよね。
一方、以前の暗号強度で証明してもらったほうは、有効期限前にブラウザに信用できないですわこのサイト、とかいわれて、以前証明してもらったのに暗号強度が違うから別料金とかいわれて意味不明、お前が証明したんだろ、証明したという証拠が証明書なんだろふざけんな、とか、その辺の阿鼻叫喚も想像できてとても愉快ですね。

まあ、うちの場合は認証局が手元にあるのでopenssl req のオプションに -sha256 を追加するだけですのでいいんですけど、また今回も業界をリードする企業としての責任感として発揮されるスバラシイ独善性に触れてしまったように思いシビれて、ちょっとまた嫌いにスキになりました。


2014年1月11日土曜日

滝沢市市制移行

滝沢市の皆様、市制移行おめでとうございます
(めでたいのかどうかわかりませんが日本人なのでとりあえずコトホギということで。新年ですし。)

気象庁さんもようやく去る七日、予定通り滝沢市対応を完了したようです。

あの庁ってなんでTOPページで事前アナウンスや事後アナウンスしないんでしょうね。
全然違う筋から七日に移行って情報は得られましたが、改変されている当のホームページには何の情報もなし。
それに滝沢市って1/1移行ってずいぶん前から分かっていて準備をしていたくせになぜ七日なのかも不明。

防災担当の重要なお役所って自覚、ある部署とない部署がすごい温度差激しい感じ受けちゃいますね。黙ってやっちゃうとか。
4日とかに大雪特別警報とか出ちゃったら存在しない村の警報を触れ回るんでしょうか。
ま、相手は人間だからわかるからいいか、って感じでしょうか。実際わかるし。

なぜ気にするかといえば、天気予報も表示するような機能を含むandroidアプリを開発しているので、実際には七日に大きな改変が同時に来てエラいことになるのではないか、と戦々恐々としながら移行の12-13時の間、ずっと銀座つな八で数万円分(ほとんどビール代)もの天ぷらを一生分食いまくってましたが、予報や警報・注意報のページのレイアウト変更などもなく、利用者側としては影響が最小限に抑えられていることについては素直に評価できると思います。
(市区町村コードとかも変わっているでしょうし内部的にはいろいろ手が入っていると思いますが、部外者なのでわかりません)


滝沢市って気象庁さんの予報的には岩手県内陸に属していて、あそこって気温予報が3か所もあるのでこちらのアプリへの影響も少なからずありましたが、無事に対応できたと思います、たぶん。

今日午前5時の盛岡気象台発表の滝沢市のお天気は曇り、気温は盛岡で-1度まで上がるようです。

国交省国土数値情報JPGIS2.1対応

何だか知らないですけど国交省が公開してくれてる国土数値情報(行政区域)のJPGIS2.1版ってデータおかしくないっすか?って問い合わせメール出したら数日もたってようやくテンプレメールしか返ってこなかったでござる。

しかも人の名前も間違えて。
おこだよ?

おかしいといっても、北海道のデータで支庁が同一のコードを持つ市にもかかわらず設定されていたりされてなかったりとまちまちで、なにこれ?っていう指摘なんですけどね。

支庁というか、開発局だっけ、それは住所としては不要なんで結論からするとどうでもいいんですけど、ふつう辞書からコードで引き当てて文字を割り当てるはずのものでしょ。

それが抜けてたり埋めてあったりするということは、それを引き当てるプログラムに障害があるということだし、完成したデータも満足にチェックしてないってことですよね。

っていうメール。

ついでに引き当ててくる元辞書が名前だけで実体がどこにも公開されてないよ、っていう指摘もしたんですけどこっちはガン無視。(JPGIS1.0版は公開されてるんですけどね)
たぶんメールを最後まで読んでないからだと思うけど。
忙しいだろうからしょうがないね。
返事が来るだけでもエライ。

ということで、JPGIS1.0と2.1の両方に対応しました。
といっても、もう1.0版は数年出てないしこれからも出ないと思いますが・・・

それにしても2.1版は1.0版に比べて解析時の負荷が小さくていいね。
ていうか、XMLである必要がないところまで単純化してあるんだからCSVでいいとおもうんだけど。。。
というより、仕様書さえしっかりしているならバイナリでもいいけど。
(なんか知らないけど2.1版ではポリゴンは改行コードに依存してるし。)
まあ、javaとかphpとかjavascriptしか知らないような人にも簡単に扱えるとか、最近のRDBはXMLをそのまま放り込めたりしたりして、ユーザ層の拡大につながるし、行政界なんてリアルタイムを求めるわけじゃないんだからプアな環境で使うなら前処理しておけばいいだけですからね。とにかくこういうデータを公開してくれて重ねて感謝。

ただ、いくらGIS業界標準とかいってもshapeデータ同梱はどうかと思う。
作ってくれること自体は実に有意義であることに異論はないんだけど、GIS業界関係者だけで使うデータじゃないんだし、そもそもshapeデータは2次生成物なんだから、別途配布するほうが自然だとおもうなあ。

それでもやっぱり感謝の念は変わりません。
やっぱり税金使ってごにょごにょやったとき、こういうのできました、っていう成果物を公開できる範囲内で積極的に公開してもらえると納税者としては素直にうれしいです。

それにしても、google app engineの静的リソース容量の制限、もうちょっと緩和されればもっと早くなるんだけど・・・
今でもミリ秒単位で、インスタンスの起動時間よりよっぽど早いけど、もっと高速化できるのにリソースとして置いておくことができなくて残念。

2013年12月31日火曜日

google app engine で文字化け(split)

自作の逆ジオコーディングサービスをgoogle様にホスティングしていただいていて、それをjavaでもって実装していた。

ちょっと考えがあって実装してみたら実に秒からミリ秒単位への高速化を実現。
最初からやっとけよ!っていう内容なんですけどね。
無料枠と有料枠の端境でDataStoreとInstanceのバランスをとることもうまくいけそうだなあ、なんて年末にホクホク。

で、デプロイしたらとたんに文字化け。12/31早朝に。
データもソースも全部UTF8で固めてあっても。
イヤになるねぇ。Latin1圏がうらやましい。

結論はString.split()。
こいつのソース読んでないけど、これを行うと文字化けする。

やっぱ他人が作ったライブラリはわかんないね。
オブジェクト原理主義者の犯行だな!

ていうかいいよ別にバイト列で・・・
オブジェクト指向だ!!!!!!!とか、肩に力入りすぎ。この言語。

HttpURLConnectionが親切すぎて生きるのがつらい

誰なんですかねえ、こんなオレオレライブラリっぽいのマージしたのは。
自分のアプリだけで使っとけよ!というくらい親切すぎて生きるのがつらい。

getResponceCode()だけでブロックする、というよりread()でブロックする。
ブロックそのものは文句はないんだけど、せめてデータが1バイトでも届いているかチェックするためにinputstreamを取得するだけでブロックする。そこまで面倒を見て下さるなんて感激。
setReadTimeoutが、レスポンスが返ってくるまでの間という大くくりにしか適用できない。
サーバのレスポンスが一定以上だとそもそもreadできない。例外がおきる。

オレオレライブラリの作者には200以外いらなかったのはわかるが、よりによってFileがないよ、っていう例外放り投げるなんてたまげたなあ。超イケテル。

そもそも使うなという評価しか思い浮かばない。

確かにイチからhttpのような原始的なプロトコルの実装を今更やんのかよ、と言いたくなる気持ちもよくわかるけど、こういうオレオレライブラリはSDKから外したほうがいい。

シャリンノサイセイサンガーとかいう人は良く考えたほうがいい。
車輪は回るから車輪であって回らないのは車輪ではない。
無理に回す必要はない。よく回る車輪を作ればいい。

まあ、いろいろ多環境下における仮想環境がらみとかネットに強いアピールが必要だった当時の政治的背景とかあるんでしょうけど。
でもcommitした人に聞いてみたいね。
どう思う?って。

最初からselect()導入しとけばいいのに・・・
当時はなかったとしても、せめてThread.interrupt()できれば使い勝手は向上するとは思うけど、
いったい、だれがこんなもんSDKに忍ばせたんだろう
裏のスレッドでdisconnect()すればキャンセルできるよ!とかへぼすぎでしょ。。。

かくして車輪の再生産が始まるのであった。

2013年12月28日土曜日

android x86 4.2.2版をvmwareで起動する方法

rootでログインしてvmwgfx.koを削除するか新しいものを入手して置換するとよい

例によってlinuxのカーネルオブジェクトの配置はやたら深いところにあるので、find | xargsしてやるとよいと思う