変奏現実

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

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

2013 / 11月

中華PAD

サムスンのタブレットのバッテリーがへたってしまい、充電しながら使用するしかなくなったので、yahooで特価6000円の中華PADを買ってみた。
専用のACアダプターでは1時間ほどで充電できるが、USBでは電源OFF状態にしないと充電できないっぽい。
電源ボタンをOFFしても、使用1分=バッテリー1%のペースで減っていくので、全く使わないときは長押ししてシャットダウンするのが筋なのだろう。
画面はたったの800×480、ブラウザでみた感じではレンダリングの負荷が大きいようでスクロールするとボヤーっと表示、暫くするとぼやけが消える。解像度が低すぎるのだろうか?
インスト状態のYoutubeではエラーばかりで動画は見れず、PlayStoreからインストしなおし、開発者パッケージのインストも必要だったが、ちゃんと見れるようになった。
3DMarkのベンチは、ダウンロードの時点でかなり時間がかかり、
起動すると、エラー!(大笑
BDレコーダの再生は無理そう。SONYのページでは、RECOPLAとTwonky Beamを入れればBDの録画が見れるハズだが、PlayStoreでRECOPLAを検索すると説明ページまでジャンプせず事実上インスト不可。
色々リンクをたどり、ダウンロードページまで行ってみたら・・・未対応機器のメッセージが出た。
Twonky BeamもBDレコーダの中を検索できるものの再生でエラー。
と結果から観れば惨敗としか云いようがない。
だが、そこが中華PADなのだ。
中華PADでは出来ないことを
スペックはそうかわらない様に見えるのに高値なAndroid製品が実現している。
と云うことはAndroid製品は製品として使えるまでに色々とチューニングが必要だと云うことだ。
タブレットで色々やりたいことができるまでは色々と敷居が高いのだ。
と云うことが判る。
それなのに、
バージョンアップばかりやってるので
最近は高いものばかりになってしまった(大笑
なんとも情けないOSなんだなぁ~
と理解できる。
そして、それを有償でやっているのがMSのWindowsである。
が、最近はアップグレードは無償?路線に傾いているようだが・・・(大笑
今時の使い物になるものと、使い物にならないものを簡単に見比べる方法がある。
電源をOFFだけではなくOSをシャットダウンしてから起動させるだけ
この起動時間が長いほど使い物にならない。
長いのはCPUやGPUが古かったりメモリが足りなかったり、色々理由があるのだ。
でも、アマゾンやyoutubeやブログをちょっと見る分には十分なハードウェアだ。
でも無線の速度が低く、ダウンロード中は操作不能になることもある。
なお、モデル番号はSoftwinerEvb、Androidバージョンは4.1.1。
3DMARKは、空メモリ1GB推奨とかメッセージが出るも進めると途中でハングアップ。
しかしZeepad7.0と認識したようで大雑把なスペックが判った。
Zeepad7.0のスペックは、
Chipset:Allwinner A13
CPU:Cortex-A8
GPU:Mali-400
メモリ:512MB
OS:4.1.1
メモリ容量以外は多分同じなのだろう。
次に買う時はOSのバージョンだけではなくTEGRA3とか4とかGPUもチェックが必要なようだ。
だが全く使えないシロモノではない、電池の減りがはやく、3DMarkやBD録画の再生ができないという欠点は大きいけどね。(大笑
ps
設定の「モバイルネットワークを使用する」にチェックが入っていたのでOFFにした。
何度かのVeriosnUp後に3DMarkが起動できるようになったが「1GB必要です。」というあれれ?なメッセージの後、LOADINGバーが6割ほどで止まる。どうやら空メモリが1GB必要らしい。



node.jsのデバッグ

コマンドラインでのデバッグはできたけど、ソースを見ながらのデバッガでソースを見れなかった。
原因は判らない。

http://127.0.0.1:8080/debug?port=5858
を表示した後に何かしなければいけないのかもしれないけど
ま、それはいい。
ただ、
http://127.0.0.1:8080/debug?port=5858
のために
npm -g install node-inspector

すると結構はソースが必要なのには驚いた。
今はまだ
ソースレベルデバッガをNode.jsに移植してみたぉ!
って感じがするので、1.0.0まで待つべきなのだろう。
そんなこんなで、
自前.jsで一式作った方がマシな気がしてきた。



node.js インストール linux

Linux版をnode-v0.10.21-linux-x64.tar.gzをダウンロードできたけど、
困ったことにページにはインストールは説明がない。
仕方が無いので解凍してみる
# tar xzf  node-v0.10.21-linux-x64.tar.gz
# cd node-v0.10.21-linux-x64
中にREADME.mdが入っているので、
その通りにやってみるようとしたが
開発者自身のリストアのメモであるらしいことが判ったので・・・
おとなしくnpmからインストールすることにする。
※一度インストールできたら利用できそうな気もする。
※だが、大幅な変更があったら、やっぱりダメだろうなぁ~って気もする。
# yum   -y   install   openssl-devel
# git   clone     git://github.com/creationix/nvm.git ~/.nvm
# .   .nvm/nvm.sh
# nvm   install   0.10.21
/usr/bin/which: no shasum in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/tripwire/sbin:/root/bin)
######################################################################## 100.0%
Now using node v0.10.21
# node -v
v0.10.21
#

で終わり。
次にソース・デバッガ

# npm install node-inspector
・・・
長いので中略
・・・
node-inspector@0.5.0 node_modules/node-inspector
tqq async@0.2.9
tqq strong-data-uri@0.1.0 (truncate@1.0.2)
tqq glob@3.2.6 (inherits@2.0.1, minimatch@0.2.12)
tqq rc@0.3.1 (deep-extend@0.2.6, ini@1.1.0, optimist@0.3.7)
tqq express@3.4.4 (methods@0.1.0, range-parser@0.0.4, cookie-signature@1.0.1, fresh@0.2.0, debug@0.7.3, buffer-crc32@0.2.1, cookie@0.1.0, mkdirp@0.3.5, commander@1.3.2, send@0.1.4, connect@2.11.0)
mqq socket.io@0
インストールはうまくいったのか?
状況はサッパリ判らない。
nodeコマンドのパスを通したら動くようになったが、
やっぱりソースは見えなかった。
そんな訳で
# rm -rf node-*
ps.2018/10/16
node.js用のユーザを作り、
https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz
を再ダウンロード。解凍。
vi ~/.bash_profile
でPATHにnode-v8.12.0-linux-x64.tar.xzを解凍した先のbinディレクトリィを追加し保存&リロード。
. ~/.bash_profile
node
> process.env
いっぱい出てくる。
> .exit で退席
とりあえず、PATHだけでも動くらしい。
https://nodejs.org/en/docs/guides/getting-started-guide/
のapp.jsを動かしてみるが、127.0.0.1では他のPCから見れないので、
app.jsをルータが割り振ったLANのIPアドレスに変え、
firewall-cmd --get-active-zones
でpublicだったら・・・※違った場合はpublicの部分を差し替えてコマンドを実行
firewall-cmd --add-port=3000/tcp --zone=public --permanent
firewall-cmd --reload
でポートを解放してやっと見えるようになる。
ThorntailやAngularやWebStormを動かすにはまだ遠い。


GeForce GTX 780 Ti

とりあえず
糊代を全部使い果たしてみました!
という感じがした。
勿論、歩留まりを上げるために削ってあった部分(SMX)を有効化しているのだから、

歩留まりは悪そうだ。

チップの選別を通過できる数はそれなりで、
落選したチップが『前のウルトラハイエンドっぽい名前』でゾロゾロ出回りそうな気がする。
その意味では

憧れのTITANがさらに身近になりそうだ。

既に購入済みの人も、
2枚目や3枚目の購入を考えれば
悪い話ではない。
 
しかし、ゆっくりしてると更なる円安がやってくるかもしれず、
また消費税もあるあがりそうなので、
時期は・・・
むずかしいなぁ~
 
もうウルトラハイエンドは諦める方がいいかも。



VBAのメモ(未検証)~VBでJavaでも読めるUTF-8のファイルを作るには~

どうしてもVBAでUTF8のテキストを作る場合は、ADODB.Streamオブジェクトを利用すると良いらしい。
EXCELシートになってる仕様書からデータを抜いて、Linux系のサーバーにCSVファイルをアップしなければならない場合には便利かもしれない。
なお、こんな面倒なことをするよりは、EXCEL君にはWindows用にシフトJISでCSVファイルを作ってもらい、LinuxサーバーにPHPでテキストをアップするutf-8のコードページのHTMLからアップすればブラウザがコードページを都合良く変換してくれるので汎用で便利なことは云うまでもないし、FFFTPが使えるなら、コードページと改行コードをちゃんと変換してくれそうだが、最近はFTPで接続できないケースが普通なので、FFFTPっぽいPHPのページを作るのが一番だろう。

あると便利な定数

LineSeparator用のLineSeparatorsEnum

定数 説明
adCR 13 改行復帰を示します。
adCRLF -1 既定値です。改行復帰行送りを示します。
adLF 10 行送りを示します。

Typeプロパティ用のStreamTypeEnum

定数 説明
adTypeBinary 1 バイナリ データを表します。
adTypeText 2 既定値です。Charset で指定された文字セットにあるテキスト データを表します。

Openメソッド用のStreamOpenOptionsEnum

定数 説明
adOpenStreamAsync 1 非同期モードで Stream オブジェクトを開きます。
adOpenStreamFromRecord 4 Source パラメータの内容を、既に開かれている Record オブジェクトとして識別します。既定動作では、Source は、ツリー構造のノードを直接指定する URL として処理します。このノードに関連付けられた既定ストリームが開かれます。
adOpenStreamUnspecified -1 既定値です。既定オプションで Stream オブジェクトを開くことを指定します。

textWrite用のStreamWriteEnum 値

定数 説明
adWriteChar 0 既定値です。Stream オブジェクトに対して、Data パラメータで指定したテキスト文字列を書き込みます。
adWriteLine 1 Stream オブジェクトに、テキスト文字列と行区切り文字を書き込みます。LineSeparator プロパティが定義されていない場合は、実行時エラーを返します。

SaveToFile用のSaveOptionsEnum

定数 説明
adSaveCreateNotExist 1 既定値です。FileName パラメータで指定したファイルがない場合は新しいファイルが作成されます。
adSaveCreateOverWrite 2 FileName パラメータで指定したファイルがある場合は、現在開かれている Stream オブジェクトのデータでファイルが上書きされます。

使い方

Dim outStream As Object

Set  outStream = CreateObject(“ADODB.Stream”)

outStream.Type = adTypeText

outStream.charset = “utf-8″  ’規定値は”Unicode” すなわちJavaやJavaScriptと同じUnicode(16ビット)である。

outStream.LineSeparator = adLF ‘LinuxではLFのみがデフォ。

outStream.textWrite   <UTF-8で書き込みたいテキスト>, adWriteLine

outStream.SaveToFile  <ファイル名>, adSaveCreateOverWrite

outStream.Close

※注意

このままではファイルの先頭にUnicodeのテキストを意味する3バイトのBOMコードが付いてしまうので、Javaで読むと痛い目に逢う。

もしサクラエディタを使っているなら作ったファイルを開くと画面右下に「UTF-8 BOM付」と表記されているハズ。

「名前を変えて保存」することでBOMコードは勝手に消えるが、毎回それをやるのも面倒なので・・・
同じことをやればいい。(ハズ 未検証!

outStream.Open       ’SaveToFile で設定した内容を再利用可?

‘バイナリーモードに変え、

outStream.Type = adTypeBinary

‘ファイルの先頭から3バイトのBOMコ-ドを読み飛ばし、

outStream.position(3)

‘中身(UTF-8になっているテキストをバイナリ形式で)を吸い上げる。

Dim binaryData As Variant

binaryData = outStream.read

そして

outStream.Close

もう一度開き直す。

outStream.Open

outStream.Type = adTypeBinary

outStream.Write(binaryData)

outStream.SaveToFile, adSaveCreateOverWrite ’※これが余計な3バイトを消す。ハズ?

outStream.Close

とする。
一抹の不安は、本当にbinaryDataが文字化けしないのか?だが、これはやってみないと判らない(笑
なお、Openメソッドの説明文を読むとCloseしてもプロパティ設定を変更してもう一度開くことができます。と書いてあるのでOpenはオプションなしでOK。
adSaveCreateOverWrite がトランケートしてくれるのか心配なら、Closeした後に一旦ファイルを消すといい。
なお、元ネタはこっちのページ JavaScriptだけど実証済のようだ。



やっぱり

やっとJavaも脆弱性を突かれる様な存在になった。
詳しいことは知らないけど、JREのJavaScriptにはセキュリティホールがいっぱいあるらしく、
本当にセキュリティを考えるなら、JREをインストしたなら、ブラウザのJavaScriptはOFFにしなくてはいけないそうだ。
と云うことは、WindowsやMacのパソコンにJREやJDKをインストすることはセキュリティ上好ましくないと云うことになる。
と云うことはEclipseの利用はセキュリティ上好ましくないと云うことになる。
 
本当にセキュリティを考えるなら、Javaは使うべきではない。
だって、JITコンパイラはclassファイルをバイナリーな実行コードを変換して実行する(かのように動作する)ものなので、実装上も危うく、ダイレクトにJITコンパイラを改ざんされたら、どうにでもされてしまう。
やっと、当たり前のことが云える雰囲気になったのかな?
 
それにしても、詐欺メールが多すぎる
そろそろ、HTMLに
<a href=”http://hogehoge.c0.jg”>http://hogehoge.co.jp</a>
※左は数字の0、右は英小文字のo。
なんて書いてあったら、クリックするとThunderbirdみたいに
「表記とは異なるドメインへ移動しようとしています。詐欺リンクかもしれません?移動しますか?
(はい)(いいえ)」
とか出てもよさそうなものだが、どのブラウザもなぜかやらない?
多分、そんなことされたら、営業妨害だ!と騒いでいるトコロがあるのかもしれないけどね。



なぜセキュリティを理由に新しいものに手を出させたくないのか?

理由は単純。
簡単なこともめんどくさくすることが仕事なので、
その辺のスマホとクラウドの組み合わせで簡単に仕事をこなされては困るからだ。
営業上の都合と考えれば理解もできるだろう。
しかし、
そんなところに長居をすると
普段便利なものを使わない習慣が付いているので
単なるi-phoneファンな中高年になってしまうしかない。

あのクラウドには大規模なRDBがあって一生懸命照会業務がうごめいているとか、そんな想像に偏ってしまう。

あの中にはRDBどころかDBの欠片もない。

中はセッションのIDをお互い持ち合っているだけで動いている。

あるのは巨大なハッシュ・リストだけ。

だから、技術者としての転職も困難と云える。
だからこそ、
技術者として人材の流れは一方向だけ。
だから。セキュリティが保たれる可能性もあるだろう。
ま、
それでも職があればマシと思えば、それも悪くないかもしれない。
 
 
 



カウンター

Today : 2510
たまに馬鹿みたいにカウンターが上がります。
プロバイダー(ISP)のBOTが一斉に挨拶に来たようです(笑
BOTが持ち出した内容を人が見たら、ブログの分類に悩むんじゃないかな?
分類は【趣味】でお願いします。
このブログの真の目的は、自宅でのCentOS+WorsPressの長期運用ですから、
記事の内容はかなり適当です。
ご了承ください。
実際、ここのブログはよく止まります。
多くはDDNSのIPアドレス更新が失敗してたりしますが、
原因不明でapacheが無反応だったり、
TeraTermですら入れずリセットなんてこともあります。
ログを見てみると、突然パタッと止まってるんで
熱暴走なのかも。
更新する度にファンが回る音がしますね。
やっぱりホコリがたまってるかな?
ps.
臨時メンテ(お掃除)は終了しました。
ホコリは溜まっていなかったので室温のせいかな?
このブログは安いCeleron847 NUC
+無線LAN(INTEL純正)
+SSD(60GB)
+DDR3(4GB)1枚
CentOS6+WordPressで稼働しています。

# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/mapper/vg_***-lv_root
                       50G  8.2G   39G  18% /
tmpfs                 1.7G     0  1.7G   0% /dev/shm
/dev/sda1             485M  139M  321M  31% /boot
/dev/mapper/vg_***-lv_home
                      5.7G  472M  5.0G   9% /home
# free
             total       used       free     shared    buffers     cached
Mem:       3366440     914636    2451804          0      19212     182316
-/+ buffers/cache:     713108    2653332
Swap:      3506168          0    3506168



top