東京電力の使用状況グラフ表示ガジェット

東京電力の使用状況グラフを表示するWindows7 Gadgetを作ってみました。

上部のバーまたは下部のグラフをクリックするとそれぞれ元サイズで表示されます。
更新は10分置き(この値はどうなんだろう…)です。
現在利用している、東京アメッシュを表示するWindows 7 GadgetのTokyo AmeshDのソースを流用(もう参考とは言えない…)して作ってみました。ありがとうございます。

ダウンロードはこちらから。
https://sites.google.com/site/zr400d/TepcoUsageEP.gadget
[修正] TepcoUsageEP 0.11:画像サイズが変更されたのに合わせて修正。csv形式ではなくgif形式だとこういう変更に弱いw

screenのマウス操作サポート

screenの良さに気がつき始めたので、導入を試みる。
縦分割機能は欲しいので開発版をいれて、こちらのサイトこれからの「GNU Screen」の話をしよう - Keep It Simple, Stupid を参照してマウス操作もできるようにしてみた。がマウスによるフォーカス選択が上手く動作しない。
.screenrcにdefmousetrack onするだけじゃだめなんだろうか。と思い調べるとgnome-terminalとscreenの相性問題っぽい。xterm経由でscreenを起動すると上手くいく。試しにここのサイトGNU screen on gnome-terminal - yet another 日記の情報から.screenにterm xtermを記載したらマウス操作でフォーカス選択が出来る様になった。
でも、term xtermの意味は不明・・・

GeForce GT220でマルチモニタ

GeForce GT220は出力端子としてDVI-I、HDMI、D-SUBが付いていて、トリプルモニタできないかなと思いHDMI→DVI変換コネクタを500円程度で購入して試してみる。Win7からはモニタが3枚見えるけど、出力(有効に)できるのは二枚まで。
nVidiaコントロールパネルの表示→複数のディスプレイの設定でもモニタは3枚検出してるけど、チェックできるのは二つまで。GT220が2枚表示までしか対応していないかららしい。
とりあえずデジタル接続(DVIとHDMI)ができたのでよしとしよう。

  • -

USBの転送速度

USB接続機器の接続速度を調べる時に、USB機器がどのUSB Root Hubに接続されているかを調べ(電力タブでわかる場合が多い)、USB Root Hub → プロパティ → 詳細設定を参照する。

  • ハブは最高速度で稼働しています → Full-Speed(USB 1.1)
  • ハブは高い速度で稼働しています → High-Speed(USB 2.0)

いらん和訳のせいで、どっちが速いかいまいち分かりづらい。最高速度より高い速度の方が速いってのもなぁ。
ちなみにUSB 1.1のLow-SpeedとUSB 3.0のSuper-Speedはどんな訳になるかは知らない。

株価ガジェットの前日比(円)が正しく表示されない

Windows 7 株価のガジェットを表示 この記事を見てWindows7に株価ガジェットを追加したが、前日比の金額が正しく表示できていないことに気がつく。それもすべての銘柄ではなく特定の銘柄。
以下の状況より、前日比データのパースに失敗しているのではないかとあたりをつける。

  • 前日比(パーセント)は正しく表示されているので、データの取得には成功していると考えられる。
  • 前日比が1000円を超えた場合のような気がする。
  • 1000円を超えるとカンマで区切られる(1,000のように)。

ざっと、ガジェットのソースを見て、確認。C:\Users\ユーザ名\AppData\Local\Microsoft\Windows Sidebar\Gadgets\Stocks_Windows_SideShow_ja-jp.gadget\js\stocks.jsの413行目でisNaN()で前日比金額の数値チェックを行っている箇所が怪しい。isNaN()の仕様を確認してみると、カンマ区切りはまずいらしい。

  403:	for(var i = 0; i < tickerList.length; i++)
  404:	{
  405:		var thisTicker = new stocks.msn.service.ticker();
  406:		thisTicker.Symbol = tickerList[i].getAttribute("symbol");
  407:		thisTicker.Name = tickerList[i].getAttribute("name");
  408:		thisTicker.Last = tickerList[i].getAttribute("last");
  409:		thisTicker.Change = tickerList[i].getAttribute("change");
  410:		thisTicker.Percent = tickerList[i].getAttribute("percentchange");
  411:
  412:		if(isNaN(thisTicker.Last)) thisTicker.Last = "0";
  413:		if(isNaN(thisTicker.Change)) thisTicker.Change = "0";
  414:	
  415:		stocks.msn.service.tickerArray.push(thisTicker);
  416:	}

取得できるデータも確認してみる。
http://money.service.msn.com/StockQuotes.aspx?v=1&symbols=JP:4924

This document had no style information.



change="+13,000.00"となっている。以前はカンマ区切りではなかったのだろう。
カンマ区切りをはずせば問題ないはずなので、xmlからデータを取得する箇所に以下の修正を行う。

  408:		thisTicker.Last = tickerList[i].getAttribute("last");
  409:		thisTicker.Change = tickerList[i].getAttribute("change");
  410:		thisTicker.Percent = tickerList[i].getAttribute("percentchange");

  408:		thisTicker.Last = tickerList[i].getAttribute("last");
  409:		thisTicker.Change = tickerList[i].getAttribute("change").replace(",","");
  410:		thisTicker.Percent = tickerList[i].getAttribute("percentchange");

このあとガジェットを再起動することで、正しく値が表示されるようになった。
もともとWindows7には正式対応してないガジェットだからしょうがないんだけど、Vistaとかだとちゃんと動作してるんだろうか。

XenServerのゲストOSインストール中にDVDメディアを交換する方法

若干はまったのでメモ。
XenServerのゲストOSに対して、リアルドライブを使ってDVDからインストールするような場合、インストール途中でメディアの交換が必要な場合がある。その場合、ドライブのイジェクトボタンを押しても排出されない(理由はわからないが)。
この場合は、XenCenterからXenServerのコンソール画面に入り、eject -s と入力することでメディアが排出される。

system-config-bindがタイムアウトする件について

初回起動時にルートDNSの情報を取得しに行ってタイムアウトする。
「Root Cacheのダウンロードに失敗しました:
接続がタイムアウトしました
このマシンがインターネットに接続されているか確認してください。」
F/Wのせいかも知れないけど、とりあえずの解決方法としてルートサーバ情報が記載されているnamed.rootを直接ダウンロードする。

cd /var/named
wget ftp://ftp.internic.net/domain/named.root

いくつかのサイトではbind 9だとnamed.caと書かれているけど、named.rootっぽい。確認したbindのバージョンはBIND 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2。