2020/06,江端さんの忘備録

私、「孫子の兵法」という本、いくつかの翻訳書や解説書で何度か読みました。

I've read the book "Sun Tzu's Art of War" several times in several translations and commentaries.

―― つまり原文は読んでいない、ということです。

"I mean, I haven't read the original text."

抜ける手があるなら、その手を尽す、というのが私のモットーです。

My motto is that I'm willing to make the effort to cut corners.

それはさておき。

Aside from that.

「孫子の兵法」は、色々と学ぶべきことが多い本ですが、それを、仕事や人生に活用しよう、などということは考えたことがありません。

Sun Tzu's Art of War is a book with a lot to learn, but I've never thought of applying it to my work or my life.

何故か。

Why?

この本、徹底的に「経営者視点」だから。

Because this book, thoroughly "management perspective".

下っ端を、徹頭徹尾「道具」として取り扱い、その「道具」に示す愛情すらも勝つための戦略の一つである、という割り切りが、不愉快です。

The book treats our underlings as "tools" all the way through, and even the love they show for that "tool" is one of your winning strategies. I am uncomfortable with the ideas.

特に、「兵士を窮地に陥れて、その力を最大限発揮させよ」という下りは、とてもムカつきます。

In particular, the phrase "put the soldiers in a corner and let them use their strength to the best of his ability" pisses me off.

-----

「孫子の兵法」を引用して、新型コロナ対策を論じているブログとか見ると、笑ってしまいます ―― 大爆笑です。

When I see a blog or something like that, quoting "Sun Tzu's Art of War" and discussing new corona countermeasures, I laugh -- it's a huge laugh.

『彼を知り己を知らば、百戦殆うからず。彼を知らずして己を知らば、一勝一負す。彼を知らず己を知らざれば、戦う毎に必ず殆うし』

"If you know your enemies and allies well, you'll have little to worry about breaking into any battle"

を引用して、国民や政府がどうあるべきか、を、偉そうに語っています。

He quotes this phrase and talks about how the people and the government should be, arrogantly.

「本当におめでたい」と思っています。

I think that "he is really happy".

(続く)

(To be continued)

2020/06,江端さんの忘備録

緊急事態宣言の解除によって、夜の繁華街にも客が戻っているようです、

With the lifting of the state of emergency, customers seem to be returning to the downtown area at night, too

しかし、それに伴い、新型コロナウイルスの感染者も増える兆しを見せています。

However, along with this, there are signs that the number of people infected with the new coronavirus is increasing.

-----

私は別に「男性の世論の代表者」という訳ではありません。

I am not a "representative of male public opinion" separately.

「そんなに、夜の歓楽街で遊びたいものなの?」

"Do men really want to play in the downtown at night?"

と、家族が私に問うてくるのですが ―― 私に尋ねるな、と言いたい。

My family questions me, however I want to tell them not to ask me.

この件に関して、私は「男性の世論の代表者」の適格がないのです。

I do not qualify as a "representative of the male public opinion" on this subject.

2020/06,江端さんの技術メモ

このページをまるまる試しました。

Roaming Geofences - Tile38

Roaming Geofences

Tile38 1.2では、geofencesを動的に使用できる強力な新機能が導入されました。これにより、1つ以上の移動体が近くにある場合のリアルタイム監視が可能になります。

一般的な使用例としては、次のようなものがあります。

  • 車両ピックアップサービス: ピックアップを待っている人が近くにいるとき、または人が車に近づいたとき、または車が近くにいるときに瞬時に通知されます。

  • 近接型ソーシャルアプリ: 常にデータベースを照会しなくても、2人のユーザーが近くにいるかどうかを確認する必要がある場合に非常に便利です。


簡単な例:

NEARBY people FENCE ROAM people * 5000

これは people コレクションのローミングフェンスを開きます。フェンスは、同じコレクション内の他のオブジェクトから5000メートル以内にあるオブジェクトを監視しています。

テストするには、2つの端子を開きます。:

ターミナル1

Tile38サーバーに接続し、fenceコマンドを入力します。

$ tile38-cli

localhost:9851> NEARBY people FENCE ROAM people * 5000

ターミナル2

peopleコレクションに2点を追加します。2つ目のsetコマンドは、もう一方の端末に表示されるフェンスイベントをトリガーします。

$ tile38-cli

localhost:9851> SET people bob POINT 33.01 -115.01

localhost:9851> SET people alice POINT 33.02 -115.02

イベントはターミナル1に表示され、以下のようになります。

{

"command":"set",

"detect":"roam",

"hook":"",

"key":"people",

"id":"alice",

"time":"2016-05-24T09:19:44.08649461-07:00",

"object":{"type":"Point","coordinates":[-115.02,33.02]},

"nearby":{

"key":"people",

"id":"bob",

"meters":1451.138152186708

}

}

アリスが更新されてボブは1,451メートル離れていることがわかります。

他にもいくつかの例があります。

# アリスボブがお互いに100メートル以内にいるかを見張ります。

NEARBY people MATCH alice FENCE ROAM people bob 100

# 'a'で始まるオブジェクトは、友達のコレクション内の任意のオブジェクトの100メートル以内にいるかを見張ります。

NEARBY people MATCH a* FENCE ROAM friends * 100

また、webhooksを使用している場合は、このようなフェンスを割り当てることができます。

SETHOOK myhook http://10.0.1.5/hook NEARBY people FENCE ROAM people * 5000

NODWELL Keyword

副次的な効果としては、2つの場合に近くの通知がたくさん届くことがあります。 オブジェクトがお互いに近くに存在し続けます。これが問題であれば nodwellキーワードを使います

tile38-cli> NEARBY people FENCE NODWELL ROAM people * 5000

これにより、2つの接続オブジェクトに対して、近くの通知と遠くの通知が繰り返されるようになります。

2020/06,江端さんの技術メモ

これをやられると、コマンドのコピペをする時に、困ったことになるので、対応を探していたら、"WordPress 半角の「"」や「'」が、全角に変換されてしまう件"と同じ対応したら上手くいったので、メモを残しておきます。

remove_filter("the_content", "wptexturize");
remove_filter("the_excerpt", "wptexturize");
remove_filter("the_title", "wptexturize");

の3行をまとめてfunctions.php(https://wp.kobore.net/wp-admin/theme-editor.php?file=functions.php&theme=luxech)に追記したら、上手くいきました。

ここを弄って、WordPressが立ち上がらくなって、青さめたことがあったので、動いている状態のログを取っておく。

ただ、動かなくなったら、この画面にすら行けなくなるので、ffftpの画面も付けておく

現時点でのfunctions.phpの中身は以下の通り。

<?php
/**
 * Luxeritas WordPress Theme - free/libre wordpress platform
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * @copyright Copyright (C) 2015 Thought is free.
 * @link http://thk.kanzae.net/
 * @license http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later
 * @author LunaNuko
 */

/* 以下、好みに応じて子テーマ用の関数をお書きください。
 ( Below here, please write down your own functions for the child theme. ) */
remove_filter("the_content", "wptexturize");
remove_filter("the_excerpt", "wptexturize");
remove_filter("the_title", "wptexturize");

ところで、驚くべきことが書かれていたのですが「PHPの最後の終了タグ ?> は付けないでおこう」だそうです。(事実、タグを付けたら、WPが動かなくなった)

functions.phpはあまりさわらないこと、ですね。

2020/06,江端さんの忘備録

「JIN -仁」―― これが、我が国、屈指の名作テレビドラマであることに、異義を唱える人は少ないでしょう。

Many people would agree that "JIN" is one of Japan's greatest TV dramas.

本シリーズで貫かれている基本コンセプトは、このフレーズに集約されるでしょう。

The basic concept that runs through this series can be summed up in this phrase.

「神は乗り越えられる試練しか与えない」

"God only gives us trials that we can overcome"

人間の技術への飽くなき可能性を問い、人間の可能性と人間愛を描く、感動ドラマといっても過言ではないでしょう。

It is no exaggeration to say that this is a moving drama that shows the insatiable potential of human technology and depicts the potential of human beings and human love.

-----

これらを全て踏まえ上で、私の技術への適当な可能性とこだわり、ささいな可能性と、絶無に等しい人間愛しか持ちえない、私、江端から、一言申し上げたい。

Based on the background, with reasonable potential and commitment to technology, a trivial human being, almost nothing love, I, Ebata, would like to say a few words.

「神は乗り越えられる試練しか与えない」ではなく、

NOT "God only gives us trials that we can overcome"

「神なら、私に試練を与えるな」―― と。

BUT "If you're God, don't give me a trial"

ぬるま湯のような人生を、これといった野望もなく、ボンヤリと生きたいだけの私にとって、

I've had a lukewarm life, I had no ambitions and I just want to live my life easily.

"JIN"は、ただの「憧れの人」であれば良いのです。

"JIN" should just be a "person of admiration" for me.

2020/05,江端さんの技術メモ

基本的には、https://tile38.com/topics/geofencing/ と同じことをやっただけ

(Step 1)サーバを立ち上げる
C:\Users\ebata>docker run -p 9851:9851 tile38/tile38

(Step 2)1つ目のターミナルを上げる
F:\しゅらばしゅう\tile38-master>docker run --net=host -it tile38/tile38 tile38-cli
127.0.0.1:9851> SETCHAN warehouse NEARBY fleet FENCE POINT 33.462 -112.268 6000
{"ok":true,"elapsed":"41.5µs"}
127.0.0.1:9851> SUBSCRIBE warehouse
{"ok":true,"command":"subscribe","channel":"warehouse","num":1,"elapsed":"4.4µs"}

(Step 3)2つ目のターミナルを上げる
$ winpty docker run --net=host -it tile38/tile38 tile38-cli

(Step 4)2つ目のターミナルから座標を入力する
127.0.0.1:9851> SET fleet bus POINT 33.460 -112.260
{"ok":true,"elapsed":"61.7µs"}

1つ目のターミナルに以下が表示される。
{
"command":"set", ← (A)
"group":"5ed3c9a30a24b900011ea4a8",
"detect":"enter", ←(B)
"hook":"warehouse",
"key":"fleet",
"time":"2020-05-31T15:13:39.296483124Z",
"id":"bus",
"object":{"type":"Point","coordinates":[-112.26,33.46]}
}
(A)
del:フェンスで囲まれているコレクションからオブジェクトが削除されたことをクライアントに通知します。
drop:コレクション全体が削除されたことをクライアントに通知します。
set:オブジェクトが追加または更新されたことをクライアントに通知します。
(B)
inside:オブジェクトが指定された領域の内側にあるときです。
outside:オブジェクトが指定されたエリアの外にあるときです。
enter:以前はフェンスの中にいなかったオブジェクトがエリアに入ったときです。
exit:以前フェンスの中にいたオブジェクトがエリアから出たときです。
cross:以前はフェンスの中になかったオブジェクトがエリアに入り、エリアを出たときです。

ところで、
$ SETCHAN warehouse NEARBY fleet FENCE DETECT inside,outside POINT 33.462 -112.268 6000
とか、指定することを可能。
また、例えば COMMANDS オプションを使用することで、どのコマンドを返すかをマスクすることも可能です。以下は、これは、setコマンドのenter検出のみを行うことを指定します。
$ SETCHAN warehouse NEARBY fleet FENCE DETECT enter COMMANDS set POINT 33.462 -112.268 6000

2020/05,江端さんの技術メモ

[tile38のdockerのインストール]

docker pull tile38/tile38
(これは1回で良い)

[tile38サーバのdockerの起動]
Windows10のコマンドプロンプト立ち上げて
docker run -p 9851:9851 tile38/tile38

で、サーバ起動

C:\Users\ebata>docker run -p 9851:9851 tile38/tile38


てな表示が出てきて、表示がロックされる

[tile38クライアントのdockerの起動]

F:\tile38-master>docker run --net=host -it tile38/tile38 tile38-cli
127.0.0.1:9851>

(ちなみに、"docker run -it tile38/tile38 tile38-cli"だと、"Could not connect to Tile38 at 127.0.0.1:9851: Connection refused"が連続で出てくる)

なんだかよく分からないが、https://tile38.com/topics/command-line-interface/ に記載されている内容を入力すると、こうなった。

127.0.0.1:9851> SET fleet truck1 POINT 33.5123 -112.2693
{"ok":true,"elapsed":"45.7μs"}
127.0.0.1:9851> SET fleet truck2 POINT 33.4626 -112.1695
{"ok":true,"elapsed":"8.9μs"}
127.0.0.1:9851> SCAN fleet
{"ok":true,"objects":[{"id":"truck1","object":{"type":"Point","coordinates":[-112.2693,33.5123]}},{"id":"truck2","object":{"type":"Point","coordinates":[-112.1695,33.4626]}}],"count":2,"cursor":0,"elapsed":"56.7μs"}
127.0.0.1:9851> NEARBY fleet POINT 33.462 -112.268 6000
{"ok":true,"objects":[{"id":"truck1","object":{"type":"Point","coordinates":[-112.2693,33.5123]}}],"count":1,"cursor":0,"elapsed":"37.2μs"}
127.0.0.1:9851> GET fleet truck1
{"ok":true,"object":{"type":"Point","coordinates":[-112.2693,33.5123]},"elapsed":"8.8μs"}
127.0.0.1:9851> DEL fleet truck2
{"ok":true,"elapsed":"5.5μs"}
127.0.0.1:9851> DROP fleet
{"ok":true,"elapsed":"1.9μs"}
127.0.0.1:9851> q
(error) unknown command 'q'
127.0.0.1:9851> quit

というように、とりあえずDockerのtile38サーバの起動を確認。

========

ちなみに、ダウンロードしてきた"tile38-master.zip"からDockerを作ろうとしましたが、上手くいきませんでした。
(Docker使うなら、上記の手順と同じことになります)

ただ、手順は間違っていないと思うので、書き残しておきます。

tile38-master.zipを解凍して、tile38-masterの中で、makeを実施(Goのインストールは前提)。

すると、tile38-masterの中に、
tile38-benchmark
tile38-cli
tile38-server

ができる。

あとは、docker build .
で、Docker Imageができる。

が、このImageの中に上記の3つが入らなくて、頭を抱えて週末が終わった。

(結局、"docker pull tile38/tile38" ,"docker run -p 9851:9851 tile38/tile38"だけで足ることが分かったのは、日曜日の夜だった)

2020/05,江端さんの忘備録

PostgreSQLのDockerを作っていて、ようやくその「ラクさ」に気がつきました。

I've been building Docker for PostgreSQL and finally realized how easy it is.

それは「環境汚染から逃げられる」という一言につきます。

It can be summed up in one word: "I can get away with environmental pollution.

例えば、違うバージョンのPostgreSQLサーバを、1つのPCにインストールすることはできません。

For example, a different version of the PostgreSQL server cannot be installed on a single PC.

もちろんできない訳ではないのですが、大抵の場合、面倒な設定の衝突が発生し、どちらのサーバにも問題が発生します。

Of course, I can do it. In most cases, troublesome configuration conflicts occur, causing problems for both servers.

両方のPostgreSQLサーバをDockerで作っておいて、必要な時に必要な方だけを立ち上げれば、この問題が発生しません。

If I keep both PostgreSQL servers in Docker and only start up the one I need when I need it, I won't have this problem.

(まあ、正直に言えば、Docker自体、ホストOS(特にWindows)の上で変な動きをすることもあるので、世間で言うように、諸手を上げて「凄い」とまでは言えないのですが)

Well, to be honest, Docker itself can run weirdly on host OSes (especially Windows), so I can't say that it's "great" with all my hands, as people say....

-----

Dockerとは、要するに

Docker is, in short,

―― 別々のマンションに囲っておき、気が向いた時だけに尋ねることができる愛人

"a mistress you can keep enclosed in a separate condo and ask only when you feel like it"

この一言に尽きます。

I can sum it up in one word.

―― しかも、その愛人とマンションのコストが、恐しく安い

"What's more, the cost of the condo with the mistress is frighteningly cheap."

なぜ、多くの人は、この表現を用いてDockerを語らないのか、私には分かりません。

I don't know why so many people don't use this expression to talk about Docker.

-----

自分の品性が疑われるからかなぁ。

It may be because my character is questioned.

しかし、私のような「高潔な人物」でも思いつくメタファーなんですけどね。

However, it's a metaphor that even a " noble person " like me can come up with.

2020/05,江端さんの忘備録

我が家には、1Gの光ネットワークが敷設されています。

We have a 1G optical network in our house.

これまで、帯域の問題などは発生したことはなかったのですが、最近、しばしばネットワークが不調となることとがあります。

I have never had any bandwidth issues, but recently I have been experiencing frequent network malfunctions.

まあ、私が会社のリモート会議をして、嫁さんがAmazon PRIMEを見て、次女がリモート授業を受けて、長女が企業面接をやっている ――

Well, I'm doing corporate remote meetings, my wife is watching Amazon PRIME, my second daughter is taking remote classes, and my senior daughter is doing corporate interviews --

そんな状況が、同時に発生することになれば、スループットに問題が発生するだろうとは思います。

I think that if such a situation is to occur at the same time, there would be throughput problems.

-----

一方、ここにきて、「私(江端)の『無線は信用ならん』」のポリシーが上手く回っているように思います。

On the other hand, it seems that my (Ebata's) policy of "I don't trust radio" is working well here.

なにしろ、我が家は、自宅を建てた時に敷設した100Mイーサのネットワークがベースですし、その他、外壁や、庭の土の中にも、イーサネットが張り巡らされています。

After all, our house is based on the 100M Ethernet network that I installed when I built our house. There are also other Ethernet lines on the exterior walls and in the soil of the garden.

企業面接では、長女は、ノートPCに有線LANを接続しているようです。

In the company interview, my senior daughter seems to have a wired LAN connection to her laptop.

WiFiは通信品質の変動が激しいです。

WiFi is prone to fluctuating communication quality.

企業面接の途中で、通信リンクが切れたらシャレになりません。

It's no joke if she lose her communication link during the company interview.

-----

それにしても、『我が家のリビングで、就職面接が行なわれる時代がやって来ようとは』 ―― 誰が予想できたでしょうか。

By the way, who would have guessed that the era of job interviews in our living room would be coming ?

エンジニア、投資家、コンサル、ベンチャーの社長、政治家、人工知能(とか言う何かよく分からないもの)、誰も予想できなかった未来です。

It's a future that no one could have predicted, engineers, investors, consultants, venture presidents, politicians, artificial intelligence (or something I'm not sure).

(占い師とかカルト宗教団体は、厚顔甚しくも「私は予言していた」と言い出しかねないので、確認的に記載しておきます)。

I'll note this confirmatively, because fortune tellers and religious cults may say "I predicted it" with a thick face.

-----

スーツ姿でバッチリと決めた娘が、リビングで、自分のノートPCを使って面接している様は ――

My daughter, looking great in her suit, is interviewing in the living room on her notePC.

もちろん、面接中は、家族全員がリビングに立ち入りませんが、

Of course, the whole family won't be in the living room during the interview

もの凄い、非日常感です。

It's an amazing, extraordinary feeling.

2020/05,江端さんの忘備録

SNSの誹謗中傷によって、また誰かが自殺に追いやられたようです。

It seems that someone has been driven to suicide again by the slander on social media.

今さらですが、我が国において、この手の話は今回が初めてという訳ではありませんし、世界中でも同じ事件が起こっています。

I hate to say it now, but this is not the first time, and the same incidents are happening all over the world.

このような事件が発生する度に、私には不思議に思っています。

Every time an incident like this occurs, it makes me wonder.

―― 「SNSでの誹謗中傷はやめよう」とは言う人はいても、「SNSを使うのをやめよう」と言う人はいない

"There are people who say, "Let's stop slandering people on SNS," but there are no people who say, "Let's stop using SNS."

とても、不思議です。

It's very, very strange.

-----

この話、私には「銃規制」と同じ様に見えます。

This story, to me, looks a lot like "gun control".

我が国では、個人的な銃は「所持」しているだけで刑事罰の対象です。

In our country, personal "possession" of a gun is subject to criminal penalties.

日本国の法律は、銃の「殺傷」以外の効果(例えば「自衛力」)を個人の権利として認めていません。

Japanese law does not recognize the non-"lethal" effects of a gun (e.g., "self-defense") as an individual right.

しかし、我が国において、その「銃規制」の効果は絶大です。

However, in our country, that "gun control" has had a tremendous effect.

なにしろ、我が国では、銃による殺人事件は、「暴力あるいは暴力的脅迫によって自己の私的な目的を達しようとする反社会的集団」を除けば、ほとんど発生していません。

After all, we don't have any gun murders in this country with the exception of "an antisocial group that seeks to achieve its own private ends through violence or threats"

この反社会的集団が、一般市民に銃を使用したケースもありましたが、実行犯は勿論、組織は壊滅、組織の長も連座の罪となり、悲惨な人生を送り、その報いを受けています。

There have been cases where this anti-social group has used guns on civilians, but the perpetrators, of course, the organization has also been destroyed. The head of the organization has also been guilty of association. They had to live their miserable life, and are reaping the rewards.

勿論、1mmも同情する気にもなれませんが。

Of course, I'm not inclined to pity them at all.

-----

私は、「SNSを法律で規制せよ」などと言う気はありません。

I don't want to say that SNS should be regulated by law.

SNSによって形成される世論には、問題もありますが、有効な面もあると思っているからです。

The public opinion formed by social networking has its problems, but I believe that it also has an effective side.

ただ、「SNSでの誹謗中傷」の被害者に対して、本気の反省と同情と哀悼を「行動」として示すのであれば、

However, for victims of "slander on SNS," If we show real genuine remorse, sympathy and condolence as an "action",

「SNSをやめる」こと ―― それだけだと思うのです。

"To quit SNS" - I think that's it

正直、1人が「SNSをやめること」による社会への効果は絶無でしょう。

To be honest, the effect on society of one person quitting SNS will be negligible.

それでも、少なくとも「自分だけは行動した」と自分に言い切ることはできます。

Still, we can at least tell ourselves that "I am the only one who has acted"

-----

「SNSでの誹謗中傷はやめよう」と、SNSで叫び回る人間は、

People who go around shouting, "Stop slandering people on SNS!

私には、

I feel "vulgar" like

―― 銃をぶっぱなし続けながら「銃を規制すべきだ」と叫んでいる人間

"the person who keeps blasting guns and shouting "we should control guns!""

と同じ「品性のなさ」を感じるのです。

-----

ともあれ、今回の事件で、「SNSをやめる」という決断をした人がいれば、私にご一報下さい。

Anyway, if there is anyone who has decided to quit SNS because of this incident, please let me know.

ゆっくりとお話したいです。

I would like to take my time and talk to you.