変奏現実

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

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

rngd failed

なんだかコレもfailed
# systemctl -l status  rngd
rngd.service – Hardware RNG Entropy Gatherer Daemon
   Loaded: loaded (/usr/lib/systemd/system/rngd.service; enabled)
   Active: failed (Result: exit-code) since 木 2014-12-18 20:34:43 JST; 3min 48s ago
  Process: 559 ExecStart=/sbin/rngd -f (code=exited, status=1/FAILURE)
 Main PID: 559 (code=exited, status=1/FAILURE)
   CGroup: /system.slice/rngd.service
 systemd[1]: Starting Hardware RNG Entropy Gatherer Daemon…
 systemd[1]: Started Hardware RNG Entropy Gatherer Daemon.
 systemd[1]: rngd.service: main process exited, code=exited, status=1/FAILURE
 systemd[1]: Unit rngd.service entered failed state.
 rngd[559]: Unable to open file: /dev/tpm0
 rngd[559]: can’t open any entropy source
 rngd[559]: Maybe RNG device modules are not loaded
ハードウェア を元に乱数を発生させるためのデーモン。
そんなものは付いていないCPUらしいので止める。
# systemctl stop rngd
# systemctl disable rngd
rm ‘/etc/systemd/system/multi-user.target.wants/rngd.service’
# reboot



clamd failed

ただ/var/run/clamav/ を作りなおしてもダメらしい。
作ってもすぐ消される。
# systemctl -l status clamd
clamd.service – SYSV: Clam AntiVirus Daemon is a TCP/IP or socket protocol server.
   Loaded: loaded (/etc/rc.d/init.d/clamd)
   Active: failed (Result: exit-code) since 木 2014-12-18 20:06:42 JST; 20min ago
  Process: 1077 ExecStart=/etc/rc.d/init.d/clamd start (code=exited, status=1/FAILURE)
 systemd[1]: Starting SYSV: Clam AntiVirus Daemon is a TCP/IP or socket protocol server….
 clamd[1099]: clamd daemon 0.98.4 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
 clamd[1099]: Log file size limited to 4294967295 bytes.
 clamd[1099]: Reading databases from /var/clamav
 clamd[1099]: Not loading PUA signatures.
 clamd[1099]: Bytecode: Security mode set to “TrustSigned”.
 clamd[1099]: Loaded 3709847 signatures.
 clamd[1099]: TCP: Bound to address 127.0.0.1 on port 3310
 clamd[1099]: TCP: Setting connection queue length to 30
 clamd[1099]: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: No such file or directory
 clamd[1099]: Can’t unlink the socket file /var/run/clamav/clamd.sock
 clamd[1077]: Starting Clam AntiVirus Daemon: ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: No such file or directory
 clamd[1077]: ERROR: Can’t unlink the socket file /var/run/clamav/clamd.sock
 clamd[1077]: [失敗]
 systemd[1]: clamd.service: control process exited, code=exited status=1
 systemd[1]: Failed to start SYSV: Clam AntiVirus Daemon is a TCP/IP or socket protocol server..
 systemd[1]: Unit clamd.service entered failed state.
 
ググってみるとシャットダウン時に消しているらしいので起動時に作り直す様にした。
# vi /etc/rc.d/init.d/clamd
start(){
        echo -n “Starting Clam AntiVirus Daemon: “
        # ClamAV起動前にディレクトリを作成するようにした
        mkdir /var/run/clamav > /dev/null 2>&1
        chown clamav:clamav /var/run/clamav > /dev/null 2>&1
        daemon clamd
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/clamd
    return $RETVAL
}
stop() {
        echo -n “Stopping Clam AntiVirus Daemon: “
        killproc clamd
        rm -f /var/clamav/clamd.socket
        rm -f /var/run/clamav/clamav.pid
        RETVAL=$?
        echo
    ### heres the fix… we gotta remove the stale files on restart
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/clamd
    return $RETVAL
}
 



kdump failed

# systemctl  で観ていたら
kdumpがfailedになっていた。
※KVMのホストでは発生していないのは謎。
# system status kdump で観てみると

No memory reserved for crash kernel.

とあったので、起動時の問題っぽいから・・・
# vi /etc/default/grub
GRUB_CMDLINE_LINUX=”rd.lvm.lv=centos/swap console=ttyS0,115200n8 crashkernel=auto vconsole.keymap=jp106 rd.lvm.lv=centos/root vconsole.font=latarcyrheb-sun16″

GRUB_CMDLINE_LINUX=”rd.lvm.lv=centos/swap console=ttyS0,115200n8 crashkernel=128M vconsole.keymap=jp106 rd.lvm.lv=centos/root vconsole.font=latarcyrheb-sun16″
と設定を変え設定値で更新。
# grub2-mkconfig -o /boot/grub2/grub.cfg
再起動。
# reboot
するといいらしい。



原発の再稼働で気になったこと

あの原発事故は稼働中ではなく停止中の事故だったって
個人的な感想を書かれていた方がいたのでちょっと気になった。
※URLは忘れた。
ま、停止中だってあんな事故があったので、停止してても安心な訳では無いと云いたかったと思うんだけど・・・
それって
停止中の事故なのに、史上最悪の事故になってしまった。
停止してても安全ではない。
だから、再稼働するってことは・・・
どうせ危ないシロモノなんだから使ってしまおう!
と云ってるのも同じ。
勿論、放射性物質のエネルギーを電気に変える訳だから、使った分だけ放射性物質のエネルギーは減少するし、後は燃えカスなので危険性は減少するでしょう。
※その燃えカスの捨て場所が未だに決まっていない気がした。
 
しかし、
停止してても安心できないものを再稼働しようとするのは・・・
何と云うかストレートに

狂気

というものを感じました。
 
それに電力会社の赤字が累積し後々の負担は借入で賄っているのなら、低金利とは云え、毎年の売上高をドンドン上げ、もっと多くの利益を出す様にならないと、どうしようも無い。
それは国庫も同じ。
 
ならば、インフレが一番!
ついでにその分の賃上げをすれば、インフレも怖くないでしょう。
名目のGDPがどんどん上がれば1000兆円の国の赤字も実質的に減っていくはず。
まずは輸出を伸ばそう。
そして、円安になったら・・・
輸入する燃料代金がががが・・・
で、賃上げって出来そうなの?
※一部の輸出系の企業のみ。
※一部の輸入系の企業はボーナスだってどうなることやら・・・。
それどころか、消費税を10%にするのは延期したので財源が無いと云うことで
介護系のお仕事は収入が目減りしそうな雰囲気です。
賃上げってドコの話なの?
そう云えば原油はかなり下がったらしいけど、原発の燃料って今高いの?安いの?
※情報が全くないので不明。
 
何と云うかストレートに

馬鹿じゃないの?

と感じるこの頃です。
とは云え、今の経済はマインド(気持ち)がとても重要なことです。
おそらく、小泉劇場の様なことをやっているつもりなのでしょうけどね。



Pythonで、はまった

Windows用のPython 3.4.2(64bit版)をインストール。
PythonWebとページのデザインもなかなか良いサイトを見つけたので
Pythonのサンプルソースをテキストエディタにペタペタ貼って動かしてたら、ハマりました。
1.print “Hello, Wordl!” ではまった。

元々Pythonにはprint文があるので構文上はエラーにはならないハズ。

しかし、Windows用のPython 3.4.2(64bit版)では print (“Hello, Wordl!”) だけが正解らしい。

2.¥記号問題でハマった。

テキストエディタを開くと大抵のコードページはSJISだ。

キーボードから¥記号を入れ、カーソルを¥記号のところへ持っていくと、画面右下に 5C と表示してくれる。

エスケープシーケンスのサンプルを先のサイトのページから、コピペし、カーソルを文中の¥記号のところへ持っていくと、画面右下に U+00A5 と表示してくれる。

5CはASCIIではバックスラッシュ、JISでは¥記号。 ところが、UTF-8ではU+005Cはバックスラッシュ、U+00A5が¥記号になのだから、これで正しいと云えば正しい。

しかし、Pythonでのエスケープシーケンスはバックスラッシュを使うものだ。

UTF-8同士、シフトJIS同士なら問題なかったのだろうなどと思いつつも、先のサイトのページのHTMLのソースを見ると¥記号の部分は ¥ を使っていた。

見慣れないHTMLの特殊文字だったのでググってみると、 ¥ ¥ ¥ 円記号 165(10進数)⇒A5(16進数)。

なんてこったテキストエディタに濡れ衣を着せてしまったではないか!

おそらく、そのページは『そのサイトのお作法どおり』に作られているだけなのでしょう。

『コピペはダメ!絶対ダメ!手打ち推奨!』なのかもしれません。

というか、

お行儀が良ければ良い!(訳では無い

ということを思い知らされた。

しかし、¥記号問題という古くからあり今なお困惑する問題が残っていると云うことを知ってもらおうと云うなら秀作です。

※ # coding: utf-8と書きだした途端にハマりますからね。

※何でも¥記号には3種類あるらしい

5C  アメリカではバックスラッシュだが、日本国内限定(JIS規格)で「¥」になってるため、IMEパッドの文字コード表でも日本語フォントならUTF-8でも「¥」になっている。     ※5Cの各国の状況はISO/IEC 646を参照

A5  Unicodeの円記号、HTMLの特殊記号(半角の¥記号)の16進数表記。

9D  アメリカのMS-DOSで使っているIBM-PCの文字コード(現在のCP437)の円記号

HTMLで半角の¥記号を表示したい場合はA5を使えば確実らしい。

しかし、このページってエスケープシーケンス(A5ではなく5C)の話ですよね?というところがミソになっている。

3.wxPythonでハマる

実はまだ64ビット版は開発版しかなく、評価中の様で、今月に2度もUPされていました。

リリース版はもうちょっと先の様ですので、Pythonのインストールコマンドpipを使って、開発版をインストールすることにしました。

あるブログで

pip install –pre –f http://wxpython.org/Phoenix/snapshot-builds wxpython-phoenix

でイケた!と書いてあったのですが、失敗!

wxPythonの開発者ブログを見ると、今現在の開発版では

pip install –pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix

と小細工が必要らしいです。

パッケージ名はwxpython-phoenixでも良いそうですが、

snapshot-builds とwxpython-phoenix の間に スラッシュ(/) と 半角スペース( )  が必要なようです。

と云っても回答者はその点をはっきりとは指摘していなかったので今週のパッチのみ有効なトリビアな気もします。

※来週には事情が変わってるかもしれません。(泣

 4.インデントでハマった

何気にタブや4個の空白記号で、それっぽくインデントして、思った通り動いてくれたけど

タブや4個の空白記号を混在してもソレっぽく動いてくれます。

当たり前のことですが、テキストエディタの設定で タブの表記を空白記号何個分で表示するのか変えられますから、空白とタブを混在させると

  • タブ=2個の空白記号
  • タブ=4個の空白記号

の人で見え方が違うハズです。

その辺のところは入門編に解説があるハズもなく

美しい

と書いてはいないですが・・・そんな感じです。(入門編はそうあるベキですよね!

でも、いつかハマりそうです。

ただ、先の¥記号問題のISO/IEC 646を観れば判りますが

インデントでブロックを表現しているので

{や}が無い国では絶賛されている

んだろうなと思ったのですが、

[や]も無い国らしい

ので微妙かも?

C言語やJavaの { ・・・} や[・・・]の使用頻度は半端なく高いし、JavaScriptで無名のイベントを登録するには必須です。

そうなると最近のJavaで

前世期の遺物の代表であるラムダ表記が組み込まれた

のも、1行で宣言ができる!と云うより

{}を扱うのがメンドクサイ国向けのアピールなのかなと思いました。

5.for文でハマった

通常は

for 変数 in リストまたは配列:

なので、C言語風に

for    ( i =0; i<  list.length; i++)

と書くのは美しくないようです。

ま、それはいいのですが、デバッグ中に

ループの何周目で地雷を踏んだ

のかは知りたいところです。

CSVファイルの一気飲みするソースなら必須でしょう。

「カンマが足りない行があります!」とか曖昧なエラーしか出せないpythonソースなんて使わされられるのは勘弁してもらいたいです。

データが数万行もあってもEXCELに取り込めればCTRL+↓で何とかなるでしょうが、列数が256列もあったらEXCELはCSVを正しく読んでくれるでしょうか?

否、んーなものにEXCELを持ち出してくるあたりから間違っているような・・・

この場合はPythonの標準ライプラリィ(組み込み関数)のenumerate()を使い、

for (周回数をカウントする変数、内容を格納する変数) in enumerate(リストまたは配列):

で良いみたいですが

collections ライブラリィを使った方が何か付け加える度にソースをゴソゴソと書き換えることが減りそうな気がしました。

特定のCSVファイルなら

for (1列目の変数、2列目の変数・・・n列目の変数) in zip(リストまたは入れる):

が楽そうです。

 6.いつかハマりそう

何も難しいコードではありません。

x, y = y,x

Pythonなら、 xとyの変数を、期待通りに入れ替えてくれます。

他の言語で似たようなコードを書いてバグった人は多いと思いますので、

Pythonぐらいでしか通用しないコードは美しくない

とか云われそうです。

しかし、先の式の実装は、初歩のアセンブラ言語で書けば

PUSH Y

PUSH X

POP Y

POP X

で、済む話です。

※高度なアセンブラ言語ではPOPの順番が間違っていると指摘される可能性があります。

こんな簡単なことがC言語やJavaでは一時変数を使う以外には判りやすい方法がなく、難解(パっと見、読みにくくなる)になってしまうのが今でも不思議です。

7.宣言文でハマった

def   関数名(引数1、引数2・・・):

変数=引数1+引数2

return 変数

はあまり違和感がない。

なぜか”標準”で定数がない。

一応、タブル (1,2,’A’) はあるけど、constではなく、Read Only属性が付いている変数なので、中身がいっぱいあると詰め込むのに時間がかかる。

8:スライスでハマる

変数名[n:m] で、n番目からm番目まで切り取ってくれるので便利。

  • 変数名[n:]  ※n番目以降を取り出す
  • 変数名[:m]  ※m番目までを取り出す

なんかも助かります。

但し、スライス表現のnやmは配列子の番号ではなく、配列の隙間に付けた番号のようです。

※配列をスライスするには指定された2か所の隙間にナイフを刺し込んでサっと取り出す・・・みたいなイメージなのでしょうね。

※大雑把なボクはどこから切り分ければ良いか考えずに配列を1個づつ切り分けてから、先頭から0,1,2と数えて取り出しそうです。⇒スプリット&マージ

※文化の相違なのかな?

※数式の書き方も世界共通ではないそうですけどね。

[0:1]   は、(変数名[0])のことなので配列は0オリジンみたいだからと・・・

変数名[n]から変数名[m]までを取り出すなら

変数名[n:m] かと思ったら、変数名[n:m+1]としないといけない。

さらにCやJavaのよくやってしまいがちな無用な(・・・)を付け、変数名[n:(m+1)] などとすると、

Pythonだから、エラー?どう動くんだろう?とか悩ませてしまいそうです。

 
総括:

Pythonってよさげ?

{}を付け更に見やすいようにタブレーションまでするCやJavaでは面倒くさいので、Eclipseなどは保存時にフォーマッタで決め打ちの書式変換をかけるのが普通。

なので、Pythonのことは考えずJava専用に設定したEclipseのエディタでPythonのソースを開いて保存すると、あ¨~~~~~(声にならない悲鳴 が出そうで怖い気がしました。

スライスやenumerateなど、他の言語のソースでは微妙に意味が違うコードは意外と不味い味がするかもしれない。

総評:

「元はみんなアルゴルの系譜なのさ」などと思っているとハマることは間違いない。



ネット上におけるボットを考えてみた

このサーバーの今のアクセスログ・ファイル(18,657行)を
自分のIPアドレスでgrepすると2,914行もヒットしましたが、
BOTでgrepすると3,016行もヒットします。
検索BOTには
“Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)” 1760行
“Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)”   823行
のように名刺を置いていくので、分布も判りますし、日記を検索に載せてくれる便利なツールですが
このBOTが動画広告をクリックしてたケースが案外(20%以上)多いらしいです。
その分、広告主はお金を払っているのでちょっと問題がありそう。
ボットの辞書に「動画広告はクリックしない」というのが必要でしょうね。
 
 
 



[ご注意ください] KB3002339 

いつもの Windows Update がまたやらかしたようです。

システム再起動時に更新が完了せず

システムがハングアップしてしまうという現象が発生する

ことがあるそうです。
MSのWindows Update からは既にKB3002339は削除済みらしいですが

Windows Server Update Services (WSUS) を使用して更新プログラムを配信されている
お客様におかれましては、本更新プログラムの配信を停止していただけますよう
お願い申し上げます。 

となっています。
朝パソコンを付けた後にMSさんのこのブログは必読ですね。
実際に何台かハングアップしたパソコンが出てきたら管理者さんはとっても大変ですね。



SSDのSLC,MLC,TLC

SSDの中の記憶素子にはデジタル(0か1)だけかと云えばそうでもない。
記憶素子に記録できる情報の数によりSLC(1ビット),MLC(2ビット),TLC(3ビット)と分けられる。
1素子に記憶できる情報量は当然1ビット,2ビット,3ビットとビット数のまんまで、情報量はビット数に比例する。
しかし、表現できる値は、2通り,4通り,8通りと倍々ゲームになるので、1ビット増すと表現可能な値の範囲が2倍に増えるのでデジタル化って美味しく感じられる。
ところが、1素子で表現できる値の数が多いほど読み書きする処理の精度はビット数の2乗に比例し倍々ゲームになるのに、1素子に保持できる情報量は等倍にしかならないので、1素子あたりのビット数を増やしてもあまり美味しい話にはならない。
仮に1素子に4ビットの情報を記憶させようとすると、16通りの記憶素子の情報をデジタル化する回路の難易度がTLCの倍なのに、素子の情報量はTLCの1.33倍にしかならず、苦労するだけな感じがする。
もっと進んで、1素子に8ビットの情報を記憶させようとすると、256通りの記憶素子の情報をデジタル化する回路の難易度がかなり高そうだが、記憶できる情報量はSLCの8倍にしかならないものの、チップ全体での記憶素子の情報を読み書きする回路の比率が十分小さいなら、チップサイズが8分の1になるのだから、コストパフォーマンスが上がる可能性はある。
別な方法としては時間軸すなわち情報の伝達遅延を利用し、1素子から順に複数の情報を引き出すこともできないことはないだろう。情報を書き込む際に素子上での情報を記憶する位置と書き込み電圧に相関関係があればできなくはなさそう。単純なFET遅延回路を縦に積み上げる構造でもいいし、多数のエミッタを持たせられれば、ビットごとにデータ線を引く必要もない。4ビットや8ビットぐらいでは新機構を考えるだけメンドクサく、シリアル出力だからビット数が多くなると転送時間もかかるのだが、4~16ビットぐらいならDDRのバーストモードでそのまんま出力できるところが美味しい。もしSSDなら512バイト分=32,768ビットのシリアル転送でも構わないだろう。ま、そこまで行くと縦に積層していくのが大変だが、レーザーを基盤に浸透させ光共鳴状態で不純物を一定間隔で濃淡を作り出せば、極薄いPN結合素子の積層構造が作れるかも。光干渉形成積層遅延素子(Light-interference-forming Laminated-delay-element’s-Array:Lif-LdeA)とでもいうものが・・・
そんな妄想がそう遠くない様な気がしている。
 
 
 
 
 



【ハッシュ・ザ・ハーツ】 ディファレンシャル・ワールド

この機体のおおよその感覚器は上部前面に集中している。

これでは感覚器の真上に宝の地図が載っていても一生気が付かないだろう。
だが、通りすがりの機体のエンブレムを見つけるためには最適な構成なのだ。

感覚器越しに観たエンブレムがいつものと同じパターンと認識した途端に飽きてしまい、
また別の機体を探しはじめる。

見知らぬエンブレムを見れば、何か怪しげなものを感じるだろう。
エンブレムの辞書で照合する・・・アンノウン。

これは敵だ。

だが、そう判断した機体の多くは長く存在できない。
なぜなら、自機と比較し、より強固で、より高性能な機体は数多く存在するからだ。
このワールドはそんな敵でひしめき合っているのだ。

それとも、対等な相手への攻撃による勝利か敗北か

それとも、下等な相手へ攻撃し勝利し収穫を得るか

・・・

いつかは自機よりも強固な機体に敗北するだろう。
しかし、そんな敵に相見える前に寿命が尽きる機体も多いと聞く、
それが幸運なのか不運なのかは判断されていない。

あれは敵か味方か。

この機体の思考回路は、過去に余りにもスケールが異なる機体と遭遇、恐慌状態に陥り先制攻撃を仕掛けたことがあった。明らかに無謀な行動であった。しかし、攻撃を仕掛けても全く勝ち目が無いどころか、自機の存在も行動すらも余りにもスケールが異なる機体に認識されなかった。

その様にして思考回路は無謀な攻撃の結果として失敗と挫折を味わった。

それは神なのか?
神とは何であったか?

そう思考する回路は遥か彼方に新たな機体とそのエンブレムを発見。
エンブレムの辞書で照合。否、照合の必要はなかった。
思考回路に残るエンブレムと一致。

機体は再び神と遭遇した。

回避しようとする思考と凝視しようとする思考が交錯した機体はそのまま直進。
長い時間が経過した後、何事も起きず、すれ違うのであった。

それは機体が祈りを捧げる最初の姿であった。



本棚が要らない Kindle Cloud Reader

オンラインでKindle版のマンガなどを買ったらパソコンで読めるところ。
オフラインでも読める様に事前にダウンロードも可能。
20141207-1
難点は
ダウンロードが長い。
PS-VITA未対応。
モニターが横向きだと絵が小さいこと。
そして・・・
続きを読みたくなったら止まらないこと。

  1. 読み終わった後に画面右上のKindleストアを押す。
  2. 続巻を探し、1-Clickのボタンを押す。
  3. 買ってくれてありがとう画面のKindle Cloud Readerボタンを押すと、すぐ読める。
  4. さらに、有効期間が購入日のみAmazonチケットまで付くので
  5. 読むなら今日でしょ?
  6. って感じで最新刊まで止まらない仕組み。

ドラゴンボールやワンピースのような巻数が半端ないコンテンツであるほど
便利であり
恐ろしくもある。
ある意味・・・ガチャより上である。




top