goo blog サービス終了のお知らせ 

もんく [とある南端港街の住人になった人]

スペインかポルトガルの港町に住みたい
日本→インドネシア→台湾→マレーシア→日本
since Oct. 2004

やっとwindows10 が入ったところ

2019-10-31 13:34:24 | マレーシアでニャー2019
昨日から夜中、PCを放って置いてWindows10がインストールできていると期待していたが、できていたけれどダメだった。ログインした後の画面が真っ暗になった。多分インテルのグラフィックドライバが更新できていないとかその手の事かなと思い、セーフモードで入れてみたのだけれどそれも無駄だった。その他いろいろやったが結局ダメなのでアップグレードでインストールするのは諦めた。

そして新規インストールする事にした。マイクロソフトが用意してくれているアプリでディスクイメージをUSBメモリに入れて起動し、無事インストールできてちゃんと動くようになった。
(アップデート、余計なアプリを削除、MACアドレスを変更→これはMACアドレスを狙ってDHCPがIPを振って来るのを避ける対策。)


とは言え、このままWindows10を使い続けるわけじゃない。このWindowsはそのまま起動させずに温存して置く。1つには前のWindows8.1のプロダクトキーを保存する手段として、もう1つはPuppy LinuxをUSBから起動してFrugalインストールし、差分ファイルをWindowsの中に保存するため。

PuppyはGrafanaの稼働プラットフォームになる。メモリが2GBあるのでその上でPuppyは動く。もしかするとデータベースファイルもHDDか?何ができるかわからないが、そんな風にするつもり。さて、これからはPuppyでの作業に移る。


ところで、Windows8.1は酷いものだった。3年間アップデートしていない。ブラウザが立ち上がらなかったが、ChromeとFirefoxが入っていたので不具合があったのをそれでどうにかしようとしていた形跡あり。また、よくあるフリーソフトのメンテナンスツールが2個入っていたし、ダウンロードされた中にわけのわからない実行ファイルや設定ファイルが山とあった。きっとよほど困っていた時期があったのだろう。

とりあえず、その酷い状態からでは変なものを引き継いでしまいWindows10は入れられなかったのが事実。

今頃Windows8.1を10に

2019-10-30 13:22:08 | マレーシアでニャー2019
今日はちょっと中弛み的な事をしている。と言うのはWindows8.1の入ったPCが開いたので一応Windows10にしておいて(後で使うかわからないので捨てるのはライセンスがもったいない)、その上でDVDからBionic Puppyを動かしてみようかと考えているから。

Puppyの上でGrafanaとinfluxDB、Node-REDを動かすようにしてやれば良いかなと。なぜなら停電が起きてシステムが壊れた時にPuppyなら再起動で元に戻せる。データは別途バックアップが必要だけれど、それもPuppyに自動でやらせれば良い。

できればPuppyはリマスターして専用DVDを作って置くようにしたい。やった事がないのでどこまでできるかわからないが。本当はBionic PuppyがUbuntuと同じようにApt、sudoが使えると良いのだけれど。(何かすればできるんだろうが。)

ところで今、長い時間かかってやっとWindows10のインストールが始まったところ。ほぼ自動なので良いが、待たせるなぁ。そうそう、このPCがWindows10であってくれればDVDが焼けると言うのもメリット。今まで使っていたのにはディスクが無いから。


今頃こんなのやらなきゃいけないって...いかにセキュリティに無頓着か...

influxdbとNode-REDのテスト(修正あり)

2019-10-29 15:33:28 | マレーシアでニャー2019
昨日考えたように、Pythonでプログラムを組む事なくNode-REDでセンサーの値を受信しつつinfluxdbにその値を書き込んで行って、grafanaに表示したら良いのじゃないかと言う事で、まずはinfluxdbにNode-REDで書き込めるかどうかのテストをした。

結果から言うと簡単にできそうだ。

まずはテストなのでWindowsPC上でやる。実機は何にするかは決めていない。

1. Influxdbとchronographのダウンロード。


chronographはinfluxdbに本当にデータが入ったかどうかを確認するためにだけ使うのでコマンドでできるのであれば必要ない。
どちららもダウンロードしたファイルを解凍して適当な場所に置くだけでOK。インストールはしない。
chronografはinfluxdbからWebベースのインターフェイスが削除されたためにこれを使うもの。以前はポート番号8083でアクセスできたが今は無い。

2. Cの直下にinfluxdbと言うフォルダを作り、解凍した中にあった5つのexeファイルと1つのconfファイルを入れて置く。

3. そしてその中に(他でも良い)metaとdataとwalと言う名前でサブフォルダを作る。名前はconfファイルに登録するだけなので違う名前でも構わない。

4. Influx.confファイルを編集する。
[meta]
# Where the metadata/raft database is stored
dir = "C:\\influxdb\meta" ←作ったフォルダ

[data]
# The directory where the TSM storage engine stores TSM files.
dir = "C:\\influxdb\data" ←作ったフォルダ

# The directory where the TSM storage engine stores WAL files.
wal-dir = "C:\\influxdb\wal" ←作ったフォルダ

[http]
# Determines whether HTTP endpoint is enabled.
enabled = true ←後でアクセスするため

4. 動作試験
ブラウザからlocalhost:8086/query にアクセスしてみると、”error” “missing required...”と出てきたらOK。

5. テスト用のデータベースファイルを作成
上記の後に、http://localhost:8086/query?q=CREATE DATABASE test と入れてEnter。
testと言う名前のデータベースファイルが作成される。

6. Node-REDで“node--red-contrib-influxdb”をダウンロードしてインストールする。
3つのノードができる中で、influxdb、A simple influxdb output...を使う。
Hostに自分のPCにIPアドレス、Databaseに作ったデータベースの名前を指定。
influxdbノードの前にinjectionノードを繋げて適当な数値が渡されるようにし、何度か数値を変えてinjectionをクリックしてみる。エラーが出なければデータベースに書き込まれている。書き込めないと何らかのエラーが出る。

7. chronografを起動
chronograph.exeをダブルクリックする。
その後ブラウザでlocalhost:8888にアクセスする。
左端のアイコンの中からExploreをクリックし、上中央にあるvisualizationをクリックするとNode-REDで入力したデータがグラフ表示される。


今日はここまで。
とにかく、プログラムは書かなくて良いらしいと判明。ただ、データの数だけnodeを設定する事とデータベースを作成する事が必要だ。

また、このままchronografを使い続ければgrafanaを使う必要もないような気もする。どうなんだろう?


修正点
\\となっていたところを\に直しました。

休日なのでいろいろ

2019-10-28 23:07:00 | マレーシアでニャー2019
今日は昨日のディーパバリの代休なので休みだったから午後にバーガーキングでGrafanaの事を調べていた。MCUからデータを送るのは問題ないとして、受信側でデータベースのInfluxDBのデータベースを作ってそこにデータを入れる方が新たにやらなきゃいけない事のよう。

普通に考えるとMQTTブローカーから受け取りDBに流すと言うところをPythonで書くのだけれど、もしかしたらNode-REDでできるのかな?と思った。プログラム書くと自動で走れせておけば簡単だけれど、他人に分かりにくいと言う事があるからNode-REDでできるならその方が良いように思い始めた。

ただ、合うNodeが用意されているかが問題。明日調べて仕事場のPCでやってみよう。



ところで、来年のプランについての続き。単に概算なのだけれど。

1000万円定期預金に入れて3%利子だと年間30万円で月に2.5万円。RM900/月となるので日本人的には最低限のアパートの家賃。2000万円だとRM1800だからまあまあな家に住める。「元本を減らす事無く」と言う事。

ちなみにマレーシアに入ってすぐに住んだスバンのアパートは約RM1000でピカピカに新しくも高級でもなかったが快適ではあった。今ではRM1200レベルに値上がりしているのでは? そして今住んでいるところは郊外だけれどまあ良い方に入るセミデタッチハウスで約RM2000のレベル。部屋が多すぎて使い切れない。(安全そうな小さな家が無いのでここに入っている。) 新しいが車が無いと買い物に行けない場所であればこの家のオーナーが持っているリンクハウスがRM1500と言っている、参考までに。KL近郊でなく地方都市だともっと安いかもしれない。

仕事が無ければ地方都市も視野に入るのでもしかするとRM1000でもあり?


RM1000で10年間の総費用はRM120,000。日本円にして333万円。けっこうな額になるけれど、それだけあれば土地借りて小さな家が建てられる気もする。...つづく、かも。

預金のためにビザ?

2019-10-27 21:52:54 | マレーシアでニャー2019
来年のオプションとしてリタイアを視野に入れるべきかと考え始めている。

来年の9月で今の就労ビザが切れた後の事。
もしマレーシアから出るとなると、行き先を探さないといけない。が、マレーシアに残るメリットは大きい。

その1、預金がマレーシアにある程度溜まっていて定期預金の利率が3%+ある。ビザが消えた時点でこれを他国へ移さなければならない。今時はマネーロンダリング対策でビザの有効期限がまだあるかどうかの審査が頻繁に行われる。これを例えば日本に持って行くとした場合、送金手数料は仕方ないにしても減る一方となるのは目に見えている。もちろん為替の問題と物価の変動もあるので目減りはするだろうが、日本よりマレーシアの方がまだマシだ。

その2、マレーシアには日本を除く他国と違って知っている人がいくらかはいる。別に助けてもらうと言う甘えた気持ちではないが、知っている人ができたのは大きな財産だと感じている。別の国の条件が良いにして、そちらを選んだ場合またゼロから始めなければならず、負担は大きい。

その3、マレーシアのリタイアメントビザの良い点の1つは、ビザを持っているからと言ってずっと、または一定期間マレーシアにいなければならないと言う規定が無い事だ。つまり単に預金を守るためだけにビザを取ると言う事すら可能だ。ビザを取る費用は手数料だけで約20万円。これに対して例えば1000万円定期預金に入れておくと年間30万円の利子なので10年間のビザと考えれば元は取れる。(1000万円だけ持っていても生活費が発生するので利子だけで食べていけると言う意味では無いので注意。逆に言うとそれではマレーシアでは生きていけない。)
が、先に書いたように、いなくでも良いので出稼ぎはできる。また、不労所得なら得ても良い事になっている。家賃や配当収入など。ちょっと難しい面もあるが実労働しなければ収入を得るなとは言われない。

デメリットはその収入の問題が1番。実労働ができない(許可を得れば時間制限有りでできるが認められるにはハードルが高いとの事)から収入の道を探す選択肢がマレーシアでは限られる。ともあれ、預金を守るためだけにリタイアメントビザと言う選択肢は無いとは言えない。(きっとつづく)

花火は嫌いだ

2019-10-26 23:59:17 | マレーシアでニャー2019
前の記事で素人セキュリティの事を書いたが、その後、驚くと言うか、呆れると言うか、バカさ加減に笑いも出る事実が発覚してしまって衝撃を受けている。

ちょっと前に工場の中のPCがファイアーウォールでかなりのところをブロックされていてWindowsすらアップデートできない危険な状態になっていると言ったけれど、それを改善してブロックを外したとか言って言った。

その後古いPCを買い替えないといけないとか言っていて、そのリストが回って来た。最初は自分のPCのところの性能調査がされてなくて空白だなと思っていただけだった。ま、こちらは最近買ったのだし、もちろん性能が低いのをわざわざ買ってるから気に留めるほどでもないが。が、一応測ってみようと思ってフリーソフトで以前あったWindows Exoerience Indexと言うのをやってみたら、他のと数値の傾向が違う?あれ?何か別のでやってたのか?

と、よく見ると2台ほどWindows8と書いてある。あれ?8.1の間違いかな?

いや、8.1はちゃんとそう書いてある。すると8なんだ! おいおい、アップデート出来るって言ってるのに無料で8.1になるのをサポート切れのままに置いとくのかい! そりゃ一体何のためにブロック外したんだ。何のためのセキュリティなんだ!誰も気付かないのか!8.1すら来年までなのに! 

ま、まさか、Office2007とか残して無いよな?と心配だが、多分あるだろうな...
所詮素人がやる事なんてそんなものだ。

ところで、ディーパバリなので0時に向かって花火gq始まったが、キナコが家に帰って来ない。探しても出てこない。困った。どこかで怖くて小さくなっているのか?

花火は嫌いだ。

素人ができるセキュリティとは

2019-10-24 14:38:03 | マレーシアでニャー2019
昨日できたサイクルタイムのシステムをちょっとだけマネージャークラスに説明した。

マネージャークラスと言ったところで製造業の事が本格的にわかっている者など皆無なので、あまり詳しく説明してもダメなのだ。なので結果だけ見せた。結果と言っても昨日の10時頃の休憩後から午後4時頃までに試験的に採ったデータをエクセルでチョコチョコっと処理して、ほら、こうすると1日でxx個程度多めに作れたはずでしょう、と。

彼ら、月次集計ファイルの数値しか気にしていないので本来的に何がフルキャパシティか、何が問題か、もっと言うとコストがどれだけかかっているかがまるでわかっていない。仕方ない、それが実力なのだ。日本で少し生産に携わっていれば常識的に考える事もマレーシアではほとんど無い。日系なのにその考え方を教えないのも問題だ。こんなマシンでの計測の前に全員の首にストップウォッチを掛けさせておくべきだと思う。


セキュリティの件だけれど、何だかPCを買い替えるとか言い出したので言っておいた。Windows10のProじゃなくてHomeバージョンにするようにと。Ubuntuだってスーパーユーザーがデフォルトで無効になっているのにたいした管理もWindowsサーバーのバックアップもシステム管理者もいないのにProはやめた方が良い。危険だ。

今のようにニワカ管理者が知識もないのに何か設定しても無意味。誰かのコンピュータが多数のコンピュータにアクセスできて何か操作できるようになっているなんて、瞬時全滅のためにやっているようなもの。それよりもっと基本的な事、一般ユーザーで使う、全部のソフトを常時アップデートする、使わない時はOFFする、大事な書類はバックアップしたり監視する、Googleがダメと言ったら従う、ダウンロードしたものはスキャンするみたいな人間のルール作りの方が重要だ。それをしないで物理的に制限しようとすれば全員が敵になるだけ。何とか抜け道を探そうとするし、問題が発生しても絶対に隠すだろう。

セキュリティ関係の記事がよく日経何とかから送られてくるが、ほとんどの場合、ユーザーである人間が何かやって穴を開けたものだったりする。手を変え品を変えやってくる脅威にセキュリティツールは時として無力で、結局人が穴を作らない事とバックアップしか対処しようがないのだ。特に素人には。

動いた!

2019-10-23 13:37:18 | マレーシアでニャー2019
やっとの事でサイクルタイム表示器がセンサーがまだ1個だけれど実生産環境で動作している。

絵の2段目のR...20の方が実データで上段はダミーのまま。
今後はセンサーを増やして行く事になる。

これを完成する(まだ完全ではないが)までにはFacebookグループやWeb上の人達に大変お世話になった。いろいろ試してみて具体的なわからない事が出てくると質問したりして答えとヒントをたくさんいただいた。とても感謝しています。こう言う事だけでも現代はいろいろな事が便利になって良い方向へ向かっていると感じる。本当にもう何でもできそうだ。

こう言うリアルタイム表示に数字はほんの数個しかないが、これをじっと数分見ているだけでいろいろ考える事が出てくるもの。Duty比がだいたい65%程度だけれど、これが適正なのか?もしかして取りにくいところに部品やツールが置いてあって時間がかかっているのでは?あと10%程度上昇できるのでは?ばらつきが数秒ある時は作業がどうなっているんだろう?何かやりにくい作業が含まれているのでは?時々サイクルが伸びるのは箱を交換しているのか?...

と言うわけで透明で普通にしていては見えない物事をこうして可視化すると言うのはとても大事だ。


...と言うか、これ誰かちゃんと見てデータを保存したりするだろうか?、と言うもっと基本的なところでポシャるんじゃないかん?と想像。まあ、いいや。趣味のプロジェクトだし。

Grafanaをやる事にした

2019-10-22 22:49:57 | マレーシアでニャー2019
データの可視化と言うのはとても重要な事だと思うのだけれど、プログラムを組んでやるのは骨の折れる仕事。

Arduino IDEなんかにも簡易なプロッターがあり、WindowsのアプリケーションではSerial Plotなんてのがあり、最近はAmbientと言うクラウドツールもあるから前よりずっと良くなって来たが、汎用的にほぼ何でもと言うのは少ない。Grafanaは見た目も良いし何でもできそうなオープンソースのツールらしい。

何に使うかと言うと、自動でないマニュアル機械にいくつものセンサーを設置して全体の動きを見ると言うもの。制御まではしないにしてもマシンのセミ・インテリジェント化。

各温度、各速度、濃度、位置などいろいろ一画面で見られるようにする。同じデータが現場でもオフィスでも見られるようになる。データの取得はこれまで通りESP32+MicroPython、中継はMQTT(もうある)、受信にPythonでプログラムを書くかNode-REDでデータベースに入れる。

現場では作業のフィードバックになるし、オフィスでは作業モニターになる。

規模の大きなマニュアルマシンでは前と結果が異なる場合にどのポイントが違ってしまったかが分かりにくい事がある。と言うのは操作するポイントが複数でそれぞれ異なる事をするが関係していたりもするからだ。長く見ていれば起きた事と原因は結び付けて考えられるけれども経験は要るし、マシンの故障とも言えない不具合で想定外の事も無いとは言えない。

だから可能な限り可視化できるところは可視化するのが良いはずだ。と言うわけでまずはGrafanaを研究してみる事にした。

現金輸送

2019-10-19 23:35:04 | マレーシアでニャー2019
Hiawathaに続き、これまでやってきた一連のプログラムや設定やハードウェア、まとめて全部動いた。
細かい事は抜きにしてだいたいこんな感じになる。


実はセンサーの値を取るESP32のプログラムは一番最初に書いて置いたのだけれど、急遽センサー自体を光学式か電圧式でON/OFFを取って送るようにしていたのを取り付けマシンに合わせて再変更した。それはESP32自体が持っていたホールセンサーを磁石の近接で読み取る方法。

ESP32がなぜホールセンサーを持っているのかわからないが、MicroPythonの公式ページを見ていたら発見したのでテストすると本当に有ったし使えた。急いでダイソーで磁石25個入りを買ってやってみたらできるとわかったのでプログラムを変更した。安いしこれは楽だった。

MQTTのブローカーのIPを現行のものにセットし、トピックを新規に設定してONすると特に修正の必要もなく受信(subscribe)しているPCのブラウザに結果が表示された。Python+Flaskのところは書いて忘れかけていたので心配だったけれどもスルリと出来てしまって拍子抜け。

自分でやっておきながら何か絶対間違えてると言う自信があったので...


今後の課題は今、仮Webサーバーで動いているところを本番サーバーに切り替える事。Hiawathaをもう少し研究してLAN内で安全を保てるところまで行けたらやるつもり。

もう1つはセンサーの実機への設置。これには別のメカ的な用意が要るのでそれもちょっと考えないといけないが、まあ、難しい事は無くて、どちらかと言えば面倒臭い仕事になるだろう。



今日は予定していなかったKLCCまで行って来た。

行った理由はそこしか休日に開いている銀行の支店が無いから。金曜日に満期を過ぎた定期預金を普通口座に入れた後、別銀行にネットバンキングで転送しようと思ったところエラーが出る。確か以前はできたはずだが..と、何度もやるが全滅。日を変えて土曜日も同じ、今朝んも同じ。

仕方ない、窓口で聞いてみて何まちがっていたら修正するし、それでもダメならそこでお金下ろして隣の銀行へ持っていけば良いと。

結局、「うちの銀行のシステムが不安定ゴメン」だって。日本だったらそれじゃ許されなくて大問題だろうけど、お金無くなっちゃうわけでもないし、理由がわかればOKってわけで、隣の銀行へ札束手持ちで移動した。移動距離10m以内。(札束って言っても大した額じゃない。言ってみたかっただけ。)

結局、Hiawathaは動いた

2019-10-16 16:15:44 | マレーシアでニャー2019
昨夜、Hiawathaを動かす事ができるようになった。いろいろ困難はあったが、ここまで来るのに2晩かかってしまった。ノートPC上のVirtualBoxにPuppy linux bionicをインストールしてテストした。


日本語でHiawathaを使う情報を検索するとPuppy linux関連が数点しか出てこない。ただ、最近Puppy日本語情報が少なくなっているのでHiawathaに関しても最新の情報ではないようだった。ただ、設定事項と方法にあまり変化は無いらしいのでその情報もとても参考になった。

しかしながらApacheなどに比べると英語情報も含めて薄いと言わざるを得ない。素人にはその理由はわからない。何かApache、nginx等と比べて劣っている点があるのか?けれどもとりあえず、HiawathaはApacheより設定はわかりやすいと思う。設定の項目とやり方はApacheと似ているけれど。


以下は/etc/hiawathaに入っているhiawatha.confの中身。
設定はほぼこのファイルのみでできる。
(もしかしたらブログの表示では字下げが無くなって見にくい可能性あり。)

# GENERAL SETTING
ServerId = webuser
ConnectionsTotal = 150
ConnectionsPerIP = 10
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log

# ユーザーはwebuser。rootでない方が良い。
# また使用するファイルもこのユーザー名にしておくのが良いそう。
# コネクション関係の設定は安全面を考えてするそうだが、例に従った。

# BINDING SETTING
# Multiple binding allowed
Binding {
Port = 80
#Interface = 0.0.0.0
#Interface = 127.0.0.1
#Interface = 192.168.0.2
MaxRequestSize = 128
TimeForRequest = 3,20
}

# 上記バインド設定はCGIを想定していないもので、80番でアクセスされた場合に使用される。
# インターフェイスは予備を用意したがマシンのIPで入ってくるので不要らしい。

# Binding ID is for specifying Virtual host
Binding {
BindingId = CGI
Port = 8080
Interface = 192.168.0.2
MaxRequestSize = 128
TimeForRequest = 3,20
}

# 2つ目のバインドがCGI使用を想定したもの。
# Binding IDを適当な名前(今回はCGI)にして識別しておき、バーチャルホストで使用。
# 書かれてているIPとポートで入るとこのバインドが適用された。
# 多分マシンのIPと同じにしておかないとアクセスは来ないと思われる。
# その他の設定も安全を考えてのものらしい。例に習った。

# BANNING SETING
# Bunning is for security reason
BanOnGarbage = 300
BanOnMaxPerIP = 60
BanOnMaxReqSize = 300
KickOnBan = yes
RebanDuringBan = yes

# Banningは禁止設定。安全の為。これも例に習った。

# CGI SETTING
# CGI setting must be in General setting area
CGIextension = pl,bin,py,cgi
#CGIhandler = /usr/bin/perl:pl
CGIhandler = /use/bin/python:py

SecureURL = no
MimetypeConfig = /etc/mime.types

# CGIの設定ではエクステンション(拡張子)を自分の使う言語に合わせる。
# ハンドラーはインタプリタのパスを指定。$whereis pyhonのようにするとわかる。
# SecureURLはマニュアルに無かったようなので例に習ってそのまま書いてある。
# Mime typeはOSデフォルトがそぼまま読み込まれる。

# DEFAULT WEBSITE
# Default web site is accessed by the 1st binding (port 80)
Hostname = 127.0.0.1
WebsiteRoot = /var/www/hiawatha
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log

# デフォルトWeb サイトはポート80で入った時のもの。
# これはダミーページになっているだけ。
# ホスト名は本番では変えた方が良いかも知れない。
# ホスト名に absdefg.com とするとカッコ良いが、
# ネットワーク上のDNSに登録していないと無意味。

# VIRTUAL HOSTS
# Required Binding is referred to a Binding (port 8080)
Virtualhost{
RequiredBinding = CGI
Hostname= 192.168.0.2
WebsiteRoot= /var/www/test
# If CGI file creates HTML, "simple test" is NOT allowed.
# html, body or some tags must be.
StartFile = test.py
showIndex = no
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
ExecuteCGI = yes
TimeForCGI = 10
}

# バーチャルホストが実際に稼働させたいサイトとなる。
# RequiredBindingはバインドの2つ目で設定したバインドの識別子。
# つまりこのバーチャルホストに入るには2つ目のバインドから入る。
# ホスト名はマシンに合わせた方が良いと思われる。
# Apacheではドキュメントルートが、Websiteルートと言う名前になっている。
# そこにCGIのスクリプトファイルを置き、StartFileに指定すると実行される。
# ExecuteCGI = yes以外のCGI設定はここには書けない。グローバルのところのみ。

ここでまだ出てこない項目はDirectory。
上記の設定ではtest.pyが直接htmlを出力するようになっている。
htmlファイルはCGIのところではまだ用意されていない。
なので、今後はDirectoryの設定とhtmlファイルとスクリプトファイルの置き場をどうするかを考えないといけない。

test.py、スクリプトファイルは以下。

#!/usr/bin/python
print "Content-type: text/html\n"
print "<html>"
print "<head>\n"
print "<title>test page</title>\n"
print "</head>\n"
print "<body>\n"
print "hello Hiawatha \n"
print "</body>\n"
print "</html>\n"

Puppyにはpython2しか入ってなかったのでpython2の書き方になっている。
シェバンはpython2、python3となっていないが、リンクが2になっていた。

このファイル作成の注意点だが、最初シンプルな “hello..” メッセージにしてしまったところ、Internal Server Error 500 が出てしまった。エラーログにはヘッダーだけで本文が無いよ!となっていたので上記のようにhtml文書のフルセットになるよう書き直した。

また、もしファイルをWindowsで作成してLinuxに持ってくるのであれば文字コードが違うだけで実行ファイルとは見做されないので変換が必要。必要なエンコードは「UTF-8(BOM)無し」。
sudo nkf - Lu -w —overwrite (ファイル名) などとする。
エンコードを判別するには nkf -g か file コマンドを使用。

スクリプトファイルやそのフォルダのパーミッション設定は見直しておくべし。


HiawathaはApacheのようにsystemctlではスタート、リスタートできないらしい。
スタートはパスが遠っていれば “hiawatha” で良い。
停止は先に実行されているプロセスID番号を調べておく必要がある。
Puppyの場合はpprocessがあるが、他はpsコマンドがある。
Hiawathaの停止は、kill -15 (番号)、のようにする。

設定ファイルを書き換えた時は “hiawatha -k” で間違いを指摘してもらえる。
問題無ければOKと表示される。
ただ、これは文法の審査のみで実行時を想定してものではない。
実行時に設定ファイルに問題があればconfファイルの?行目に間違いがあって実行できないと指摘される。



言葉は箱 (対人コミュニケーション)

2019-10-15 13:50:14 | マレーシアでニャー2019
キャサリンさんにはコミュニケーション能力が無いと言われる。だから何だってんだ?

コミュニケーションが上手くできない事が人生で大きな損と言うのはそうかもしれない。実際に友人と言える人は少ないのでもし自分が困難な状況に陥って助けが必要な時があったとしたら...どうなるんだろう?

コミュニケーションのツールの中で大きな位置を占めるのは言葉じゃないかと考える。表情、これもダメだが、気遣いとか相手を思う気持ちとか...いろいろあるが言葉をインターフェイスにする事がやはり多い。


言葉はずらずらずらと並んだ音や文字のストリームなのだけれど、それは蟻の行列のように見えて実は個々の単語は箱になっている。箱には意味が詰まっていて文字ストリームがいたずらに長く長くなってしまわないように工夫されている。

例えば、「この部屋の室温を測ってください。」と言われたとする。この1行で自分が何をやれば良いのかがわかる。そう、温度計を持ってきて温度を測れば良いのだ。で、温度計を持って部屋に入る。温度計を目の高さにかざしてしばらく待ち、温度表示を見る。26.3℃だ。

終わり。はい、26.3℃でした。


が、ここで問題が生じる。「あなた、室温を測ってくれと言いましたよね?なぜちゃんと測らないのですか?」となるかならないかはわからないが、「室温」って一体何?と言う疑問は残る。

ここで「室温」と言う言葉の箱を開ける。

箱の表面には室温とラベルが貼ってあるが中は見てない。中に詰まっているのは....
エアコンの吹き出し口の温度は何度? エアコンの吸い込み口の温度は? 部屋の上の方と下では温度は違うのか? 朝と夜ではどう変化するのか? 外が雨の時と晴れの時では温度は違うのか? 温度は小数点以下のいくつの桁まで測るのが良いのか? 人が何人かいると気温は変わるのか? 温度計の反応速度は測定に影響するか? パソコンは熱を発生するけれどその上で測るとどう?....さて、室温とはいったい何を指すの?

箱の中を見ないで良いで済ます事ができる理由は、その場のコンテクストとか人に乗っかっているコモンセンスがあるからだ。だからそのあたり、空気を読んで話したり聞いたりしないといけない。(面倒臭い)


もう1つ、箱を開けられない人がけっこういると言うのもある。

少し置く深くまで考えられない。能力が限定されている人。それに開けるのが怖い人。中を見て何だかわからなくて自分のせいになったら困る。単に面倒だから開けない。そもそも箱だと認識していなくて表面しか見ない習慣があるってのもある。


箱を開ける習慣がある人と開けない人とのコミュニケーションは難しい。

Hiawathaについて調べていたが...風邪

2019-10-14 13:37:22 | マレーシアでニャー2019
昨日、hiawathaウェブサーバーについて調べていたのだけれど、pythonスクリプトが上手く起動せず。Apacheでもダメなので自分自身が何かもっと根本的な事がわかっていないのだと思う。

ウェブサーバーの機能は基本的にはブラウザがあるURLにアクセスして来たら1)静的なページか2)スクリプトやプログラムを走らせて出てきた文字などを送り出すと言うのだと思う。

なので、ネットで調べて出てくる情報には2種類あって、1)index.htmlなどの静的ドキュメントからプログラムを呼び出すタイプと2)最初からプログラムを指定して起動させるタイプに分かれる。

1)の場合はドキュメントルートに書類を置いて置く。書類(html)の中にプログラムを呼び出す記述がある。2)では最初からプログラムを起動して書類を読むのでそれは必要なかったりする。

ウェブサーバーの設定の中にはグローバルな設定と個別の設定があって、個別の方はVirtualホストと言う囲いの中に記述する。

Apacheの設定は最近は分割されているけれども書く内容は以前の一まとめになったものとそう変わらない。Hiawathaはほぼ1つのファイルのみで簡易。


まあ、もうちょっと調べるにしても、その前にワンライナータイプのウェブサーバーで先に動かす方法を採る事にした。




きなこ、風邪ひいたらしい。
クシャミが出ている。
様子を見る。

朝から弱気で

2019-10-12 22:13:44 | マレーシアでニャー2019
金曜にApacheやってたのだけど、どうにもちゃんと動かせなくて困った。このままではいけないので一時的にもっと簡単なWebServerを動かす事にしようかと考えている。

例えばPythonにもちょっとモジュールを足すだけで簡易なWebServerが立てられるようだし。それなら開発環境のあるPCでやってみてUbuntuに移すのも簡単かもしれない。又はHiawathaに再度挑戦してみるとか。(いくつか資料があった。) まあ、ちょっと考えつつやってみよう。


日本語フリーペーパーで日本人関係のある事件について書かれていた。詳しくここでは書かないが、孤独死だった。しかも歳は亡くなってしまうのはちょっと若かった。知り合いではないけれど残念に思う。

マレーシアで一定の場所に住むようになると場合によっては知り合いが多くできたりする。が、本当にこれは場合によってなのかも知れず.. その人はどんな生活をマレーシアでしかも一人でしていたんだろう?マレーシアに来てリタイアで悠々自適で老後をエンジョイしてたのか? 全くわからないが...少なくとも苦しんだのでなければよいがと思う。


自分はその方よりは少しまだ歳は若い。でも、だんだん歳を重ねると思うようになる。「もしかして、突然病気でも事故でも、又は自然災害でも、何かあってこのまま突然さようならなんて事が...」と。

充実した人生を送っている人はすぐに死ぬ事がわかったとしても今やっている事をそのまま続けるとか、ジタバタしないとか言われるが、自分の場合はどうなんだろう?..絶対ジタバタするだろうな。

と言うわけで、キャサリンさんに「自分たちはまだ何もしていないね。」と言った。今死んだらどうか?死ぬ前にしとけば良かったって事考えながら死ぬかな、と言う意味で。

そしたらキャサリンさん、「だからあんなに遺言状作っておこうって言ったのに! もし死んだのがわかっちゃた銀行で預金下ろすの大変なんだからね!」と言う。おお、話はそっちの方向へ...


いや、待ってよ。銀行なんかは面倒かもしれないけど役所の書類が揃ってればいつかはお金戻って来るし。それよりね、言いたかったのは、まだ世界の綺麗な海とかいろいろすごいものや場所いろいろあるでしょ。そう言うの全然見てないし美味しいものもきっとたくさんあるけど食べてない。環境の素晴らしいところにも住んでない。

そう言う事言いたかったわけ....なんだけど、火に油を注ぐのは止めておこう....と朝から弱気になってしまったのだった。

マレーシアから中米移住は夢かな?

2019-10-10 22:41:10 | マレーシアでニャー2019
きなこは順調に回復し、何と体重が5.7kgにまで上昇。きっとまた6kg超えを目指すんだろう。あまり増えて欲しくは無いが。

昨日、Apacheの設定がだいたいわかったのだけれど、実装するにはまだ先があった。実はその先の方がちょっと重要だったかと思う。今日調べてたのでまだ自分ではやってないけれど。

それにしても、皆さんサーバーの設定でもプログラミングでもいろいろ書いてくれるのは嬉しいが、ちょっとできたってところで皆止めてしまうのはどうしてなんだろう?検索したサイト、どれもそんな感じ。なので実際に使うって事まで考えるとまだまだサワリでしかない。Web ServerでCGIが動いたと書いてあるのなんて、普通はhtmlファイル置くべく場所にスクリプトを置いてあってブラウザで直接それクリックさせて動いたって言ってるのが多い。あとはスクリプトに直接htmlを出力させるのとか。それじゃ全然意味ない。だからセキュリティにまで言及しているのなんて全然無いし。仕方ないな。


いろいろ考えてはいるのだけど、やはり来年もマレーシアにいるようにするしかないのかな?、と思ったりする。海のキレイな中米コスタリカなんか良いのだけど、物価がちょい高いとか。行った事ないのでいきなりと言うわけにもいかない? 遠くてちょっと見てくるって事も難しいし。(飛行機で行くとしたらどうやらって?)


Apacheの続きはまた明日。