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

Amazon Web Service(AWS)の無料期間が経過していて、3~4回くらい、5000円/月の課金を喰らっていたことを知って、先日あわててアカウントを抹消しました。

# 練習用に使っていただけなに、バカみたいです。

ところで、私が今、個人のWebサイトで利用させて頂いているのは、さくらインターネットの月額500円の仮想サーバです。WordPressと併用できて、とても便利です。

ただ、以前、このサーバを使って実家監視システムを作ろうと思ったのですが、色々問題があって使えませんでした(ホームページ用の仮想サーバなんだから当り前)。

といって、AWSは、高額の上に設定が面倒。このクラウドに、どれだけの時間を持っていかれたことか

という訳で調べたら、Amazonにも3.5ドル/月のサーバがあることが分かりました。 Amazon Lightsail です。

うん、これ、いい。私は、サーバを攻撃から守る気もないし、システム破られて持ち出された情報なんぞ入れる気もない。EC2なんぞ1つあれば十分だし、DBはUbuntuの中に作りこんでしまえばいい。

そもそも、ファイアウォールとして使っているロードバランサの設定も、Route53の設定もやりたくありません。

という訳で忘れない内にAmazon Lightsail の作成手順をメモしておきます。

(1)AWSのアカウントを作成(省略)

(2)Amazon Lightsail を選んで、「インスタンスの作成」ボタンを押下

私は、Ubuntu20.04を選択

一番安い$3.5を選択

あとは、ほったらかしにして(入力値はデフォルト、タグは無視)「インスタンスの作成」ボタンを押下

で、「データベース」タブは無視して、「ネットワーキングタブ」を選択

「静的IPの作成」ボタンを押して、そのままIPアドレスを作る。ちなみに、pingでは応答しないようです。

次に「DNSゾーン」の作成ですが、私は、お名前.comに1つドメイン名を確保しているので、それを使うことにしました。

そのやり方については、これを参考にして下さい。

基本的には、この情報を、お名前.comの方に書き込むだけです。

DNSレコードは、Aレコードだけを設定すれば良いです(サブドメインを作りたい場合は別)。

結果として、こんな表示が出せれば正解

DNSの反映されるに、10分~20分ってところだったと思います。

それと、どこでやったか忘れてしまったけど、SSHアクセス用の秘密鍵をダウンロードするプロセスがでてくるので、それをダウンロードしておく。LightsailDefaultKey-ap-northeast-1.pem てな名前でした(ダウンロード後、リネームしておくと良いでしょう)。

それを使ってTeraTermで、カーネルにアクセスできるようになります。FTPもteratermから “ファイル" → “SSH SCP"を選ぶと、ファイル転送できます(FFFTPは使えません)

あとは、TeraTermでSSHログインして、こんなコマンド投入しておきました。

>sudo apt-get update
>sudo apt install net-tools
>sudo apt install emacs
>sudo apt install golang-go

ロードバランサを使うと$18/月も取られるようなので、OS剥き出しで運用することにしました。

ポートのオープンはこちらからできます。ローカルのテストで http://localhost:8080 とかを使っていましたので、以下のように8080をオープンしておきます。これで、http://sea-anemone:8080 とかが使えるようになります。

(因みに、IPアドレスはデタラメな値に差し替えています)

なお、go言語で作っているサーバの方ですが、以下のような書き換えだけで対応できるようです。

//var addr = flag.String("addr", "localhost:8080", "http service address") // これは動かない
//var addr = flag.String("addr", "0.0.0.0:8080", "http service address") // ローカルでの環境
var addr = flag.String("addr", ":8080", "http service address") // AWS lightsailでの環境

 

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

(昨日の続きです)

(Continuation from yesterday)

ところが、この閉じられた特殊な閉鎖環境において、「自分は異性にモテる」と感違いするバカがいる訳です。

However, in this closed-off environment, there are idiots who think that they are popular with the opposite sex.

そして、このバカは、そのような閉鎖環境にあって、子どもの無知に付け込み、社会的に犯罪(性犯罪)を、大した意識もなく実行する。

And this idiot takes advantage of the child’s ignorance in such a closed environment to commit crimes (sex crimes) in society without much awareness.

恐らく、その事件の多くは、明るみにでることがありません。

Perhaps many of those incidents will never come to light.

被害者である子どもは「告発」という手段の存在を学んでおらず、知らないからです。

This is because the child, the victim, has not learned and does not know that the means of “accusation" exists.

自己評価のできない馬鹿な大人と、性犯罪被害を告発できない子ども ―― 背筋が凍るような恐しい組み合わせです。

“Stupid adults who can’t evaluate themselves and children who can’t accuse them of sexual assault". This is a frightening combination that sends chills down my spine.

—–

ちょっと言い過ぎかもしれませんが、正直に言わせて頂きますと、

That may be a bit of an exaggeration, but I have to be honest with you.

―― 「将来は教師になりたい」という夢を語る若者の全てを、私は「気持ち悪い」と思う

I find young people who talk about their dreams of being a teacher in the future to be “creepy".

『自分は、人を教え導く人間になれる』という「肥大した自我」を持っているというだけで、私は寒気がします。

Just the fact that I have a 'bloated ego’ that says 'I can be a person who teaches and leads others’ gives me chills.

そもそも、社会一般の矛盾や非合理や理不尽に一度も接することなく、「学生→教師への、タイムラグ0の直行ルート」という就職パスがあること自体、どうかしていると思う。

In the first place, I think it’s crazy that there is a 'direct route to employment, from student to teacher, with zero time lag’, without ever having to deal with the contradictions, irrationality and unreasonableness of society in general.

教師の採用資格には、

A teacher’s employment qualifications should be included

「文部科学省が認定する企業において、係長相当以上の職位での3年以上の業務経験のあるもの」

A person who has at least three years of work experience in a position equivalent to or higher than section head in a company certified by the Ministry of Education, Culture, Sports, Science and Technology.

と入れるべきでしょう。

学校という特殊な環境は、「肥大した自我」を「徹底的に叩き潰された者だけ」が「教師」として存在できる資格がある、と思うのです。

I believe that only those who have had their “bloated ego" “thoroughly beaten down" can enter the special environment of school.

(「文部科学省が認定する」を入れるのは、その気になれば、会社なんぞ1円で作れて、即日社長になれるからです)

(The reason for including the phrase “accredited by the Ministry of Education, is that 'anyone could build a company for a penny and become president on the same day")

(続く)

(To be continued)

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

私、学生のころ学習塾や家庭教師のアルバイトをやっていました。

When I was a college student, I had a part-time job as a tutor and cram school.

そして、

And I know the following from my experience.

―― 男性講師は、男性講師という理由だけで、女の子にモテる

“Male instructors are popular with girls just because they are male instructors"

ということを、経験的に知っています。

バレンタインや、年度末などは、結構な数のプレゼントを受けとりました(鉄板の『手編みのマフラー』というものもありました)

At Valentine’s Day and the end of the school year, I received quite a few gifts from the girls (there was even “hand-knitted scarf").

もちろん、これらが「ティーン女子の幻想」であることは、よく分かっていました。

Of course, I was well aware that these were based on the “teen girl fantasy".

冷静に考えるまでもなく、私に「モテる要素」なんぞ、ある訳がないからです。

Needless to say, there was no way I have the “factor of being popular".

—–

ところが、講師(教師も含む)というものは、

However, instructors (including teachers) are

教壇から子どもを見おろしながら、

Looking down at the children from the podium.

■子どもに分からない勉強を、分かるように教えることができ、

– They can teach my children what they don’t understand in a way that they can understand.

■子どもが、まだ体験していない、様々な人生経験を語ることができ、

– They can talk about a variety of life experiences that the children have not yet experienced, and

■子どもでは獲得できない、人生訓のようなものを語ることができ、

– They can speak the kind of life lessons that the children can’t acquire.

ます。

そして、実社会であれば「一笑に付されるような理想論」や「簡単にバレるような自分の英雄譚」を、

And they can speak non-sense “laughable idealism" and “easily exposed tales of their own heroism"

閉じられた空間で、

in an enclosed space

誰にも邪魔されることなく、

without being interrupted

一方的に語る

unilaterally

ことができる環境にあります。

—–

そんな、男性講師に、ティーン女子が、恋心のようなものを発生させてしまうのは、これはもう、

“Such a thing as a teenage girl giving rise to a kind of love affair with a male instructor" is

―― 教育現場というシステムにおける、構造上の欠陥

“Structural flaws in the system of education field"

と言えます。

—–

まあ、私が、学生時代に、比較的マシな講師として過してこれたのは

Well, the reason why I did as a relatively good teacher when I was a college student

「学生だった頃、既に、この事実に気がついていた」

“I was already aware of this fact when I was a college student"

からです。

(続く)

(To be continued)

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

document.getElementById(“open").onclick = function(evt) と、ws.onopen = function(evt) が、混乱して、上手く動かなかったけど、ようやく分かりました(ような気ががしています)。

■document.getElementById(“open").onclick = function(evt) { 処理内容}は、
“open"ボタンを押した時に行う処理を行い、
■ws.onopen = function(evt){処理内容}は、
websocketのopenのイベントが飛んできた時に行う

つまり、"ボタン"と"websocket"という、全く別物を取り扱っている、ということに、やっと気がつきました ―― 同じ"open"という言葉を使うので、混同していました。

なので、

ws.close()処理は、当然に、document.getElementById(“open").onclick = function(evt) { 処理内容} の中で実施しなけばなりません。

ws.onopen = function(evt){処理内容}は、すでにwebsocketのclose処理が行われた後の処理を記載するので、ここでws.close()を記載したら、変なことになります(二重にwebsocketのclose処理をすることになる)


 

それと、位置情報をコールバックで取得する関数を、
const successCallback = (position) => { 処理内容 }

エラーイベントを検知する関数を、
const errorCallback = (err) => { 処理内容 }
と記載した場合、

このコールバックを登録する関数は、
watchPositionID = navigator.geolocation.watchPosition(successCallback, errorCallback, options);
であり、

このコールバックを停止する関数は、navigator.geolocation.clearWatch(watchPositionID);

となります。

という訳で、server26.goの"smartphoneTemplate"で登録している、htmlファイル(javascriptを含む)の部分だけ切り出したものを記載しておきます。

var smartphoneTemplate = template.Must(template.New("").Parse(`
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<script> 

let watchPositionID;  // グローバル変数として出しておく
let ws; // グローバル変数として出しておく

window.onload = () => {
	// これは、Web起動時に最初に読まれる部分であるが、今回、これらの関数は、全部
	// 	document.getElementById("open").onclick = function(evt) {  // openボタンを押した時 
	// 中に放り込んだ。 openボタンを押した後に起動するようにする為である

	// navigator.geolocation.watchPositionについては次のURLにかかれています。
	// https://developer.mozilla.org/ja/docs/Web/API/Geolocation/watchPosition

	// これが位置情報コールバックの起動コマンド
	//watchPositionID = navigator.geolocation.watchPosition(successCallback, errorCallback, options);

	// ここで(もう)webソケットを開く
	//ws = new WebSocket("{{.}}");

};

// ブラウザーを閉じる前に位置の監視を止めます
window.onbeforeunload = () => {
	// こちらの内容も
	// document.getElementById("close").onclick = function(evt) { // closeボタンを押した時
	// の中に放り込んだ  closeボタンを押した時に起動するようにする為である	

	// これが位置情報コールバック停止のコマンド	
	//navigator.geolocation.clearWatch(watchPositionID);
	
	//ws.close();
}


// 引数にはミリ秒を指定。(例:5秒の場合は5000)
function sleep(a){
	  var dt1 = new Date().getTime();
	  var dt2 = new Date().getTime();
	  while (dt2 < dt1 + a){
		dt2 = new Date().getTime();
	}
	  return;
}

// 以下の3つはグローバル変数として取り扱う
var personal_id =0;  
var lat;
var lng;  

//var ws;

// 位置情報を構造体として格納する為のファンクション(jsでは、こういう風に使うらしい)
function obj(id, lat, lng){
	this.id = id;
	this.lat = lat;
	this.lng = lng;
}

// 乱数生成装置 (minとmaxの間の乱数を作る)
function random(min, max){
	return  Math.random()*(max-min) + min;
}


window.addEventListener("load", function(evt) {
	// メッセージ表示部
    var output = document.getElementById("output");
    var input = document.getElementById("input");

    var print = function(message) {
        var d = document.createElement("div");
        d.textContent = message;
        output.appendChild(d);
	};

	///// 起動時のボタン設定(アクティブにしたり非アクティブにしたりする)
	// disabled属性を削除
	document.getElementById("open").removeAttribute("disabled");
	document.getElementById("open").style.color = "black";

	// disabled属性を設定 (closeボタンを非活性化)
	document.getElementById("close").setAttribute("disabled", true);
	document.getElementById("close").style.color = "White";			

	document.getElementById("open").onclick = function(evt) {  // openボタンを押した時
		console.log("document.getElementById open");

		// disabled属性を設定 (openボタンを非活性化)
		document.getElementById("open").setAttribute("disabled", true);
		document.getElementById("open").style.color = "White";		

		// disabled属性を削除(closeボタンを非活性化)
		document.getElementById("close").removeAttribute("disabled");
		document.getElementById("close").style.color = "black";	

        //if (ws) {
        //    return false;
        //}
	

		// ここでコールバック関数を起動
		watchPositionID = navigator.geolocation.watchPosition(successCallback, errorCallback, options);
		// websocket オープン
		ws = new WebSocket("{{.}}");
		// 最初はidを0にする
		personal_id = 0;   
			
		ws.onopen = function(evt) {  // 通信openイベントを検知した時(通信がopen状態になった後)
			print("OPEN");
		
			var send_obj = new obj(0, lat, lng);  // 最初はpersonal_idを"0"としてエントリ
	
			console.log("open:send_obj");	
			console.log(send_obj.id);	
			console.log(send_obj.lat);
			console.log(send_obj.lng);		
	
			var json_obj = JSON.stringify(send_obj);
			ws.send(json_obj);

		}

		ws.onclose = function(evt) {  // 通信closeイベント(×ボタン)を検知した時 (通信がclose状態になった後)
			print("onclose:CLOSE");
            ws = null;
        }

		ws.onmessage = function(evt) {  // 通信メッセージを受信した時(受信した後)
			print("RESPONSE: " + evt.data);  // jsonメッセージの内容を表示
			// データをJSON形式に変更
			var obj = JSON.parse(evt.data);

			personal_id = obj.id; // IDの取得(何回も取る必要はないが)
			console.log("personal_id");			
			console.log(personal_id);
			
			if ((Math.abs(obj.lat) > 90.0) || (Math.abs(obj.lng) > 180.0)){ // 異常な座標が入った場合は、マーカーを消去する
				console.log("before ws.close()");
				ws.close();
				console.log("after ws.close()");
			}
		}
		
        ws.onerror = function(evt) { //  エラーイベントを検知した時(検知した後)
            print("ERROR: " + evt.data);
        }
        return false;
    };
	
	document.getElementById("close").onclick = function(evt) { // closeボタンを押した時
		console.log(" document.getElementById close");

		// disabled属性を削除
		document.getElementById("open").removeAttribute("disabled");
		document.getElementById("open").style.color = "black";

		// disabled属性を設定 (closeボタンを非活性化)
		document.getElementById("close").setAttribute("disabled", true);
		document.getElementById("close").style.color = "White";	

        if (!ws) {
            return false;
		}
		
		var send_obj = new obj(personal_id, 999.9, 999.9); //  意図的に異常な位置情報を入れて正常終了させる処理

		console.log("close:send_obj");
		console.log(send_obj.id);		
		console.log(send_obj.lat);
		console.log(send_obj.lng);		

		var json_obj = JSON.stringify(send_obj);
		ws.send(json_obj);

		ws.close();  // これはws.closeの方で実施すると変なことになる  closeが実施された後で、close()することになる

		navigator.geolocation.clearWatch(watchPositionID); //コールバック関数の停止?

		personal_id = 0;   // 最後もidを0にする		
	
        return false;
    };
});

// 位置情報の取得に成功した際のコールバック

const successCallback = (position) => {
	console.log("successCallback:position");

	lat = position.coords.latitude;
	lng = position.coords.longitude;

	console.log(personal_id);
	console.log(lat);
	console.log(lng);

	//コールバックが発生するタイミングでサーバに位置情報を送付する

	if (personal_id != 0){
		var send_obj = new obj(personal_id, lat, lng);  // 最初は"0"でエントリ

		console.log("open:send_obj");	
		console.log(send_obj.id);	
		console.log(send_obj.lat);
		console.log(send_obj.lng);		

		var json_obj = JSON.stringify(send_obj);
		ws.send(json_obj);
	}

	// sleep(1000); // 1秒待つ	

}

// 位置情報の取得に失敗した際のコールバック
const errorCallback = (err) => {
	console.log(err);
};

// 位置を監視する構成オプション
// オプションの内容は次のリンクに書かれています。
// https://developer.mozilla.org/ja/docs/Web/API/PositionOptions
const options = {
	enableHighAccuracy: true,
	//timeout: 5000,
	timeout: 500000,
	maximumAge: 0
};

</script>
</head>
<body>
<table>
<tr><td valign="top" width="50%">
<p>Click "Open" to create a connection to the server, 
"Send" to send a message to the server and "Close" to close the connection. 
You can change the message and send multiple times.
<p>
<form>
<button id="open">Open</button>
<!-- <p><input id="input" type="text" value="Hello world!"> -->
<!-- <button id="send">Send</button> -->
<button id="close">Close</button>
</form>
</td><td valign="top" width="50%">
<div id="output"></div>
</td></tr></table>
</body>
</html>
`))

 


 

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

我が国では、「非婚者」の比率が増えてきています。

The proportion of “non-married" people is increasing in our country.

『「非婚」という選択が幸せである』というのではなく、事実『「非婚」は幸せである』のです。

It’s not that 'choosing to be 'non-married’ is a happy choice,’ but the fact that 'non-marriage’ is a happy choice.

そもそも「他人と共に生きる」という人生は、それ自体がハードルの高い生き方です。

To begin with, a life of “living with others" is a hurdle in itself.

自分の管理・制御下にない人間と、(大抵の場合は)生涯パートナーとして生きていくというのは、それ自体が奇跡である、と ―― そういう当たり前のことに、ようやく人類は気がつき出したのだと思います。

“living as a partner who is not under our management and control is a miracle (in most case)". I think we are finally realizing that this is a matter of course.

—–

「非婚」によって、出生率が低下し、生産力が減り、国力が削られる ―― なるほど、そうかもしれません。

“Non-marriage" reduces the birth rate, reduces the productive capacity, and diminishes the nation’s strength — okay, maybe so.

―― だったら、何だというのだ?

“What’s the matter, even if so ?"

国民の選択によって、国家が衰退するなら、それは国家の運命です。

If a nation is decimated by the choices of its people, it is the fate of the nation.

少なくとも私は構いません ―― 衰退していく国家であっても、それに適応しながら、なんとか生きていける程度には、私は、毎日、勉強し続けています。

At least I don’t mind. I continue to learn, every day, to manage to live with it, even in a declining nation, while adapting to it.

—–

どうも、勘違いしている人が多いようですが、「国家(特に政府)は、国民に対して役務(サービス)を提供する主体」です。

Apparently, there are a lot of people who are mistaken. “The state (especially the government) is an entity that provides services to its citizens".

「国民が、国家に使役する義務は1mmもない」のです。

The people are under no obligation to serve the state at all.

なぜ少子化対策をしているのか? ―― これも勘違いしている人が多いようです。

Why is the government taking measures against the declining birthrate? It seems that many people misunderstand this as well.

少子化対策をしているのは、現状の日本国というシステムが必要とする人数を、維持したいからです。

The reason why the government is taking measures against the declining birthrate is because the government wants to maintain the number of people that the current system of Japan needs.

その為には、人口を維持する戦略「少子化対策」が、一番コストが安いからです。

For that purpose, the strategy to maintain the population, “Countermeasures against the declining birthrate," is the cheapest.

—–

しかし、少子化は、もう避けられません。

However, the declining birthrate is inevitable.

少子化が避けられないのであれば、少子化に適応させる方向で、日本国というシステムを変更(縮退)させるしかありません。

If the declining birthrate is unavoidable, there is no choice but to change (degenerate) the system of Japan in the direction of adapting to the declining birthrate.

もっとも、そのようなシステム変更が「簡単である」とは言いませんが、少子化は文明と歴史の必然です。

Although I do not say that such system changes are “easy", the declining birthrate is an inevitable part of civilization and history.

面倒くさらがずに「現状のシステムを変更」し、必要であれば「現状のシステムを放棄する」覚悟が必要とされています。

We need to be prepared to “change the current system" and, if necessary, “abandon the current system" without any hassle.

(まあ、テクノロジーによる解決法もあるのですが、今回は割愛します)

(Well, there is a technology solution, but I’ll omit it this time.)

—–

ただ ―― 「非婚」を選んだ人たちに、申し上げたいことはあります。

However, I would like to call attention to those who chose “unmarried."

「非婚」を選んだ人が、頻繁に親戚などの家庭を訊ねる、という傾向が散見されます。

There is a tendency for people who choose “unmarried" to frequently ask their relatives’ families.

『休日になると、親戚のその家にいりびたり、子どもたちと遊んで、一日過ごしていく』ということを、日常的に行っている者がいます。

Some people regularly do “on holidays, spend the day at their relatives’ homes, playing with their children,".

はっきり言いますが ―― 鬱陶(うっと)しい

To be clear, they are annoying.

というか、空気読め、バカ。

In other words, “Read the atmosphere. this idiot!"

「非婚」を選択しておきながら、何、ラクして「アットホーム」だけを享受しようとしているんだ。

Why you are trying to enjoy only “at home" with ease, even you have selected “unmarried".

厚かましいにも程がある。

You have quite a nerve.

「非婚」という「自由」を選択したのであれば、それに付随する「孤独」も一緒に飲み込め。

If you’ve chosen the “freedom" of “non-marriage," then swallow the “loneliness" that comes with it, too.

それがトレードオフというものだ。

That’s called a trade-off.

例えば、幼児や小学生の女児がいるような家に、頻繁に独身の男がやってくるのを、歓迎する親がいると思うか?

For example — do you think any parent would welcome a single man who frequents a house with toddlers and school-age girls?

はっきり言って「気持ち悪い」し、もっとはっきり言えば「怖い」。

To be clear, it is “unpleasant", and more clearly, it is “scary".

そもそも『いい歳こいて、自分一人で、自分自身を楽しませる方法すら確立できない奴』というだけで、信用は絶無だ。

In the first place, if you’re 'a good old man, on your own, who can’t even establish how to entertain himself,’ you have no credibility.

―― ということを、本人の前でハッキリと言うのは難しいのです(私は例外)。

It’s hard to say that clearly in front of you (I’m an exception).

—–

ともあれ『非婚者の訪問は、既婚者の家庭では歓迎されていません』。察して下さい。

Anyway, 'visits from non-married people are not welcome in the homes of married people’. Please guess.

『「非婚」という選択が幸せである』を選んだ人は、生涯、それを、たった一人で貫ぬく覚悟と義務があります。

Those who choose “Non-marriage is a happy choice" have a lifelong obligation to carry it out alone.

厚かましくも、人様が苦労して作り上げた「幸せシステム」に「ただ乗り」するような奴は ―― 少なくとも、私は許しません。

I won’t tolerate anyone who “free rides" on the “happiness system" that others have worked so hard to create.

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

(昨日の続きです)

(Continuation from yesterday)

しかし、私の娘たちは、父親の「技術力」や「資質」を使い倒すことに対しては、一切の躊躇がありません。

However, my daughters have no hesitation about using their father’s “technical skills" and “qualities" to defeat him.

家電機器の設定、ネットワーク配線、パソコンの初期構築、ソフトウェアのインストールから、学術レポート書き方、英語翻訳、工作加工、就職や入学試験対応、プレゼンテーション資料の作り方や纏め方 ―― 果ては、

How to set up appliances, network wiring, initial computer setup, software installation, academic report writing, English translation, crafting, job and school entrance exams, how to make and organize presentation materials — and more,

「自分」の志望動機や、「自分」の将来の夢、に至るまで、「この私」にネタ出し(ブレーンストーミング)をさせます。

They let “me" brainstorm about everything from their motivations for applying for jobs to their dreams for the future.

その為であれば、暗に父親の就寝時間まで指定してきます(例: 『パパさぁ、今日、午前4時より前に寝ちゃう?』)

They will even implicitly specify a bedtime for their father (e.g., “Dad, are you going to bed before 4:00 a.m. today?").

—–

江端:『あのなぁ、なんで、私がお前たちの"動機"や"夢"まで考えなければならないのだ?』

Ebata: “Listen, why do I have to think about your 'motives’ and 'dreams’ as well?

娘:『いや、私がパパに期待しているのは、"動機"や"夢"に繋げるまでの、論理的な筋道(説明)だよ』

Daughter: “No, what I expect you is a logical path (explanation) to connect to my 'motives’ and 'dreams'"

そう。その通り。

Exactly.

“動機"や"夢"を語ることは、それほど難しくありません(もちろん「難しい」という人も沢山いますが)。

“It’s not that difficult to talk about their “motivation" and “dreams" (although of course there are many people who say it’s difficult).

本当に難しいのは、その"動機"や"夢"に至るまでの、具体的な事例と、客観的な実現性と、そこそこ迫力とドラマのあるストーリー作りです。

What is really difficult is to create a story with concrete examples, objective feasibility, and moderate power and drama, to lead up to the “motivation" and “dream".

—–

実は、これ、特許明細書の書き方と同じです。

In fact, this is the same as how to write a patent specification.

特許明細書は、国家に対して、発明の独占的使用権の付与を請求するための、行政書類です。

A patent specification is an administrative document for requesting the state to grant an exclusive right to use an invention.

しかし、その書類の中には、審査官を納得させ、そこそこ感動させる力強いストーリーも必要なのです。

However, some of the documents also need a powerful story that convinces and impresses the examiner.

それ故、発明を生業(なりわい)とするエンジニアには、「技術力」に加えて、「ストーリーテーラー」としての資質も要求されるです。

Therefore, an engineer whose business is invention is required not only to have “technical ability" but also to have qualities as a “storyteller".

—–

総じて、私は ―― 『娘にブランドバッグをねだられる方が、ラクだな』と思える程度には、娘たちに、コキ使われています。

In general, my daughters have used me as a convenience, like 'it is easier to beg my daughter for a branded bag’

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

子どもの頃の私は、「親に宿題を手伝って貰う」という考え方がありませんでした。

As a child, I didn’t have a “get my parents to help me with my homework" mentality.

―― ジョーダンではない!そんなみっともないことができるか!

“No kidding! I can’t be so disgusting!"

が、私の考え方の中心でした。

It was the center of my thinking.

学費とか生活必需品とかの例外を除き、「親にお金をねだる」ということをやったこともありません。

I’ve never done the “begging my parents for money" thing, with the exception of school fees or other necessities.

というか――「できなかった」。

I mean – “I couldn’t".

我が家は、決して裕福な家庭ではなかったですし、父も母も、下町の木工会社を経営しながら、真の意味において「命懸け」で働いているのを、(私も、時々、その手伝いをしながら)見てきたからです。

My family was not a wealthy one, and I watched (and sometimes helped) my father and mother run a downtown woodworking company, working for their “lives" in the true sense of the word.

# 本当に、父も母も、何度か死にかけて、入院(ICU等を含む)をしていました。

# Really, both my father and mother was about to die several times and were hospitalized (including ICU etc.).

—–

一方、嫁さんの方は、当たり前の様に、義父や義母に宿題を手伝って貰っていたそうです。

My wife, on the other hand, had her father-in-law and mother-in-law help her with her homework, as was the norm.

「プライド」とかの問題より「ラクできるなら何だって使う」という一貫したポリシーがあり、そこに「後ろめたさ」は、全くなかったそうです。

She had a consistent policy of “use whatever it takes to make it easier" rather than “her pride," and she never felt guilty about it.

もはや、これは、「是非の問題」ではなく「文化の相違」としか言いようがありません。

This is no longer a “right or wrong" thing to say, but rather a cultural difference.

それはさておき。

Aside from that.

—–

先日、娘から、

The other day, my daughter told me

―― 自分の娘に『何か欲しいものはないか?』と訊ねて、娘に買い与える父親がいる

“The father of her friend asks his daughter, “Do you have anything you want? and buys it for his daughter"

と聞きました。

その瞬間、私は『気持ち悪!』と思いました。

At that moment, I thought, “It feels bad!"

江端家では、そのような光景が出現したことはありませんし、これからもないでしょう。

Such a scene has never appeared in the Ebata family, and it will never happen.

娘に「訊ねて」まで買い与える金があれば、私は私の欲しいものを買います ―― 技術書とか、装置とか、ソフトウェアとか、各種のデータ資料とか。

If I have the money to buy my daughter until I “ask" her, I will buy what I want — technical books, equipment, software, various data materials, and so on.

娘には『自分の欲しいものは、自分で手に入れろ』と言い聞かせてありますので、娘も、私に無駄なことはしてきません。

I’ve told my daughters, 'You get what you want by yourself’ so they won’t waste their time on me, either.

(続く)

(To be continued)

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

現在、想定100ページを越えるであろう、報告書の作成をしています。

I am currently working on a report, which is expected to be in excess of 100 pages.

資料のネタは十分にあり、これを構成しなおせば報告書として完成するのですが、なかなかに長丁場のしんどい作業になりそうです。

I have enough material, and if I re-structure it, it will be completed as a report, but it’s going to be a long and tedious process.

昔は、このような作業は、音楽やアニメを見ながらでも作業できたのですが、最近、これができなくなっています。

In the past, I used to be able to work on these tasks while watching music or cartoons, but lately this has been impossible.

2つの作業を同時にできなくなってきています。

I come to be able to do both tasks at the same time.

これは私の脳の並列処理能力(マルチタスク)が、壊れつつあることの証拠だと思います。

I think this is evidence that my brain’s parallel processing capacity (multitasking) is breaking down.

—–

ですが、すでに、視聴済みのコンテンツであれば、マルチタスクができる場合があります。

But you may be able to multitask with content you’ve already watched.

私の場合、「三国志 three kingdoms」が、これに該当します。

In my case, “Three Kingdoms" is it.

もう、すでに、このコンテンツ自体が、私にとってのイージーリスニングの部類に入っています。

Already, this content itself is already in the easy listening category for me.

まあ、そういう訳で、全部合わせて95話、約100時間のドラマを、ダラダラと聞きながら仕事をしています。

All in all, I work through 95 episodes, about 100 hours of drama, while lazily listening to it.

—–

で、まあ、時々、仕事の合間にボンヤリと考えるのですが

And, well, sometimes I think about this drama.

―― 諸葛孔明が何度も試みた「北伐」って、要するに「侵略戦争」だよなぁ

“The 'northern expedition’ that Zhuge Liang tried many times is, in short, an 'aggression war'"

とか、

and

―― 落鳳坡で 劉備のフリををしたホウ統(士元)が、計算の上で命を落とすのは覚悟の上だろうけど、その部下は、訳も分からず巻き添え喰らって殺されたんだよなぁ

I’m sure that Hou Tong (Shi Yuan), who pretended to be Liu Bei at “Rakuhouha", was prepared to lose his life in his calculation, but that subordinate would have been killed by collateral damage for no reason.

とか、

三国志の名シーンを「台無し」にするような感想を浮かべながら、仕事を続けています。

I continue to work with thoughts that “ruin" famous scenes from the Three Kingdoms.

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

よくアニメやドラマで登場する「教師」などを見て、

Looking at a “ideal teachers" in cartoons and dramas.

『あんな先生が、学校にいてくれたらなー』

“I wish I had a teacher like that at school"

とか、

or

『そんな先生と巡りあっていたら、私の人生も違っていただろうに』

“My life would have been different if I’d had a teacher like that"

という書き込みが散見されます。

I can read scattering of posts like the above on the Internet.

ちょっと調べてみたら、そういうページが沢山ありました。

I did a little research and found a lot of those pages.

ちょっと前なら、「暗殺教室」の「殺せんせー」、最近なら、「俺の青春ラブコメは間違っている」の「平塚先生」などなど。

Not so long ago, it would have been “Koro-Sensei" in “Assassination Classroom", and more recently, it would have been “Hiratsuka-sensei" in “My youth romantic comedy is wront as I expected".

—–

一方

The other side,

『将来、あんな先生になるんだ』

“I’m gonna be that teacher one day"

とか、

or

『私は、今、あんな風に子どもを助ける大人として、がんばっている』

“I’m trying my best to be an adult who helps kids like that now"

という書き込みは、

I could not find the phrases like the above

―― たったの一つも

“at all"

見付けることはできませんでした。

—–

結論:

Conclusion:

私達は、

We are creatures that

■自分の為に、他人に理想を押しつけ、

impose our ideals on others for your own sake,

■他人の為には、自分に努力を課さない、

don’t work hard for others.

そういう生き物です。

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

人間は、他人を他人として認識するのではなく、その他人の属する所属や地位、環境を含めて認識します。

Humans don’t perceive others as others but others including their affiliations, status, and environments.

「部長の山田さん」「新人の田中さん」「技術者の佐藤さん」「ドイツ在住の高橋さん」等々です、

Mr. Yamada, the department head, Ms. Tanaka, the new guy, Mr. Sato, the technician, Ms. Takahashi, who lives in Germany, and so on.

特に初対面の場合は、そうなるのは仕方がありません。

Especially in the case of the first meeting, it can not be helped.

その時の私たちは、他人を評価する情報を全く持っていないからです。

At that time, we have no information to evaluate others.

—–

ただ、「名物研究員の江端さん」というフレーズには、所属、地位、環境を含んでいません。

However, the phrase “Mr. Ebata, a famous researcher" does not include affiliation, position, or environment.

そこには、敬意とも蔑視とも解釈可能な「形容句」が入っているだけです。

It only contains “adjectives" that can be interpreted as both respect and contempt.

先日も、メールの中にこのフレーズを見つけて、『なるほど、私は"名物研究員"なんだ』と認識しました。

The other day, I found this phrase in an email and realized that “I see, I’m a famous researcher".

—–

「こちらが、同じ部署の江端です」という同僚の紹介で、先方の方と名刺交換をしている時に、

When I was exchanging business cards with the other person, I was introduced by a colleague who said, “This is Ebata from the same department."

『ああ、こちらが、あの江端さん・・・、お噂はかねがね伺っております』

“Oh, You are Mr. Ebata… I’ve heard a lot of great things about you."

というコメントを頂きました。

I got the comment.

—–

―― “ソースは誰?"

“Who is the source ?"

―― “どんな噂?"

“What kind of great things ?"

と、突っ込みたくなっても、苦笑いしながら、それを、グっと我慢するのが、

Even if I want to dig in, I have to put up with it with a bitter smile.

「大人の社会人」というものです。

This is an “adult business people"