KUMA TYPE

猫、パソコン、プログラム、映画、ドラマ、アニメ、perl、etc.

弟のDELL XPS 8300エクストリームパッケージのメンテナンスに行ってきた。

弟が新しく買ったDell XPS 8300エクストリームパッケージのセットアップを行って来た。 – KUMA TYPE

上の記事で去年の3月に弟が買ったデルのXPS 8300のメンテナンスに行って来ました。

デル株式会社

仕事中に弟から電話が掛かってきて、パソコンの調子が悪いので見て欲しいとのこと、仕事場まで車で迎えに来てもらってそのまま弟の家に行きました。2ヶ月前くらいにメールでもそれらしいことを聞いていました。弟のパソコンは上の記事で初回セットアップを行ったあとなにも弄っていない状態。


問題点1.Youtubeの動画で見れないものがある。特にハイレゾのもので視聴すると、画面が緑色の砂の嵐状態になるらしい。

実際に再現してもらうと特定の動画で再現した。小太郎ブログで紹介されているようなハイレゾで美しい微速度動画だった。グラフィクボードのドライバーを入れなおすことで改善した。

弟のXPS 8300エクストリームパッケージに搭載されているグラフィックボードは上のページにも記載している通りATI Radeon(TM) HD 5870 1GB (DVIx2/HDMI/DP)である。

DVIが二つとDisplayPortとHDMIが付いていて、最大4画面のマルチディスプレイにすることが出来る。現在はディスプレイ1台とHDMIでレグザに繋いでいる。

新しく買うカメラが更に高解像度になるのでそれにあわせてディスプレイも追加するらしい。

と、それは置いといて、初期設定を行った時のドライバーのバージョンは以下のようになっていた。

ATI Technologies Inc.
2010/01/13
8.700.0.0
Microsoft Windows Hardware Compatibility Publisher 

 

デルのページで検索して下記のページから最新のドライバをダウンロードした。リリース日を見ると弟のパソコンを購入した日より前であり、また、当然私がセットアップを行った日付よりも前なので、あれれ?大丈夫かな?ダメかも?と思ったのが正直な処。だがしかしバージョン自体はアップしている。最新のドライバーにして販売してくれないのね。そもそもXPS8300を購入した時点でデルのサイトにこのドライバは公開されていたのだろうか?されてたんだろうなぁ。

ドライバおよびダウンロード | デル [日本]

AMD-Driver

R280235.exe (137MB)

2011/01/09 8.762 (Win7/Vista 64-bit), A05

適用対象:

Radeon HD 5870 

 

という訳でインストールした処ドライバーのバージョンは下の様になった。

ATI Technologies Inc
2010/08/03
8.762.0.0
Microsoft Windows Hardware Compatibility Publisher

 

で、特定のハイレゾ動画で緑色の砂の嵐になる現象は改善した。

 

しかし、次の問題点2は解決しなかったので、最終的には下記のAMDのページから最新のドライバーをダウンロードして

ATI Catalyst™ Display Driver

バージョンは以下の様になった。通常はここまでする必要はないと思う。(DELLのサポート外だし。)

しかし、結局の処、問題点2は解決しなかった。

Advanced Micro Devices, Inc.
2011/11/09
8.920.0.0
Microsoft Windows Hardware Compatibility Publisher

 

ここまできて、Windows エクスペリエンスを更新してみたらグラフィックが6.1から7.1になった。ドライバの更新で性能自体も向上するようなので購入したままの状態の人はデルで最新のドライバをダウンロードして更新することをお勧めします。


問題点2.ニコンの画像閲覧ソフトViewNX 2が以下の画像のように画面が乱れる。

本来、左の猫が表示されているところはエクスプローラーの様にフォルダーの一覧が表示されている箇所であるが、サムネイル画像を開いて元の大きさの画像を表示した後に閉じた場合にその画像がフォルダー一覧のあたりに残ってしまったり、サムネイルとフォルダの一覧の間のバーをドラッグして広さを調節した場合に、それが残像として残ってしまったりして画面が乱れてしまい、使いにくくなってしまったとのこと。

WS000005

とりあえず、私がグラフィックのドライバーを最新にしてみたり、私の指示で弟がViewNX2の最新バージョンや過去のバーションを上書きインストールしてみたりしてみたが、改善しなかった。ソフトのバグだろうと思った。

とりあえず、あきらめて弟のおごりで飲みに行ったw。

次の朝、目が覚めてもう一度だめもとでチャレンジしてみた。とりあえずViewNX2をアンインストールしてから最新版にインストールすることにした。

現在の最新バージョンはVer.2.2.5 JPだった。

View NX 2 – 特長 | ニコンイメージング

まあ、ダメだろうと思ってたのでViewNX2をインストールする前に他の事もやっておいた。

一般人にありがちですが、何かのソフトをインストールするときに、勝手に別のソフトがインストールされてしまう場合があります。チェックを外すとインストールされないの場合がほとんどですが、一般人はそのままインストールしてしまう場合が多いかと思います。

うちの弟も例に漏れず勝手にインストールされているソフトがいくつか有りました。

悪名高きJWORDと別にPC Tools Registry Mechanicも入ってました。これらのソフトが何らかの悪影響を与えている可能性も無きにしもあらずですのでさくっとアンインストールと思ったのですが流石悪名高きJWORD簡単にはアンインストールさせてくれませんでした。

JWord 検索サービス – ヘルプ – バージョン 1.x の JWord プラグインをアンインストールするプログラムについて

バージョン 1.x の JWord プラグインを最新の環境である 64 bit 版の Windows にインストールしてしまうと、通常の方法ではアンインストールすることができなくなる場合があります。

そういうわけで、アンインストールの画面からアンインストールしようとしてもうんともすんとも言わないので、上のアンインストールプログラムをダウンロードしてアンインストールしました。(おいおい

PC Tools Registry MechanicについてはPC Tools Firewall Plusを長らく使っている身としては特に可もなく不可もなくですが、不必要なソフトはなるべく入れないというポリシーのもと、弟のPCには不必要だと判断したのでアンインストールしました。

と、ここまで来てView NX2をインストールしてみたところ、問題が改善しました。

多分アンインストールしてからインストールしなおしたのが良かったのだと思いますが、一応念のために間にやったことは書いておきました。

弟が2ヶ月位悩んでいた問題が2つとも解決できてよかったです。

タグ :

最近はまたFirefoxをメインに使ってます。

一時期Google Chromeをメインに使っていましたが、最近はまたFirefoxをメインに使ってます。理由を箇条書きにすると、

  • Firefoxのメモリーの消費が大幅に減ったから。
  • Firefoxのレンダリング速度も大幅に早くなったから。
  • やっぱりサイドバーはある方が便利。
  • Google Chromeはメモリーの消費が半端無いのでタブを沢山開くと32bit OSだと辛い。
  • Google ChromeにはSageに取って代わるようなRSSリーダーがない。
  • Google Chromeがタブごとにプロセスが分かれているのでタスクマネージャーがみにくくなってしょうがない。

 

と言ってもGoogle Chromeも使ってないわけではないです。一応デフォルトのブラウザはGoogle Chromeのままです。アカウントを切り替えてサイトにアクセスするのには便利なのでプロファイルを切り替えてそういうサイトを見るときやとりあえず見る時はChromeです。

タグ : ,

消費税が10%になるらしいですね。

3%、5%と来ていきなり倍の10%ですか、一応8%経由らしいですが、無駄な手順を踏むくらいなら10%にしろと思います。いろんな業界の対応が大変なだけですから。(まあ、その対応の為の仕事が増えて潤うところもあるかも知れませんが)

と言うかこれで景気が良くなるわけがないですよね。さらに景気は冷え込みそうです。民主党になるだけで景気は良くなりますとか、ちゃんとやれば埋蔵金はいくらでもあるんですとか、高速は無料にするとか、ガソリンを安くするとか、子ども手当を給付するとかいろいろ嘘ぶいてなにも実現できず増税だけはがんばりますね。マニュフェスト詐欺もいいところです。

というか民主党に入れた国民がバカなんですけどね。子供の頃テレビを見るとバカになるとよく言われていましたが、そういう事をいっていた当時の大人達が本当にテレビを見てバカになってしまったわけで、テレビを見ると民主党に票を入れるようなバカになるというのがよく分かりました。本当にテレビはよくできた洗脳機械です。

×テレビを見ると馬鹿になる。
◯テレビを見ると民主党に票を入れるような馬鹿になる。

震災時、普天間基地移設問題、尖閣諸島問題の対応も最悪だったし一体どうなてしまうのでしょう。とにかく一日も早く民主政権には終わってもらいたいものです。

タグ :

FileZillaでリモートサイトのファイル一覧が表示されない時にチェックすること

最近仕事でHPのサーバーにFileZillaで接続したときに、ファイル一覧が表示されなくて戸惑ったのでメモ。

FFFTPだと普通に表示されるファイル一覧が、FileZillaでは表示されなかったので渋ったのですが、原因が分かりました。FileZillaは使い慣れてないのでちょっと戸惑ったのですが、使い慣れていればすぐに分かることなんでしょう。

現象としては、リモートホストに接続しても下の赤枠で囲んだ部分にファイル一覧が全く表示されないという症状が起こります。

FileZilla プロジェクト日本語トップページ – SourceForge.JP

20111504

原因はサーバーの文字コードとFileZillaの文字コードが一致していないために、ファイル一覧 が表示されないという状態になるようです。

サイトマネージャを開くと通常は下の画像の画面で[自動判別]が選択されているはずですが、これをサーバーの文字コードにあわせて上げる必要があります。今回私が接続したサーバーは文字コードがEUCに設定されていたので、[カスタム文字セットを使う]を選択してエンコーディングに、[euc-jp]と指定してあげるとファイル一覧が表示されるようになりました。

20111505

タグ :

LightboxやSlimboxなどで画像をオーバーレイ表示したときにYoutube PlayerなどのFlashコンテンツの裏側に隠れてしまう件

このブログもLightbox Plusを使っていますが、画像をLightboxやSlimboxなどを利用してJavaScriptでオーバーレイ表示している場合、Flashコンテンツの裏側に隠れてしまう場合があります。色々なブラウザで試してみたところYoutubeプレーヤーの場合Firefox以外は全滅な感じです。対処する方法がないものか調べてみたら有りましたのでメモしておきます。

実際の例として下の二つのYoutubeの動画を張りつけておきます。動画の下の画像をクリックしてみてYoutubeプレーヤーの裏に隠れるかどうか試してみてください。

◆対処していないもの(画像がプレーヤー裏に隠れる)

TS3Y0007

 

◆対処したもの(画像がプレーヤー裏に隠れない)

CA350442

 

対処方法は下の様に動画のURLの後に下のオプションを追加することです。「wmode=opaque

具体的には下の貼付けタグを

<iframe width="420" height="315" src="http://www.youtube.com/embed/Xi7ovpcJJ_M" frameborder="0" allowfullscreen></iframe>

下の様に変更します。

<iframe width="420" height="315" src="http://www.youtube.com/embed/Xi7ovpcJJ_M?wmode=opaque" frameborder="0" allowfullscreen></iframe>

これで、どのブラウザでも画像がyoutubeプレーヤーの裏側に隠れないようになるはずです。

その他フラッシュコンテンツのパラメーターとして渡す場合は

<param name="wmode" value="opaque" />

というようにパラメータを追加するといいようです。

おまけ

CA350441

タグ : , , ,

CLaunchとclip.exeを使ってパスワード入力などを楽にする方法。

ソフトを簡単に起動できるランチャソフトとクリップボードに文字をリダイレクトしてクリップボードに登録できるclip.exeを利用してパスワード入力などを簡単にしようというお話。

クリップボードの履歴などを管理するソフトなども色々ありますが、どうせなら普段から使っているランチャのCLaunchを使って、簡易的なクリップボード履歴ソフト替わりにできないものかと思い工夫してみました。

20111491

 ぴょんきちのページ

クリップボードに文字列を登録できるclip.exeはXPの限られたバージョンとVista以降には最初から入っているようです。

Windows XP Home editionなどにはないっていない様ですのでVectorから純正の代わりとして使えるフリーのclip.exeがありますのでこれを利用します。

clip.exeの詳細情報 : Vector ソフトを探す!

解凍するとclip.exeが出てきますので

20111492 

C:\WINDOWSなどのパスが通っているフォルダーにコピーしておきます。

そして次に、CLaunchのボタンにアイテムを登録します。

20111494

アイテム登録の画面が表示されたら、
%SystemRoot%\system32\cmd.exe
と入力します。

20111495 

OKボタンをクリックすると、下の様にcmdというボタンが登録されます。

20111496

で、このボタンを右クリックして「プロパティ」を選択します。

20111497

ボタンのプロパティの画面が開いたら、
名前:適当な名前
パラメータ:「/c echo クリップボードに登録したい文字列|clip
(※例では登録したい文字列をhogehogeにしています。)
実行時の大きさ:最小化
ツールチップ:説明文など
を入力してOKをクリック。

20111498

登録できたら早速使ってみます。
ボタンをクリックした後

20111499

実際にエディタ等の画面で貼り付けをやってみると

20111500

ボタンでクリップボードに登録した文字列を貼り付けることができます。

20111502

この機能を利用するとパスワード入力などを楽に行なうことが出来るようになります。色々応用も効きます。

一つ問題点として改行コードが必ず入ってしまう問題が有ります。改行コードが最後にくっついてしまうと、かならずエンターキーを押されたのと同じ動作になってしまうことがあるので、注意が必要です。エンターキーが入ると困る場合は、別の方法を考える必要が有ります。CLaunch自体がクリップボードへの登録機能をつけてくれると嬉しいですけどね。

タグ :

【perlメモ】「weaken is only available with the XS version of Scalar::Util」と表示されてperlスクリプトが動かない件

なんだか、前に作ったperlスクリプトが下の様なエラーを吐いて動かなくなっていたので調べてみた。

[kumacchi@rad-xen-vweb7 hogehogehoge]$ perl hogehogehoge.pl
weaken is only available with the XS version of Scalar::Util at /usr/lib/perl5/site_perl/5.8.8/SOAP/Lite.pm line 2503
BEGIN failed–compilation aborted at /usr/lib/perl5/site_perl/5.8.8/SOAP/Lite.pm line 2503.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/XMLRPC/Lite.pm line 13.
BEGIN failed–compilation aborted at /usr/lib/perl5/site_perl/5.8.8/XMLRPC/Lite.pm line 13.
Compilation failed in require at hogehogehoge.pl line 105.
BEGIN failed–compilation aborted at hogehogehoge.pl line 105.
[kumacchi@rad-xen-vweb7 hogehogehoge]$

なんか、Scalar::Utilでエラーっぽいのでcpanからインストールすればいいんじゃないかと思ってやってみたけどもう入ってると言われた。

cpan> install  Scalar::Util
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
  Database was generated on Sat, 10 Dec 2011 01:31:28 GMT
Scalar::Util is up to date.

検索してみると下記のブログ記事を発見。

解決:Scalar::Util::weakenを使おうとするとWeak references are not implementedで落ちる – ヒルズで働くholidays-lの技ログ

やっぱり、Scalar::Utilを入れなおせばいいらしい。

一応真似して、動作確認とバージョン表示をしてみる。

[root@rad-xen-vweb7 ~]# perl -MScalar::Util=weaken -e 42
weaken is only available with the XS version of Scalar::Util at -e line 0
BEGIN failed–compilation aborted.
[root@rad-xen-vweb7 ~]# perl -MScalar::Util -e ‘print Scalar::Util->VERSION’
1.23[root@rad-xen-vweb7 ~]# perl -MCPAN -e shell

cpanのシェルを起動して強制インストールしてみた。

[root@rad-xen-vweb7 ~]# perl -MCPAN -e shell

cpan shell — CPAN exploration and modules installation (v1.7602)
ReadLine support enabled

Display Information
command  argument          description
a,b,d,m  WORD or /REGEXP/  about authors, bundles, distributions, modules
i        WORD or /REGEXP/  about anything of above
r        NONE              reinstall recommendations
ls       AUTHOR            about files in the author’s directory

Download, Test, Make, Install…
get                        download
make                       make (implies get)
test      MODULES,         make test (implies make)
install   DISTS, BUNDLES   make install (implies test)
clean                      make clean
look                       open subshell in these dists’ directories
readme                     display these dists’ README files

Other
h,?           display this menu       ! perl-code   eval a perl command
o conf [opt]  set and query options   q             quit the cpan shell
reload cpan   load CPAN.pm again      reload index  load newer indices
autobundle    Snapshot                force cmd     unconditionally do cmd

cpan> force install Scalar::Util
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
  Database was generated on Sat, 10 Dec 2011 01:31:28 GMT
Running install for module Scalar::Util
Running make for G/GB/GBARR/Scalar-List-Utils-1.23.tar.gz
CPAN: Digest::MD5 loaded ok
Checksum for /root/.cpan/sources/authors/id/G/GB/GBARR/Scalar-List-Utils-1.23.tar.gz ok
Scanning cache /root/.cpan/build for sizes
Scalar-List-Utils-1.23/
Scalar-List-Utils-1.23/Changes
Scalar-List-Utils-1.23/lib/
Scalar-List-Utils-1.23/ListUtil.xs
Scalar-List-Utils-1.23/Makefile.PL
Scalar-List-Utils-1.23/MANIFEST
Scalar-List-Utils-1.23/META.yml
Scalar-List-Utils-1.23/multicall.h
Scalar-List-Utils-1.23/README
Scalar-List-Utils-1.23/SIGNATURE
Scalar-List-Utils-1.23/t/
Scalar-List-Utils-1.23/XS.pp
Scalar-List-Utils-1.23/t/00version.t
Scalar-List-Utils-1.23/t/blessed.t
Scalar-List-Utils-1.23/t/dualvar.t
Scalar-List-Utils-1.23/t/expfail.t
Scalar-List-Utils-1.23/t/first.t
Scalar-List-Utils-1.23/t/isvstring.t
Scalar-List-Utils-1.23/t/lln.t
Scalar-List-Utils-1.23/t/max.t
Scalar-List-Utils-1.23/t/maxstr.t
Scalar-List-Utils-1.23/t/min.t
Scalar-List-Utils-1.23/t/minstr.t
Scalar-List-Utils-1.23/t/openhan.t
Scalar-List-Utils-1.23/t/p_00version.t
Scalar-List-Utils-1.23/t/p_blessed.t
Scalar-List-Utils-1.23/t/p_first.t
Scalar-List-Utils-1.23/t/p_lln.t
Scalar-List-Utils-1.23/t/p_max.t
Scalar-List-Utils-1.23/t/p_maxstr.t
Scalar-List-Utils-1.23/t/p_min.t
Scalar-List-Utils-1.23/t/p_minstr.t
Scalar-List-Utils-1.23/t/p_openhan.t
Scalar-List-Utils-1.23/t/p_readonly.t
Scalar-List-Utils-1.23/t/p_reduce.t
Scalar-List-Utils-1.23/t/p_refaddr.t
Scalar-List-Utils-1.23/t/p_reftype.t
Scalar-List-Utils-1.23/t/p_shuffle.t
Scalar-List-Utils-1.23/t/p_sum.t
Scalar-List-Utils-1.23/t/p_tainted.t
Scalar-List-Utils-1.23/t/proto.t
Scalar-List-Utils-1.23/t/readonly.t
Scalar-List-Utils-1.23/t/reduce.t
Scalar-List-Utils-1.23/t/refaddr.t
Scalar-List-Utils-1.23/t/reftype.t
Scalar-List-Utils-1.23/t/shuffle.t
Scalar-List-Utils-1.23/t/stack-corruption.t
Scalar-List-Utils-1.23/t/sum.t
Scalar-List-Utils-1.23/t/tainted.t
Scalar-List-Utils-1.23/t/weak.t
Scalar-List-Utils-1.23/lib/List/
Scalar-List-Utils-1.23/lib/Scalar/
Scalar-List-Utils-1.23/lib/Scalar/Util/
Scalar-List-Utils-1.23/lib/Scalar/Util.pm
Scalar-List-Utils-1.23/lib/Scalar/Util/PP.pm
Scalar-List-Utils-1.23/lib/List/Util/
Scalar-List-Utils-1.23/lib/List/Util.pm
Scalar-List-Utils-1.23/lib/List/Util/PP.pm
/bin/tar: 4608 バイトを – から読み込み
Scalar-List-Utils-1.23/lib/List/Util/XS.pm

  CPAN.pm: Going to build G/GB/GBARR/Scalar-List-Utils-1.23.tar.gz

Checking if your kit is complete…
Looks good
Writing Makefile for List::Util
cp lib/List/Util/XS.pm blib/lib/List/Util/XS.pm
cp lib/Scalar/Util/PP.pm blib/lib/Scalar/Util/PP.pm
cp lib/List/Util/PP.pm blib/lib/List/Util/PP.pm
cp lib/List/Util.pm blib/lib/List/Util.pm
cp lib/Scalar/Util.pm blib/lib/Scalar/Util.pm
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap  ListUtil.xs > ListUtil.xsc && mv ListUtil.xsc ListUtil.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables   -DVERSION=\"1.23\" -DXS_VERSION=\"1.23\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE"  -DPERL_EXT ListUtil.c
ListUtil.c: In function ‘XS_List__Util_min’:
ListUtil.xs:144: 警告: ‘retval’ may be used uninitialized in this function
Running Mkbootstrap for List::Util ()
chmod 644 Util.bs
rm -f blib/arch/auto/List/Util/Util.so
gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -L/usr/local/lib ListUtil.o  -o blib/arch/auto/List/Util/Util.so        \
                \

chmod 755 blib/arch/auto/List/Util/Util.so
cp Util.bs blib/arch/auto/List/Util/Util.bs
chmod 644 blib/arch/auto/List/Util/Util.bs
Manifying blib/man3/List::Util::XS.3pm
Manifying blib/man3/List::Util.3pm
Manifying blib/man3/Scalar::Util.3pm
  /usr/bin/make  — OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, ‘blib/lib’, ‘blib/arch’)" t/*.t
t/00version………..ok
t/blessed………….ok
t/dualvar………….ok
t/expfail………….ok
t/first……………ok
        2/21 skipped: Poor man’s MULTICALL can’t cope
t/isvstring………..ok
t/lln……………..ok
t/max……………..ok
t/maxstr…………..ok
t/min……………..ok
t/minstr…………..ok
t/openhan………….ok
t/p_00version………ok
t/p_blessed………..ok
t/p_first………….ok
t/p_lln……………ok
t/p_max……………ok
t/p_maxstr…………ok
t/p_min……………ok
t/p_minstr…………ok
t/p_openhan………..ok
t/p_readonly……….ok
t/p_reduce…………ok
t/p_refaddr………..ok
t/p_reftype………..ok
t/p_shuffle………..ok
t/p_sum……………ok
t/p_tainted………..ok
t/proto……………ok
t/readonly…………ok
t/reduce…………..ok
        2/29 skipped: Poor man’s MULTICALL can’t cope
t/refaddr………….ok
t/reftype………….ok
t/shuffle………….ok
t/stack-corruption….ok
t/sum……………..ok
t/tainted………….ok
t/weak…………….ok
All tests successful, 4 subtests skipped.
Files=38, Tests=475,  1 wallclock secs ( 0.94 cusr +  0.21 csys =  1.15 CPU)
  /usr/bin/make test — OK
Running make install
Installing /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/List/Util/Util.so
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Writing /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/List/Util/.packlist
Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod
  /usr/bin/make install  — OK

cpan> q
Lockfile removed.
[root@rad-xen-vweb7 ~]#

動くようになりました。

[root@rad-xen-vweb7 ~]#
[root@rad-xen-vweb7 ~]# perl -MScalar::Util=weaken -e 42
[root@rad-xen-vweb7 ~]# perl -MScalar::Util -e ‘print Scalar::Util->VERSION’
1.23[root@rad-xen-vweb7 ~]#

めでたしめでたし。

タグ :

CentOS5.6にSybase ASE 11.0.3.3とDBD::Sybase 1.14をインストールしてみた

下記の記事を参考に、自宅VMware Player 3.1.5上のCentOS 5.6上に Sybase ASE 11.3.3をインストールしてみた。以下の記事を参考にすればちょっと古いけど無料のSybaseをインストールすることが出来る。

CentOS5.6にSybase ASE 11.0.3.3 ESD#6をインストールしてみた – roshi.tv::blog

で、Perlから使いたのでDBD::Sybase 1.14をインストールしてみようとしたが、単純にCPANからinstall DBD::Sybaseではインストール出来なかったのでメモ。

make test時に日本語設定だと以下のような感じで

t/base……….install_driver(Sybase) failed: Can’t load ‘/root/.cpan/build/DBD-Sybase-1.14/blib/arch/auto/DBD/Sybase/Sybase.so’ for module DBD::Sybase: /opt/sybase/lib/libcomn.so: 再配置後にセグメントprotをリストアできません: 許可がありません at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.

英語環境だと下のような感じでエラーになる。

#   Failed test ‘use DBD::Sybase;’
#   in t/autocommit.t at line 18.
#     Tried to use ‘DBD::Sybase’.
#     Error:  Can’t load ‘blib/arch/auto/DBD/Sybase/Sybase.so’ for module DBD::Sybase: /opt/sybase/lib/libcomn.so: cannot restore segment prot after reloc: Permission denied at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.

 

調べてみるとSELinuxが動いているとコンパイル時に色々問題が出るらしいのでSELinuxを一時的又は永久に無効にするとコンパイル出来る。

SELinuxを無効化する | Smart -Web Magazine

簡単にメモっておくと

SELinuxの動作状況をチェックするにはgetenforceコマンドを利用する。Enforcingと表示されれば有効な状態。PermissiveまたはDisabledと表示されれば無効な状態。

[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]#

 

SELinuxの有効無効を切り替えるにはsetenforceコマンドを利用する。引数に1を渡して実行すれば有効。0を渡して実行すれば無効になる。

[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]#

 

あと、まだ以下の様なエラーでコンパイルやtestで通らない場合がある。

our sybase home directory is /opt/sybase. Check the environment variable SYBASE if it is not the one you want!
Using locale name "ja_JP.UTF-8" defined in environment variable LANG
Locale name "ja_JP.UTF-8" doesn’t exist in your /opt/sybase/locales/locales.dat file
t/autocommit….NOK 2
#   Failed test ‘use DBD::Sybase;’
#   in t/autocommit.t at line 18.
#     Tried to use ‘DBD::Sybase’.
#     Error:  DBD::Sybase initialize: cs_ctx_alloc(112) failed at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 253.

 

言語設定がちゃんとあってないと動かないみたいなのでとりあえず面倒なのでCにした。

export LANG=Cでとりあえずテストもそれなりに動くようになった。

[root@localhost ~]# export LANG=C
[root@localhost ~]# env
(中略)
LANG=C
(中略)
[root@localhost ~]#

と言ってもすべてのテスト(13/13)にパスしなかったのが

Failed 13/13 test scripts, 0.00% okay. 218/231 subtests failed, 5.63% okay.

以下の様に(3/13)に減って76.92%はパスする様になっただけなのだが

Failed 3/13 test scripts, 76.92% okay. 5/241 subtests failed, 97.93% okay.

 

まあ、これだけ動けばなんとかなるでしょ。ということでcpanのシェルから

force install DBD::Sybase

して強制インストールした。

perlからDBI経由でSybaseを使う場合も言語の設定が一致していないと以下の様なエラーんなる。なのでとりあえず面倒なのでというかちょっと色々やってみたけどうまくいかなかったのでとりあえず、export LANG=Cで日本語は使わないようにして利用。とりあえず勉強用なのでこれで妥協。余裕があればちゃんとしたけど古いものなのでutf-8に対応してないっぽいのと、逆にlinux側がデフォではShift_JISに対応していないのでめんどくさい。とりあえず下記のサイトが参考になるかも知れない。
SJISを使えるようにする。 – 明日=今日×(反省+前向き)+努力

 

[root@localhost sybase]# perl test05.pl

The context allocation routine failed when it tried to load localization files!!
One or more following problems may caused the failure

Your sybase home directory is /opt/sybase. Check the environment variable SYBASE if it is not the one you want!
Using locale name "ja_JP.UTF-8" defined in environment variable LANG
Locale name "ja_JP.UTF-8" doesn’t exist in your /opt/sybase/locales/locales.dat file
DBD::Sybase initialize: cs_ctx_alloc(112) failed at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 253.
Compilation failed in require at test05.pl line 2.
BEGIN failed–compilation aborted at test05.pl line 2.
[root@localhost sybase]#

 

sshでサーバにログインして

/opt/sybase/bin/isql -U<ユーザ名> -P<パスワード> -S<サーバ名>

と言った感じでSybaseにログイン

/opt/sybase/bin/isql -Uzipuser2 -Pxxxxxxxx -SSYBASE -Jsjis   

 

テストでこんなテーブルを作ってみた。

CREATE TABLE test2 (
  name char(10),
  zip7 char(10),
  tel  char(15),
  flag1 tinyint,
  flag2 tinyint,
  date  smalldatetime,
)

 

ちなみにSybaseではgoコマンドを入力すると実際にSQLが実行される。下のような感じ

 

1> select * from test2
2> go
name       zip7       tel             flag1 flag2 date
———- ———- ————— —– —– ————————–
tanaka     yamato@yam 1112222333          1     1        Nov 13 2011  6:58PM
tanaka2    yamato2@ya 22222               2     3        Nov 13 2011  6:58PM
tanaka3    yamato3@ya 3333                3     4        Nov 13 2011  6:58PM
tanaka3    yamato4    3333                3     4        Nov 13 2011  6:59PM
tanaka5    tanaka5@aa 3333                3     4        Nov 13 2011  7:02PM
tanaka6    tanaka6    3333                3     4        Nov 13 2011  7:02PM

(6 rows affected)
1>

 

とりあえず本当に簡単なストアドを勉強がてらに作成してみる。

CREATE PROCEDURE CursorSelect8 @IN_FLAG TINYINT,@RESULT TINYINT OUTPUT,@R2 TINYINT OUTPUT
AS
BEGIN
    begin
    SELECT
        name,
        flag1
    FROM
        test2
    WHERE flag1 = @IN_FLAG
    end
    begin
    select @RESULT = 22
    select @R2     = 33
    end
    return 77
END

 

単純にTera Term上から貼り付けてた。(最近までずっとPuTTYばかり使ってましたがまた最近Tera Termを触り始めました。いつのまにやらずいぶん進化してた。)

goするとエラーがあれば表示される。

1> CREATE PROCEDURE CursorSelect8 @IN_FLAG TINYINT,@RESULT TINYINT OUTPUT,@R2 TINYINT OUTPUT
2> AS
3> BEGIN
4>     begin
5>     SELECT
6>         name,
7>         flag1
8>     FROM
9>         test2
10>     WHERE flag1 = @IN_FLAG
11>     end
12>     begin
13>     select @RESULT = 22
14>     select @R2     = 33
15>     end
16>     return 77
17> END
18> go
1>

実際にストアドを実行すると以下の様になる。

1> declare @result tinyint,@r2 tinyint
2> exec CursorSelect8 1,@result output,@r2 output
3> go
name       flag1
———- —–
tanaka         1

(1 row affected, return status = 77)

Return parameters:

— —
22  33

1>

 

これをDBIを使ってPerlで取得するには下の様なサンプルを書いてみた。(突っ込みどころ満載なのでほんとにサンプルとしてみてね。)

●ソース:test05.pl

use DBI;
use DBD::Sybase;

print "DBD::Sybase = $DBD::Sybase::VERSION\n";

my $user = ‘zipuser2’;
my $passwd= ‘hogehoge’;

my $dbh = DBI->connect("dbi:Sybase:", $user, $passwd);
#my $hst = $dbh->prepare(‘SELECT COUNT(*) FROM test1’);
#my $hst = $dbh->prepare(‘declare @result int exec CursorSelect1 3,@result output’);
my $hst = $dbh->prepare(q/
declare @result tinyint,@r2 tinyint
exec CursorSelect8 3,@result output,@r2 output
/);

my $ret = $hst->execute();
print "ret = $ret\n";
unless($ret){
    my $errstr = $dbh->errstr;
    $hst->finish;
    undef $hst;
    $dbh->disconnect;
    die "err=".$errstr;
}

while(my $ref = $hst->fetchrow_arrayref){
    print "line: type=$hst->{syb_result_type} ".$ref->[0],’ ‘,$ref->[1], ‘ ‘,$ref->[2],"\n";
}

my @results = $hst->syb_output_params();
foreach my $str(@results){
    print "result:$str\n";
}

$hst->finish;
$dbh->disconnect;

●実行結果

[kumacchi@localhost sybase]$ perl test05.pl
DBD::Sybase = 1.14
ret = -1
line: type=4040 tanaka3 3
line: type=4040 tanaka3 3
line: type=4040 tanaka5 3
line: type=4040 tanaka6 3
result:22
result:33
[kumacchi@localhost sybase]$

ちゃんとmakeできていないからなのか、古いSybaseとDBDが噛み合ってないのか、そういうものなのかわからないが、syb_output_params()メソッドを使うとストアドのreturnの値77が取得出来なかった。22と23は取得できる。(※output_paramsなのだからやっぱりそういうものなのかな?)

そういうわけで修正してみたのが下。

●ソース:test06.pl

use DBI;
use DBD::Sybase;

print "DBD::Sybase = $DBD::Sybase::VERSION\n";

my $user = ‘zipuser2’;
my $passwd= ‘hogehoge’;

my $dbh = DBI->connect("dbi:Sybase:", $user, $passwd);
#my $hst = $dbh->prepare(‘SELECT COUNT(*) FROM test1’);
#my $hst = $dbh->prepare(‘declare @result int exec CursorSelect1 3,@result output’);
my $hst = $dbh->prepare(q/
declare @result tinyint,@r2 tinyint
exec CursorSelect8 3,@result output,@r2 output
/);

my $ret = $hst->execute();
print "ret = $ret\n";
unless($ret){
    my $errstr = $dbh->errstr;
    $hst->finish;
    undef $hst;
    $dbh->disconnect;
    die "err=".$errstr;
}

{
while(my $ref = $hst->fetchrow_arrayref){
    print "line: type=$hst->{syb_result_type} ".$ref->[0],’ ‘,$ref->[1], ‘ ‘,$ref->[2],"\n";
}
redo if $hst->{syb_more_results};
}

#my @results = $hst->syb_output_params();
#foreach my $str(@results){
#   print "result:$str\n";
#}

$hst->finish;
$dbh->disconnect;

肝は
redo if $hst->{syb_more_results};
の部分、これでちゃんとreturn 77の値も取得できた。

[kumacchi@localhost sybase]$ perl test05.pl
DBD::Sybase = 1.14
ret = -1
line: type=4040 tanaka3 3
line: type=4040 tanaka3 3
line: type=4040 tanaka5 3
line: type=4040 tanaka6 3
line: type=4043 77
line: type=4042 22 33
[kumacchi@localhost sybase]$

 

参考

DBI/DBDについて

DBD::Sybase – search.cpan.org

DBD::Sybase – DBIモジュールのためのSybaseデータベース・ドライバ 【perldoc.jp】

Sybase SQL & Functions

■その他

#ちょっと調べた感じではSybase ASE 11.0.3.3では@@FETCH_STATUSとかROWID()などはサポートされていないみたい。最新バージョンではサポートされているっぽい(?)。

##ASE 15.7の評価版などもSybaseのサイトからダウンロード出来るみたいだけどLinuxは64ビット版だけみたいなのと、インストール方法がよくわからなかったのでダウンロードはしたけどとりあえず保留。

#サイベース情報少ないね。

タグ : , , ,

ある真夜中の出来事

P&G ファブリーズ ダブル除菌 370ml

昨夜午後11時頃に愛猫と一緒に就寝した。

午前0時30分頃に頭の側面と後頭部に湿った嫌な感触を感じて目が覚めた。多分寝返りを打った拍子にその湿った何かに乗ってしまったのだろう。

覚えのある臭いが鼻を突いた。魚と湿ったスナック菓子が混じり合ったような臭いだ。

私の腕枕で寝ていたはずの猫はいなくなっていた。たぶん叱られると思って逃亡したのだろう。そう、多分これは猫のゲロだ。

真っ暗闇の中、恐る恐る起き上がり後頭部を触ってみると何かがべっとりとくっついている。手探りで枕の上を触るとねっとりとしている。いつもなら猫に文句の一つもいうのだがあまりの大惨事に怒る気力も湧かない。電気を点けるため恐る恐るロフトベッドからにじり降りることにする。

と、足元の方の手をついた所でまたしても手のひらになにやらねっとりとしたものを感じる。ここにもゲロっていた。圧倒的な絶望感。

やれやれ。

うんざりしながらロフトベッドを降りて電気を付ける。時刻は0時30分位だった。就寝してからまだ1時間半しか経っていない。

一緒に寝ていた猫は私が寝入った後ロフトベッドを降りてエサを頬張りまたロフトベッドを登り私の枕元に来た所で吐き気を催し私の枕の上に盛大にゲロったわけだ。そして私の頭は寝返りの勢いでロードローラの如くゲロを枕の上にまんべんなく慣らした。

電気を付けると猫はキャットウォークの上で固まっていた。いかにも怒られるんじゃないかと思っている時の顔をしていた。

CA350013
参考画像

ロフトベッドから降りた私は、ティッシュの箱とファブリースダブル除菌を持って再度現場に突入した。まずは足元の方からだ。幸い私がピンポイントで手を着いた箇所だけで他に被害はなかった。毛布も無事だった。多分枕の上で吐いた後ヤバイと思って逃亡途中に私の足元で吐いたのだろう。

通常であれば猫の吐いてる物音で目が醒める私であるはずなのだが今日は数日前に買ってきた耳栓をして寝ていたために全く気が付かなかった。やっぱり耳栓をして寝るとぐっすり眠れると実感していた矢先の出来事であった。

足元のゲロを拭きとってファブリースした後本命の枕の方のゲロの除去に向かった。被害は予想よりもひどかった。見事に枕の真ん中に盛大にゲロられていた。多分私は端っこの方に寝ていて、そこに猫が布団に入れてくれと私に催促しにきた所でゲロってしまったのだろう。

ティッシュで何度も枕を拭きとってはファブリースダブル除菌を繰り返した結果、コンビニ袋いっぱいの使用済みティッシュが量産された。しかし枕内部までゲロ液が染みこんでしまっているようだ。念入りにファブリースダブル除菌した。このままでは寝られないので枕の上にティッシュを何重にも敷き詰めて寝ることにした。

寝ていると怒られないしほとぼりも覚めたようだと確信した猫がやってきて私の頭の上にやってきておでこをパシパシし猫パンチし始めた。(おい

ねこ「おい(パシッ)入れろよ。(パシッ)」

と行った感じ。

しょうがないので毛布の入口を広げてやると入ってきて腕枕で悠々と寝始めた。まあいいか。

しばらくそのまま寝ようと務めたが、枕の内部まで浸透した液が逆流し染みてきて敷き詰めたティッシュに濡らしてきた。しかも例の魚と湿ったスナック菓子の入り混じった臭いもしてきた。

自分の頭もティッシュで拭きとってはいたがなんだか痒くなってきたしどうも肩の後ろの方までゲロで湿っていたようで気持ちが悪い。とうとう我慢しきれなくなった私は洗濯をすることにした。

枕をもってロフトベッドを降りた私は、着替えを持って風呂場に向かった。洗濯機に枕と枕カバーと着ていたスエットと下着と靴下を放り込み洗剤を入れてスイッチを入れた。洗濯している間にシャワーを浴びた。

シャワーを出て洗濯したものを袋に詰めて歩いて1分ほどの所にあるコインランドリーに向かった。コインランドリーの乾燥機に枕などを放り込み百円玉を入れた。

百円玉が1枚しかなかったのですぐ隣りのローソンに向かった。雪印コーヒーとおでんを少しかってコインランドリーに戻った。もう百円追加投入して乾燥が終わるのを待つことにした。

ローソンのおでんを食べたあと雪印コーヒーを飲みながら暇つぶしに持ってきた穴の開いた靴下とソーイングセットで靴下の穴を塞ぐといういじましい作業に残りの時間を費やした。

乾燥が終わって部屋に戻ってきた私はこうしてこのブログの記事を書いている。今午前2時58分である。本当なら今頃夢の世界に居る筈である。

 

久しぶりに食べたおでんはうまかった。

タグ : ,

海外ドラマ『イレブンス・アワー』を見ていたら水俣病の話が出てきた件

私がGyaOで見ているドラマは心療内科のドラマ『メンタル』、FBI科学捜査のドラマ『イレブンス・アワー』、救急救命士が超能力者で人の心が読める『リスナー』、警察物の『クローザー』ですが、今日『イレブンス・アワー』を見たのですがタイトルが『水俣』だったので嫌な予感がしたんですが、やっぱり水俣病絡みの話でした。日本でもずいぶん昔の話だし最近の若い人は知らないかもしれないぐらいの話なのに(学校の社会科で習う?)アメリカのドラマの中で語られるとかなんという不名誉な話でしょう。とは言ってもやっぱり日本の四大公害病の一つに数えられている水俣病なので世界でもそれなりに知られているのだなと思った次第です。過去の日本の公害病の事と311の原発の放射能漏れの事を思うと中国の公害の事笑えないです。

水俣病 – Wikipedia
イタイイタイ病 – Wikipedia
公害病 – Wikipedia
イレブンス・アワー シーズン1|無料動画 GyaO![ギャオ]|ドラマ・アジア

で、ドラマの内容としてはアメリカのある街で多数の水銀中毒患者が発生し捜査に来たDr.フッドが水俣病のようだと比喩するわけですが、その原因はどこにあるのか解決するというお話です。

私は熊本県の出身で、水俣港から直線距離で60キロも離れていない所に住んでいたので子供の頃から割りと身近な問題として考えていました。子供の頃は家の近くでよく釣りをしたのでもしかしたら水俣から泳いで来た魚を食べて普通よりは多少なりとも水銀を蓄積してしまっているのではないかと思ったことが有ります。

ドラマの中でも出てきますがキレート療法によって水銀中毒は解毒出来るとあります。実際何年か前にアメリカの学校で水銀中毒が発生したときにも同じような事をいっていたような気がします。

今検索してみたのですがアメリカの学校の事件は下の記事がそうかなと思います。

水銀パニックに陥る Texarkana (1/28, Greeny)

あと気になる検索しているときに下の記事が引っかかり気になりました。

毎日ツナ缶を食べていた男性が水銀中毒に

水銀を蓄積するような魚は食物連鎖の頂点に居るような魚で例えば、カジキやマグロなどの他の魚を食べる大型魚です。なのでこれらの魚には水銀が多量に含まれ例えば妊婦などには摂取を控えるように推奨されています。でもって食物連鎖の頂点に居るのは人間なのでつまり人間が一番水銀を蓄積しやすいわけです。特に日本人は寿司や刺身を食べるので大型魚を食べる機会が多いですからなおさら注意が必要なわけです。

これらの要因から自閉症の子供の原因の一端は水銀中毒ではないかとの説も有ります。

幼児に予防接種するワクチンに含まれている水銀が自閉症の原因ではないかとの説も有ります。

そういうわけで色々気になったので、自分がどれくらい水銀を蓄積しているのか調べる方法はあるのか、個人で水銀を排出するようなキレート療法は出来るのか、水銀を排出する事の出来る食べ物はあるのかをちょっと調べて見ました。

水銀の蓄積は「毛髪ミネラル検査」で調べることが出来るようです。検査してくれる病院(検索した限りではやってる病院はあんまりないみたい)に行くかまたは下の様に毛髪を送ると検査結果が送られてくるものがあるようです。一度やってみたいです。

あと、アミノキレートなるサプリメントがありこれが水銀排出効果があるようです。レビューを見てみると真偽は不明ですが自閉症(?)の子供に飲ませて効果があったようなことが書いてあります。

なんにしても一度「毛髪ミネラル検査」をやってみるのがよさそうですね。大体1万円前後の料金のようです。特にこれから子供を作る予定の女性はやったほうがいいと思います。

あと普段の食べ物で水銀の解毒効果のある食べ物があるのかを調べてみました。

硫黄・タウリン・セレンなどが水銀の解毒効果があるようです。タウリンやセレンなどはサプリメントでもあるのでそれらを利用してみるのもいいかもしれないですね。

有効成分 多く含有する食物
硫黄 卵、鶏肉、にんにく、たまねぎ、ねぎ、にら、アスパラガス
タウリン ホタテ、カニ、イカ、貝、タコ
セレン 海藻類

参考:水銀を排出するには

 

 

毛髪ミネラル検査のすすめ―見てわかる図解版 デトックス健康法の決め手

タグ :

 
© KUMA TYPE