変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

【ZOTAC】 MAGNUS EN1070 / EN1060

MAGNUS EN1070 GPU: GeForce GTX 1070
MAGNUS EN1060 GPU: GeForce GTX 1060
共通仕様
CPU: Core i5-6400T (quad-core, 2.2 GHz, up to 2.8 GHz)
メモリ: DDR4-1866/2133 SODIMM Slots (up to 32GB) ×2
ストレージ: 2.5-inch SATA 6.0 Gbps × 1、M.2 PCIEx4 / SATA SSD slot (22/42,22/60,22/80) ×1
USB: USB 3.0 ×2 、USB 3.1 Type-C  ×1、USB 3.1  ×1 、USB 2.0 ×2
サイズ: 210㎜ × 203㎜ × 62.2㎜
サイズも小さ目でゲームも十分できそう。
VESAマウンタは無い、ACアダプタなので電源部分は静かだが、CPUとGPUにそれぞれファンが付いているので、ゲーム時は煩いかもしれない。
一番の問題は、多分お高いんだろうなぁ。(笑
 



Windows 10 Anniversary Update について

https://support.microsoft.com/ja-jp/help/12387/windows-10-update-history?ocid=update_setting_client

Windows はより優れた Windows に常に更新され続けます。
Windows 10 Anniversary Update は Windows 10 の提供開始以来 2 回目の大きな更新です。
お客様からのフィードバックに基づくさまざまな新機能が 含まれています。
Windows 10 Anniversary Update のダウンロードとインストールは、お使いのデバイスで
利用可能になったときに自動的に行われます (インストール後にはデバイスでは Windows 10 バージョン 1607 が実行されます)。
まだ自動ダウンロードされないので
とりあえず画面内のボタンを押してインストした。


【nVIDIA】GeForce GTX 1060

やっとボクの本命のグラボが出そうです。
チップの中身はGTX 1080 のおよそ半分。
但しGDDR5のメモリバスが192ビットと GTX 960の128ビットよりはマシになると予想されている。
拡張電源が6ピンのみで120W。
性能はGTX 980より速いらしい。
後は価格次第だけど、GTX 970より高い価格を出してきそうな気がしている。
その場合は年末セールまでお預けかな(笑
注意点としてはSLIのコネクタが無いこと。
Windows 10 の DirectX12 には複数のグラフィックスカードを入れた場合に全部使える機能(Explicit Multi Adapter(EMA))があるので、もしかしたらコレでSLIもどきができるかもしれない。
当然DX9やDX11のゲームではできないし、ゲームやビデオカードのドライバがEMAに対応していることが必要だろう。
よくプレイしているFF14はDX9とDX11で、DX12では無い。
今は、DX11モードをONにすると、時々メモリーエラーやブルースクリーンやフリーズに悩まされるので、OFFにしている。
仮にDX12になって、EMAでプレイできるようになっても、トラブって、結局は「しばらくはお預け」ということもあるだろう。
そう考えると、FF14では2枚刺しはあまり意味はないと思う。
 
ps. 2016/07/19
FF14のpatch 3.35でエラー落ちのBugfixが入った。でもグラボを変えると・・・元の木阿弥になりそうなので、暫くはRADEON 7950のまま。



【AMD】RADEON RX 480

今メインパソでゲームするとたまにフリーズするので、Mini-ITxサイズの予備パソを用意した。
ケース: ENERMAX ECB1010 (Minimo.Q)
マザボ: ASROCK H110M-ITX/D3 BIOS:V1.60
CPU: Celeron G3900
メモリ: CFD Elixir Heatsink W3U1600HQ-4G ( DDR3 : 4GB×2枚)
電源:玄人志向 KRPW-SXP400W/90+ ワゴンセール品:普通のケースで使うためのアダプタ付、しかしファンの音が気になる。
※H110M-ITX/D3 はDDR3メモリが使えるマザボなので、余ったDDR3(2MB×2枚)を使う予定だったけど、相性が悪くi7-4770でも起動できなかったので、DDR3(4GB×2枚)を追加している。どうやらDouble-SideなDDR3は鬼門らしい。
メインパソが逝ってしまったら、この構成に、ほどほどのグラボを載せる予定だ。
先月予告されていたGTX 1070の後に出てくるハズの真のミドルレンジを予定していたら…
先にAMDからとっても安いものが出るらしいという情報が入ってきた。
日本での販売価格がとても気になってる。
いつもなら1ドル130円のレート+プレミアムなので199ドルなら最低でも2万6千円を越えるはずだ。
性能はミドルレンジで、拡張電源コネクタも6ピン1個で、400Wぐらいの電源ユニットなら大丈夫らしい。
多分発売直後にGTX 960 と  RX 480 のベンチ比較記事が出るだろうから、そのあたりをよーく読んでから決めることにしようかな。
運が良ければ早めにGTX 1070 と RX 480 のベンチ比較記事も見れるかもしれない。
そんな訳で6月いっぱいゆっくりと考えて決めるのがいいだろう。
だから・・・6月いっぱいまではメインパソがもってほしいぃなぁ・・・(無理かな?



C言語は難しいのか?

C言語は難しいと云う風評があるらしい。
実のところ、C言語はマクロアセンブラ並みの簡単な言語で、決して難しくはない。
ただ、書いた奴が下手だったらどうしようもない。
if(  i == 1 ) は
if( i=1 ) とやってしまいそうなので
if( 1==i ) が望ましいとかは
そういう知ったかブリはどうでもいい。
どうしてもトラブルの原因だっていうなら
if( i=1 )をワーニングくらい出すように要望書を書けばいいのだ。
それをしないから「知ったかブリ」でしかないのだ。
で、閑話休題。
例えば、実行時のパラメータとして、1~3を指定できるとしよう。
int  option = -1; /* 0 でもいいし、99でもいい。1~3以外なら何でもOK */
if ( isdigit(argv(1)) ) {
option = atoi(argv(1)));
}
switch(option) {
default: /* error */ break;
case 1:   1 の処理(); break;
case 2:   2 の処理(); break;
case 3:   3 の処理();  break;
}
void 1 の処理() {  … }
void 2 の処理() {  … }
void  3 の処理() {  … }
な感じに書いてくれれば、
短いので読みやすいがこれを
if ( !strcmp(argv(1),”1″) {
長い1の処理
・・・
※が延々と続く。
・・・
} else if ( !strcmp(argv(1),”2″) {
長い2の処理
・・・
※が延々と続く。
・・・
} else if ( !strcmp(argv(1),”3″) {
長い3の処理
・・・
※が延々と続く。
・・・
} else {
エラーの処理
※が延々と続く。
}
と書かれただけで、長くて読みにくい。
だが、これは他の言語でも同じハズだ。
 
よく見かけるログ出力にしても
int debug_flag = 0;
if( debug_flag && ログ処理(・・・とっても長い・・・) );
を1999年頃のプリプロセッサなら・・・
int debug_flag = 0;
#define DEBUG_LOG(…)  if( debug_flag && ログ処理(__VA_ARGS__) );
で済むハズ。※もう少し古いと妙な書き方になる。
そんな3簡単に気づたプチなアイデアすら出てこない。
思いつかないだけなのか?
もしかしたら今現在の一般的なC言語の参考書の出来が悪すぎるのかもしれない。
それ以上に
一番問題なのは
テスト・エミュレーターを作る気が全くないことかもしれない。
予算とか時間とか理由はついて来るが・・・
 
本当のところは
UIと云えばGUIしか見えない時世なので
 
エミュレーターって何?
何作ればいいんだぁ?
 
なんだろうなぁ・・・(終わってる
※エミュレーター:実機でテストすると延々と終わらないテストを手っ取り済ませるためのツール。実機が数MHzから数GHzに高速化されたら、すたれてしまったらしいが、シェルスクリプトとC言語のプログラムの組み合わせを考えると、シェルスクリプト自体がエミュレータでもあるが、今となってはエミュレーターという昔の臓器の名残(≒尾てい骨)の扱いになっている。



GeForce GTX 1080の記事を眺めながら・・・

最近FF14に復帰して以来、パソが時々フリーズするになったので、気になって仕方がないGeForce GTX 1080。
性能が上がっているのに消費電力(TDP)が200W未満なのが一番気に入っている。
VRAMは諸所の都合でHBM2ではなくGDDR5Xでメモリバスは256bitになっているが、メモリの性能がずば抜けているので、大きな問題にはならないらしい。
まだ時々めまいがするので、VRやHMDは使わないつもりなので、オーバースペックかもしれないが、同じグラボ(HD7950)を何年もFF14でプレイするのはさすがにグラボに負担(特にファン)がかかるだろうから、来年中には何かにアップグレードしようかと思っている。
※ID(ダンジョン)を初回クリアした後にエフェクト満載のムービーが流れるとグラボのファンの回転数が一気に上がるのでムービーが一番無理をかかっている気がしている。
FF14ではPS4のゲームパッドを使っているので、HMDを装備してプレイしても支障はない様な気もするが、HMDを装着したままキ-ボードでチャットは無理だろう。
え?常時ソロプレイだからチャット不要のハズ?
ID(ダンジョン)では「初見です。よろしくお願いします。」と、ちゃんと挨拶してますよ。
※「初見です。」と云わないと・・・「ギミックを踏んで頓死しても蘇生してもらえない」
※ボクが行く様なIDでは慣れれば誰も死なないから・・・ボスを倒した後にHP0に気が付くヒーラーは多い。
ゲームパッド使用時もキーボードは必須です!
ただボクの予算は少ないので、いづれAMDがPolarisのミドルレンジのグラボが出し、nVidiaが対抗してミドルレンジのグラボ(1060かな?)が出るだろうから、そのどちらかがボクの本命になりそうだ。
それに(グラフィックスの性能次第だけど・・・)、2016年中に出るかもしれないZen(APU版)を水冷し、mini-ITXケースという選択肢も残っている。
年末には、どれになっているだろうか?



【EXCEL】 セキュリティ警告を消す方法

ファイルサーバのEXCELファイルを開くと セキュリティ警告 のバーが出る。
しかし、このバーを閉じ保存しても、開くとまた出てくる。
なので、ファイルのある場所を「信頼できる場所」に登録しなければならないらしい。

EXCELから セキュリティ警告を消す方法

  1. ファイル⇒オプション
  2. 左のセキュリティセンター
  3. 右の【セキュリティセンター】ボタン
  4. 「信頼できる場所」を押す
  5. 下の「プライベート ネットワーク上にある信頼でいる場所を許可する」にチェックを入れる
  6. 【新しい場所の追加】ボタン⇒セキュリティ警告を表示したくないEXCELファイルのおいてある場所を入力
  7. 【OK】ボタンを押して保存

当然サブフォルダも含める様にした方がいい。



【CentOS7】 DiCE for Linux インスト失敗

CentOS5か6の頃、WAN側のIPアドレスを正しく取得できなかったので、Windows版のDiCEを今も使っている。
4月中はほとんど入院していた。
その間、自宅のWindowsのPCは停止したままだった。
もし3か月も入院していたら、
そして真っ先にルータがリセットする様な事態が発生していたら、
ここのブログのDDNSのアカウントの自然消滅という非常に厄介なことになっていたハズである。
今はCentOS7になっているし、再びDiCEを試してみる。
DiCE for Linux のバージョンは当時のままだった。
でもとりあえずやってみる。
wgetでダウンロードしてみると、URLのとおり download.cgi?p=diced019 というファイルが出来上がる。
名前をdiced01913.tar.gz に変更し、/usr/local/bin から tar zxvf diced01913.tar.gz で解凍。
setarch `uname -m` /usr/local/bin/DiCE/diced と実行すると
/usr/local/bin/DiCE/diced: ファイルが存在しません と云う内容のメッセージが出る。
lsコマンドで調べると実際にはファイルは存在していた。
dicedを直接実行してみると
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
と出てくる。
setarch が/lib/ld-linux.so.2の部分を省いて「diced」と「No such file or directory」を直結し、/usr/local/bin/DiCE/diced: ファイルが存在しません となったらしい。
別にsetarchだけではない。パッケージが足りない時は大抵のアプリは同じ様にトンチンカンなメッセージを吐き出すのだ。
そして/lib/ld-linux.so.2 は64bit版のOSで32bit版のアプリを動かすためのパッケージらしい。
だったら32bit版のLinuxでDiCEを動かせばいいはずだが・・・

※CentOS7から64bit版しか存在しないのだ。

yum install ld-linux.so.2 でライブラリィを追加して、再びsetarchで実行してみる。

※古いプログラムなのでTeraTermをEUCに変えないと文字化けする。

しかし、WAN側のIPアドレスを取得させてみると、ダンマリになってしまった。
多分、CentOS7で LANアダプターの名前がeh0 ではなく enp3s0 のようにランダムなものに変わったせいな気がする。
※通常のアプリからeth0などと指定することは滅多にないが、LAN関係のコマンドが吐き出すテキストをgrepやawkで欲しい部分だけ切り取ってくる場合には重要なキーワードだ。
今ではinet-ip.infoなどの外部のWEBサービスを使えば・・・
# curl inet-ip.info
xxx.yyy.zzz.www
と簡単に教えてもらえるが、当時は そういうサービスも無かったのかもしれない。
しかもdicedはバイナリーな実行プログラムだった。
当然ソースは無い。
と云う訳で、ここで投了。
rm -rf /usr/local/bin/DiCE
yum -y remove  ld-linux.so.2
で、使っていないパッケージを消去。
今後もWindows版を使い続けるしかないようだ。
と思ってたら
利用しているDDNSのサイトに「Linux用のIPアドレス更新サンプルスクリプト(専用)」を発見。(気が付かなかった
ちゃんとWAN側のIPアドレスが得られるのでクローンに登録。
コレで解決。(完了!
と思ったけど 動かない
/var/log/cron を見ると
crond[638]: (*system*) RELOAD (/etc/cron.d/ddns)
crond[638]: (CRON) bad command (/etc/cron.d/ddns)
なぜだろう???
# crontab設定例(/usr/local/ddns/ddns.plにスクリプトを置き10分間隔で実行)
# 5,15,25,35,45,55 * * * * /usr/local/ddns/ddns-update.pl
のドコがおかしいのかな?
あ、crontabじゃなくて cron.d に置いたから
*/10 * * * * root /usr/local/ddns/ddns-update.pl
とユーザ名を指定しないといけない。
※ */10は10分間隔で実行の指定。5,15,25,35,45,55とほぼ同じ。
というかcrontabは各ユーザごとのcron機能なのでユーザ名の設定は省かれている。
と思った方がよさそうだ。
/etc/cron.d/ddnsの最終形

# DDNS
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
*/30 * * * * root /usr/local/ddns/ddns-update.pl

使用した先のddns-update.plは通常時は標準出力に何も書かないのでメールは飛んでこない(らしい
30分間隔にしたのは、もしメールが飛ぶような状況になったら10分間隔はちょっとマズいと思ったから。
そして、もしかしたらメールが飛んでくるかもと思い
待っていると
仕事メアドに続々と迷惑メールが届くのでした。(どうにかならないのかな?
とりあえずDiCEのためにWindowsのPCを立ち上げなくても良くなったので良しとしよう。



【Windows10】 Bashが使えるようになるらしい

今更bashが使えたところでどうでもいいと思っている。
Bashの中では文字コードセットがUTF-8らしいので、Linux系のGitHubからパッケージのソースをダウンロードし、ビルドして、使えれば便利かもしれない。
しかし、Linuxのパッケージのビルドでよく使う make install もMS仕様のmakeはMakeFileでルールを記述する順序がLinux仕様のmakeと逆なので、Linux仕様のmake コマンドがなければ無理、ファイルやバックアップでファイル転送によく使うscpコマンドも多分無いだろう、勿論Windowsのアプリで代用できる場合が多いけど、スクリプトを全て読んで書き換えるのは多分骨が折れるし、GUIのアプリは起動すると一番手前に配置されるので、スクリプト実行中はデスクトップは放置状態にしておかないと、ESCキーを押したらスクリプトから起動したアプリを止めてしまったとか・・・、長いオプションの代わりにクリップボードが使われていた・・・(汗という状況に陥る可能性がある。気が付く分だけでも、結構あるし、Linuxではスクリプトからスクリプトを呼び出すなんてことはごく普通にやっていることで、まだまだLinuxで普段気が付かないまま使っているコマンドや言語もいっぱいある様な気がする。
そうLinuxで必要とする言語の数は結構多い。ざっくりと「Perl、C、C++、Java、Python、PHP、Tcl/Tk で十分!」と勝手に決め打ちしても、やはりシェルスクリプトの中でパッケージの設定ファイルの編集に何気なくsedやawkなどを使っている場合もあるだろう。だからこそ、Windowsで使えるbashもドコかにyumのようなオンライン・リポジトリィを作っておかないと後々大変だろう。
で、そこまでやるならHyper-VでCentOS7のゲストOSを作り、NFSでWindowsのドライブをマウントした方が楽な気がするんだよね。
どうしてもWindowsOSの環境下でbashを実行したい向けかな?



LogWatch ClamAV ログ

LogWatchのClamAV ログに
 **Unmatched Entries**
 Limits: MaxEmbeddedPE limit set to 10485760 bytes.
 Limits: MaxHTMLNormalize limit set to 10485760 bytes.
 Limits: MaxHTMLNoTags limit set to 2097152 bytes.
 Limits: MaxScriptNormalize limit set to 5242880 bytes.
 Limits: MaxZipTypeRcg limit set to 1048576 bytes.
 Limits: MaxPartitions limit set to 50.
 Limits: MaxIconsPE limit set to 100.
Starting Clam AntiVirus Daemon: [  OK  ]
---------------------- Clamav End -------------------------
と、設定が変?が出たままだった。
ぐぐってみると
http://every-rating.com/security/clamav0991unmatched-entries.html
が見つかり
yum のリポジトリィではLogWatch が7.4.0のまんまなのが原因らしい。
4.7.3をダウンロードし、ClamAVに関係する3ファイルを更新してみる。
# /usr/sbin/logwatch --output mail すると
**Unmatched Entries**
 Starting Clam AntiVirus Daemon: [  OK  ]
 Starting Clam AntiVirus Daemon: [  OK  ]
 ---------------------- Clamav End -------------------------
に変わった。
先の記事では
# logwatch --service clamav --detail 5 --range yesterday --print
で確認するようになっているが
ボクのとこでは --print が未定義オプションの扱いで
# logwatch --service clamav --detail 5 --range yesterday
の様に、外さないといけない。



top