2024,江端さんの忘備録

私は、現場の苦労も知らずに命令をしてくる奴が嫌いです(まあ、好きな人はいないでしょうが)。

I don't like guys who give orders without knowing the hardships in the field (well, who doesn't like them).

そう言いつつも、私も、そういう「命令をする側」になっていると思います。

I, too, am on the side of such "giving orders."

ただ、自分が、「命令をする側」に立っていると自覚することは難しいです。

However, it isn't easy to realize that you are standing on the side of giving orders.

人は「命令する側」になって、部下や他人から、恨まれ、憎まれていることには、全く無頓着です。

People are indifferent to the fact that they are "the ones giving orders" and are resented and hated by their subordinates and others.

私たちは、自分が部下が追いつめていることや、部下が病気になっていることや、退職していることに、気がつくことができません。

We are unaware of the pressure we put on our people, making them sick and retiring them.

一方、人間は、「命令される側」になると、不快な気分になります。そして、その人間への憎しみを決して忘れません。

On the other hand, humans feel uncomfortable when they are being "ordered around." And we never forget our hatred for that human being.

(たまにテレビのインタビューなのどで、『今になって思えば、あの上司の叱責は、私を思ってのことであった』などの美談で纏めている奴は、『能天気な人格者』か『保身に走る嘘吐き』か『自分史の歴史改竄者』と思っています)。

「青春」とは「歴史改竄」のことです。

(Sometimes, in TV interviews, those who summarize with beautiful stories such as "In hindsight, my boss's reprimand" are "good-natured personalities" or "self-protective liars" or "falsifiers of their history").

人間は、組織化(社会化)されると必ずこの様になります。

Whenever human beings are organized (socialized), they become like this.

そして、これを修正する方法が、絶望的に存在しないことを知っています。

And we know that there is hopelessly no way to fix this.

この社会において、私たちは「命令される側」「命令する側」のどちらからも逃れることは、本当に難しいのです。

In this society, it is tough to escape from "the one who orders" and "the one who gives orders."

-----

ところが、最近、私が「命令する側」になっていることを、自覚できる手段があることが分かってきました。

Recently, however, I have discovered that there are means by which I can become aware that I am on the "commanding side."

「生成AI」です。

Generative AI.

最近の私は、プログラムの殆どを、"ChatGPT"か、"Github Copilot"に作ってもらっています。

Recently, I have been using "ChatGPT" or "Github Copilot" for most of my programs.

最近、『ChatGPTを使うコツは、仕事を人に頼む時と同じ』ということが分かってきました。

生成AIに頼りすぎていて、『自分のコーディング力が、恐しく低下しているのではないか』と心配になる程です。

I rely so much on generative AI that my coding skills may decline.

(というか、間違いなく低下していると思う)

(I mean, I think it's declining.)

現在の私のプログラムの作り方は、こんな感じです。

Here is how I currently make my program.

======

(Step.1)プログラムの概要を日本語で生成AIに入力する

(Step.1) Input the outline of the program in Japanese to the generating AI.

(Step.2)生成されたプログラムを実行する

(Step.2) Execute the generated program

(Step.3)エラーが出てきたら、それを生成AIに入力し、(Step.2)に戻る。

(Step.3) If an error appears, enter it into the generating AI and return to (Step.2).

(Step.4)エラーは出てこないが、期待通りの結果が得られなかったら、その旨を生成AIに入力し、(Step.2)に戻る。

(Step.4) If no error appears but I cannot get the expected result, enter that into the generating AI and return to (Step. 2).

======

これを繰り返して、プログラムが期待通りに動くまで続けます。

I would repeat this and continue until the program works as expected.

しかし、これを何度繰り返しても、プログラムが動かないこともあります。

However, no matter how often repeated, the program may not work.

すると、私は生成AIに対して『何で動かないんだ!』と文句を言いたくなります ―― ろくにプログラムも読まずに、助けて貰っているのにもかかわらずです。

Then I want to ask the generative AI, 'Why isn't it working? -- even though I'm getting help without having read the program thoroughly.

この私の態度は、私がもっとも軽蔑する人間の振る舞いと同じです。

This attitude is the same as the behavior of the people I despise the most.

こうして、私は、「命令する側」を自覚するに至りました。

Thus, I became aware of the "ordering side".

-----

私がどれほど厳しいことを言っても、生成AIは「うつ病」になったり「退職」したり「自死」したりすることはない ―― この、安心感は、多分、人間を『傲慢』にしていくと思います。

No matter how harsh I am, the generated AI will not become "depressed" or "retire" or "commit suicide" -- this, I think, a sense of security will probably make humans 'arrogant.'

私は、多くの人が考えている方向 ―― AIに職を奪われる ―― とは別の方向で、生成AIによる弊害を心配しています。

I am concerned about the harm caused by generative AI in a different direction than many people think -- losing jobs to AI.

生成AIの利用は、普通の人を「攻撃的」で「衝動的」な人間に変えてしまう可能性が高いのです。

Generative AI will likely turn ordinary people into "aggressive" and "impulsive" people.

「生成AI」が文句を言わないで服従する道具であるから「攻撃的」で「衝動的」になっても良い、という理屈は、

The logic that it is OK for a "generative AI" to be "aggressive" and "impulsive" because it is a tool that complains and obeys without complaint,

「気弱な人」が文句を言わないで服従する人間だから「攻撃的」で「衝動的」になっても良い、という理屈と同じです。

It is equal to the logic that it is OK for a "feeble-minded person" to be "aggressive" and "impulsive" because they are human beings who submit without complaint. It is the same logic that justifies "bullying" and "power harassment.

つまり、「いじめ」や「パワハラ」を正当化するロジックと同じです。

In other words, it is the same logic that justifies "bullying" and "power harassment.

-----

という訳で、私は、

Therefore, I recommend the following mechanisms in the generative AI:

―― 理性的に生成AIを扱えない人間は、生成AIが、その人間へのサービスの提供を拒否する

"If a human being cannot rationally handle a generative AI, the generative AI will refuse to provide services to that human being."

というメカニズムを、現時点で組み込むことを提言します。

It is not "for the sake of generative AI" but "for the sake of us humans."

未分類

tomioka_db_d.sql,tomioka_db_e.sql,tomioka_db_f.sqlと(新tomioka_db_c.sql)も作成して、\\192.168.0.9\shareに逃しました。
ーーーーー

$ pg_dump -U postgres -h 192.168.0.23 -p 15432 tomioka_db_c > tomioka_db_c.sql
Password:
として、tomioka_db_c のバックアップは\\192.168.0.9\shareに逃してあります。

DBに直接手を入れる処理

マスタDBに手を入れるのは怖すぎるので、とりあえず、こんな感じでテスト用のDBを作成します。
C:\Users\ebata>createdb -U postgres -h 192.168.0.23 -p 15432 tomioka_db_c_trial
Password:

ebata@DESKTOP-P6KREM0 MINGW64 ~(こっちのシェルを使うこと。パイプを使うため)
$ pg_dump -U postgres -h 192.168.0.23 -p 15432 -Ft tomioka_db_c | pg_restore -U postgres -h 192.168.0.23 -p 15432 -d tomioka_db_c_trial

よし、これで、tomioka_db_c_trialの方で、安心して試せる ―― 脳切開手術

2024,江端さんの技術メモ

/*
	c:\Users\ebata\tomioka3b\others\main42.go
	指定されたファイルから時刻表を読み込み、最も近い未来の時刻を取得します。
*/
package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
	"time"
)

func main() {
	// 指定されたファイル名
	fileName := "To_Sengakuzi_weekdays.csv" // ここにファイル名を入力してください

	// 指定されたファイルから時刻表を読み込む
	schedule, err := readScheduleFromFile(fileName)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	//fmt.Println("時刻表:", schedule)

	// 現在時刻を取得
	now := time.Now().Format("15:04:05")
	now = "12:29:00"

	// 最も近い未来の時刻を取得
	nextTime := getNextTime(schedule, now)

	// 結果を出力
	fmt.Println("最も近い未来の時刻:", nextTime)
}

func readScheduleFromFile(fileName string) ([]time.Time, error) {
	// ファイルを開く
	file, err := os.Open(fileName)
	if err != nil {
		return nil, err
	}
	defer file.Close()

	var schedule []time.Time

	// ファイルから時刻を読み取る
	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		line := scanner.Text()
		times := strings.Split(line, ",")
		for _, t := range times {
			//fmt.Println("時刻:", t)
			t1, err := time.Parse("15:04:05", t)
			if err != nil {
				fmt.Println("時刻のパースに失敗しました:", err)
				return nil, err
			}
			schedule = append(schedule, t1)
		}
	}

	// fmt.Println("pass4")
	// fmt.Println("schedule: ", schedule)

	return schedule, nil
}

// 指定された時刻表から最も近い未来の時刻を取得する関数
func getNextTime(schedule []time.Time, inputTime string) string {
	// 入力時刻のパース
	input, err := time.Parse("15:04:05", inputTime)
	if err != nil {
		panic(err)
	}

	// 時刻表の各時刻との差を計算し、最小の差を見つける
	minDiff := time.Hour * 24
	var nextTime string
	for _, t := range schedule {
		// 時刻の差を計算
		diff := t.Sub(input)

		// 負の差(過去の時刻)を無視
		if diff < 0 {
			continue
		}

		// 最小の差を更新
		if diff < minDiff {
			minDiff = diff
			nextTime = t.Format("15:04:05")
		}
	}

	return nextTime
}

To_Sengakuzi_weekdays.csv

4:53:00
5:08:00,5:23:00,5:32:00,5:44:00,5:55:00
6:03:00,6:14:00,6:26:00,6:33:00,6:40:00,6:44:00,6:49:00,6:53:00,6:59:00
7:04:00,7:09:00,7:14:00,7:19:00,7:26:00,7:30:00,7:37:00,7:46:00,7:52:00,7:58:00
8:06:00,8:14:00,8:21:00,8:26:00,8:33:00,8:41:00,8:47:00,8:54:00
9:02:00,9:10:00,9:21:00,9:31:00,9:41:00,9:53:00
10:03:00,10:13:00,10:24:00,10:33:00,10:44:00,10:53:00
11:04:00,11:13:00,11:24:00,11:32:00,11:44:00,11:53:00
12:04:00,12:13:00,12:24:00,12:33:00,12:44:00,12:53:00
13:04:00,13:13:00,13:24:00,13:33:00,13:44:00,13:53:00
14:04:00,14:13:00,14:24:00,14:33:00,14:43:00,14:52:00
15:02:00,15:12:00,15:22:00,15:31:00,15:41:00,15:52:00
16:01:00,16:10:00,16:20:00,16:31:00,16:42:00,16:53:00
17:02:00,17:13:00,17:23:00,17:34:00,17:43:00,17:53:00,17:59:00
18:12:00,18:19:00,18:28:00,18:38:00,18:48:00,18:57:00
19:08:00,19:18:00,19:26:00,19:36:00,19:46:00,19:55:00
20:06:00,20:16:00,20:27:00,20:36:00,20:46:00,20:56:00
21:08:00,21:15:00,21:18:00,21:29:00,21:39:00,21:50:00
22:01:00,22:11:00,22:21:00,22:26:00,22:38:00,22:53:00
23:12:00,23:33:00,23:54:00

 

2024,江端さんの技術メモ

/*
	c:\users\ebata\tomioka3b\src\others\main41.go
	2次元スプライン関数を使用して、緯度と経度のペアに対応する目的地までの時間を計算します。
*/

package main

import (
	"fmt"
	"sort"
)

// スプライン補間用の関数
func splineInterpolation(dataSet [][]float64) func(float64, float64) float64 {
	n := len(dataSet)

	// xの値を昇順にソートする
	sort.Slice(dataSet, func(i, j int) bool {
		return dataSet[i][0] < dataSet[j][0]
	})

	// トリディアゴナル行列を作成
	h := make([]float64, n-1)
	for i := 0; i < n-1; i++ {
		h[i] = dataSet[i+1][0] - dataSet[i][0]
	}

	// 2階微分の値を計算
	delta := make([]float64, n)
	for i := 1; i < n-1; i++ {
		delta[i] = (dataSet[i+1][1]-dataSet[i][1])/h[i] - (dataSet[i][1]-dataSet[i-1][1])/h[i-1]
	}

	// トリディアゴナル行列を解く
	m := make([]float64, n)
	l := make([]float64, n)
	zArray := make([]float64, n)
	l[0] = 1
	for i := 1; i < n-1; i++ {
		l[i] = 2*(dataSet[i+1][0]-dataSet[i-1][0]) - h[i-1]*m[i-1]
		m[i] = h[i] / l[i]
		zArray[i] = (delta[i] - h[i-1]*zArray[i-1]) / l[i]
	}
	l[n-1] = 1
	zArray[n-1] = 0

	c := make([]float64, n)
	b := make([]float64, n)
	d := make([]float64, n)
	for j := n - 2; j >= 0; j-- {
		c[j] = zArray[j] - m[j]*c[j+1]
		b[j] = (dataSet[j+1][1]-dataSet[j][1])/h[j] - h[j]*(c[j+1]+2*c[j])/3
		d[j] = (c[j+1] - c[j]) / (3 * h[j])
	}

	// 補間関数を返す
	return func(xVal, yVal float64) float64 {
		// xの範囲を確認
		if xVal < dataSet[0][0] || xVal > dataSet[n-1][0] {
			panic("x value is out of range")
		}

		// 対応するiを探す
		i := 0
		for i < n-1 && dataSet[i+1][0] <= xVal {
			i++
		}

		// スプライン補間を計算
		dx := xVal - dataSet[i][0]
		return dataSet[i][2] + b[i]*dx + c[i]*dx*dx + d[i]*dx*dx*dx
	}
}

func main() {
	// データ点の定義
	dataSet := [][]float64{
		{35.7281578, 139.7680665, 73},
		{35.7214573, 139.7754384, 63},
		{35.7141672, 139.7748342, 57},
		{35.7075171, 139.7564025, 67},
		{35.698383, 139.7704968, 65},
		{35.6997175, 139.7618655, 61},
		{35.7020484, 139.7509267, 66},
		{35.6918216, 139.7683569, 63},
		{35.6812362, 139.7645499, 57},
		{35.6750133, 139.7604455, 59},
		{35.666379, 139.7557649, 55},
		{35.6553809, 139.754554, 54},
		{35.6457361, 139.7449875, 54},
		{35.6284713, 139.7361848, 43},
		{35.6208763, 139.7405387, 50},
		{35.6147448, 139.7412068, 49},
		{35.6086671, 139.7426731, 45},
		{35.6052508, 139.7421627, 50},
		{35.5983959, 139.7391046, 50},
		{35.58754, 139.7355111, 51},
		{35.5788485, 139.7348961, 40},
		{35.5721351, 139.7318494, 53},
		{35.5666392, 139.7281759, 53},
		{35.5613144, 139.7215761, 33},
		{35.5446458, 139.7493338, 46},
		{35.5329877, 139.6982966, 30},
		{35.5348941, 139.7449763, 42},
		{35.5229857, 139.6889874, 41},
		{35.5179115, 139.6811867, 40},
		{35.5071467, 139.677526, 34},
		{35.4998507, 139.6713032, 31},
		{35.4923606, 139.6622968, 30},
		{35.4852628, 139.6544734, 29},
		{35.4846744, 139.6452731, 32},
		{35.4808759, 139.6394986, 26},
		{35.4763238, 139.631979, 30},
		{35.4688634, 139.6268306, 32},
		{35.4659811, 139.6194871, 20},
		{35.4571602, 139.6199226, 27},
		{35.4464751, 139.6235656, 25},
		{35.436673, 139.6217708, 24},
		{35.4334892, 139.6206713, 18},
		{35.4314711, 139.6030542, 16},
		{35.424238, 139.5927802, 17},
		{35.4201765, 139.586678, 14},
		{35.413768, 139.582819, 10},
		{35.3819518, 139.6165374, 3},
		{35.4091204, 139.5781752, 7},
		{35.3966138, 139.6051573, 4},
		{35.3645904, 139.6267988, 1},
		{35.3428573, 139.6190711, 3},
		{35.3314185, 139.6176347, 6},
		{35.330416, 139.6295796, 17},
		{35.3337822, 139.630869, 18},
		{35.3407534, 139.6332478, 18},
		{35.3400425, 139.6390968, 20},
		{35.323276, 139.6151587, 13},
		{35.2973885, 139.5758056, 31},
		{35.3158184, 139.6222558, 15},
		{35.312573, 139.6250891, 16},
		{35.308405, 139.628248, 17},
		{35.2825803, 139.6405151, 19},
		{35.2916167, 139.6283632, 17},
		{35.277848, 139.6379121, 21},
		{35.2802815, 139.6599103, 19},
		{35.2786985, 139.6674653, 20},
		{35.2616259, 139.6679659, 26},
		{35.2635438, 139.6841348, 23},
		{35.2482969, 139.6775595, 25},
		{35.2509382, 139.712402, 30},
		{35.2315701, 139.699661, 29},
		{35.2120725, 139.6824547, 33},
		{35.2055645, 139.671602, 44},
		{35.1986888, 139.663162, 37},
		{35.1880928, 139.6507295, 39},
		{35.1775554, 139.6306392, 42},
	}

	// スプライン補間関数を作成
	interpolatedFunction := splineInterpolation(dataSet)

	// 特定の座標で補間された値を計算
	xValue := 35.4688634
	yValue := 139.6268306

	xValue, yValue = 35.7214573, 139.7754384

	interpolatedValue := interpolatedFunction(xValue, yValue)

	// 結果の出力
	fmt.Printf("補間された値: %.2f\n", interpolatedValue)
}

2024,江端さんの忘備録

先日の夜の次女との会話です。

Here is a conversation I had with my second daughter the other night.

私:「『理系』とか『文系』という言葉は残っていると思うが、まだ、この両者は、対立関係にあるのか」

Me: "I think the terms 'science' and 'liberal arts' are still around, but are the two still at odds with each other?"

次女:「『多様化』という言葉で、曖昧にされつつあるけど、『理系の大学生』が『地獄の中で生きている』であることは変わりはないと思う」

Second daughter: "The word 'diversification' is getting blurred, but I don't think it changes the fact that 'science college students' are 'living in hell.'"

私:「まあ、私が大学生だったころも理系の学生は『文系=バカ』と思っていたし、文系の学生は『理系=専門バカ』と公言してたからなぁ」

Me: "Well, even when I was a college student, science students thought 'liberal arts = stupid,' and liberal arts students professed that 'science = professional stupid.'"

次女:「『理系の人間が留年もなく普通に進級することが、いかに凄いことか』を文系の人間は理解していない」

Second daughter: "People in the humanities don't understand 'how great it is for a person in the sciences to advance to the next grade normally without any retention.'"

私:「まあ、当時は、『理系の人間は、文系たちの卒論レベルの作業を、隔週で実験とレポートでやっている』という地獄を、全く分かっていない、とは思っていたな」

Me: "Well, at the time, I thought they didn't know that 'science majors are doing bi-weekly experiments and reports on the thesis-level work of humanities majors.'"

-----

かつて、私が大学在学時代、文系の友人(女性)との会話で、

Once, in college, I conversed with a humanities friend (female).

友人:「卒論仕上げるのに、3日間徹夜しちゃったよー」

"I stayed up all night for three days to finish my thesis!"

というフレーズに、何と答えるのが正解なのか、分からなくなったことを覚えています。

But I remember I didn't know what to say to this phrase.

(1)『ヘー、それはラクでいいね』

(1) "Heh, that's easy and nice"

(2)『えー、それは大変だったね』

(2) "Well, that was tough"

なにしろ、その程度の徹夜作業、工学部では、隔週で発生する通常イベントだったからです。

After all, that kind of all-night work was a regular occurrence every other week in the Faculty of Engineering.

江端:「何・・・だと・・・? 今、"SPSS"と言ったか?」

-----

「結論としては、

In conclusion, I guess that's what I'm saying, 

(1)理系とか文系とかの対立概念は消されようとしている

(1) The opposing concepts of science and humanities are about to be erased

が、

but,

(2)理系の地獄は残存している

(2) the hell of the sciences remains,

それ故

Therefore

(3)理系に対する世間の理解は以前よりも悪化している

(3) The public's understanding of the sciences is worse than before.

ということになるかな」

と、次女は纏めました。

The second daughter summed it up.

-----

ちなみに、現在の江端家の理系、文系構成は、こんな感じです。

Incidentally, the current science and humanities composition of the Ebata family looks like this.

私: 理系(工学部出身)

Me: Science (Master of Engineering)

嫁さん:文系(英文学部出身)

Wife: Humanities (English Literature)

長女:文系(心理学部出身)

Eldest daughter: liberal arts (in the Faculty of Psychology)

次女:理系(建築学部在籍)

Second daughter: Science (in the School of Architecture)

(但し、心理学は、統計学の学問でもあるので、理系に近い文系かな、と思っています。)

(However, psychology is also the study of statistics, so I think I have a liberal arts background similar to a science background.)

2024,江端さんの技術メモ

作業中のプロジェクト: ないしょ
番号: ないしょ
ID: ないしょ
自分のAPIキー AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXE

困っていたこと

Google MAP Directions APIを使いたいのですが、自分のAPIキーを使っても、以下のようになります。
https://maps.googleapis.com/maps/api/directions/json?origin=Disneyland&destination=Universal+Studios+Hollywood&key=AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXE
{
   "error_message" : "This API project is not authorized to use this API.",
   "routes" : [],
   "status" : "REQUEST_DENIED"
}
対策を教えて下さい。
意外なところで解決しました。

で、再度実行したら、こうなりました。

ところが、鉄道の情報が出てこない。

 

うまくいっていない理由確定

 

Google Maps Platform FAQ  |  Google for Developers

https://developers.google.com

Google マップのルートサービスでは、交通機関の対象リストに記載されているすべての交通機関(日本を除く)をサポートしています。

ということで、日本で使用できるのは walking と driving の2モードのみのようです。

あかんやんか・・・

2023,江端さんの技術メモ

Keyword: VScode vscode 図面 draw.io  drawio

 

毎年1本は、Officeを使って特許明細書を書かなければなりませんが、パワーポイントは、フローチャートやシーケンス図の作成にはあまり向いていません。はっきり言えば使い難い。

*.drawioで提出できればいいのだけど、それでは、私の図面を修正する人が困ってしまうので、最終的には*.ppt/pptx形式にしなければなりませんが、このコンバートの相性がどうも今一つ。

今、ちょっとテストしていたのですが、一応、以下でできるようですが、文字が出てこなかったりとか完璧な対応は難しいようです。

1.svg形式で保存して、emfファイルに変換 (私は、https://convertio.co/ja/を使ってみた)
2. Officeに「拡張メタファイル」で貼り付け
3. グループ解除

(参考:SVGファイルをPowerPointで編集できる図形として読み込むには?)

Drawio. integration がエクスポート/コンバートに、ppt/pptx形式をサポートしてくれれば嬉しいんだけど、ないものねだりをしても仕方ありません。

どなたか、「何を言っとるんだ? これで簡単にでできるだろう?」とアドバイスして頂ける方。お助け下さい。→ メールアドレス

2024,江端さんの忘備録

恋愛において、第一印象は大切だと言われます。

Many people say that first impressions are important in love.

私も、これには同意します。

I, too, agree with this.

女性:「では、先ず、ダイエットをしましょうか」

ただ、恋愛だけでなく、どんな場面においても、第一印象は、とても大切だと思っています。

However, I believe that first impressions are significant, not only in love but in any situation.

私の場合、最初にしゃべった時の印象で、私は『これから、この人に対して、どのペルソナを使おうか』と考えます。

Based on the impression I get from the first talk, I think, 'Which persona shall I use for this person from now on?

同一人物に対しても、必要に応じて、別のペルソナを発動させることもあります。

I use several personas for the same person if necessary.

スタックしている会議や、飲み会などでは、私は全く異なる人格として振る舞い、その場を切り抜けることにしています(切り抜けれないこともありますが)。

In stacked meetings, drinking parties, etc., I try to act as a completely different persona to get through the situation (although sometimes I can't).

―― アルコール摂取量に応じた、人格の崩壊の有様

-----

大学の自治寮の入寮選考の時に、私は「ラディカルな運動家」として振る舞いました。

I acted as a "radical activist" when I attended for admission to the university's self-governing dormitory.

初音ミクの「インターナショナル」

しかし、実際は、それまで一度も『運動』に関わったことがなく、その後も、普通に勉強する一般的な大学生でした。

In reality, however, I had never been a "radical activist" before, and even after that, I was just an ordinary college student studying usually.

ですので、寮では「嘘吐き」と呼ばれていました。

Therefore, I was called a "liar" in the dormitory.

まあ、「リモコン起爆装置」を作って遊んだり、「水素の燃焼」の検証していたくらいです。

I even played with making a "remote-controlled detonator" and verifying "hydrogen combustion."

まだ覚えている

 

会社の入社面接の時は、『実験で、仮説と実証の違いに悩み続けた大学院生』のペルソナを出しました。

When I did job interviews, I portrayed myself as a graduate student who kept struggling with the difference between hypothesis and proof in an experiment.

このペルソナは、エンジニアの会社ではウケるはずだ、という高度な計算(下心)がありました。

I had a highly calculated (ulterior motive) that this persona should be attractive in the engineering company.

とは言え、どのペルソナも、私であることには違いはありません。

Nevertheless, every persona is still me.

私は、状況に応じて、ペルスナのスイッチとボリュームを変えているだけです。

I change the switch and volume of the persona depending on the situation.

-----

ご存知の通り、コラムの中の私と、会社での私は、完全に別人です。

As you know, I am completely different in the column than in the office.

「自分どうしで、殴り合いの喧嘩をしても不思議ではない」というレベルです。

It is at the level of, "I wouldn't be surprised if we got into a fistfight in my mind.

でも、「複数のペルソナを使い分ける」って、普通の人間の普通の行為です。

But "using multiple personas" is a normal act of a normal person.

と、いうことを、

I remember the above when I remembered seeing and hearing

『ノートPCに向かって、就活のリモート面接をしている、次女の声や表情』

"the voice and expression on my second daughter's face as she was doing a remote job interview on her laptop."

を見聞きして、思い出していました。

In other words,

―― 娘に、別の娘が憑依している

"Another daughter is possessing my daughter."

という感じです。

2013,江端さんの忘備録

初音ミクは、人の声を生成する楽器ですので、どのような歌でも歌わせることができます。

いかなる、思想、歴史、政治、体制、まったく制約はありません。

-----

今朝、久々に、「初音ミク」のことを思い出して、日記のネタを考えていました。

―― 「初音ミクの『君が代』」は当然にあるだろう。なにしろ、祝詞(のりと)まであったくらいなんだから。

―― しかし、「初音ミクの『インターナショナル』」はないだろう。

―― よし! 今日は、このネタで書こう。

-----

「インターナショナル」とは、

■社会主義者の歌の一つで、基本的には共産主義革命を目指す運動家によって良く歌われた歌です。

■労働組合運動の団結意識を高める際にも歌われました。

■1960年、70年安保闘争、学生運動でもよく歌われました。

■1917年から1944年の間、ソビエト連邦の国歌でもありました。

それは、まさに「革命歌」

―― 起て飢えたる者よ 今ぞ日は近し ♪

―― 醒めよ我が同胞(はらから) 暁(あかつき)は来ぬ ♪

―― 暴虐の鎖 断つ日 旗は血に燃えて ♪

―― 海を隔てつ我等 腕(かいな)結びゆく ♪

―― いざ闘わん いざ 奮い立て いざ ♪

―― あぁ インターナショナル 我等がもの ♪

旋律も本当に美しく、多くの革命を目指す人達に愛されてきたというのも理解できます。

実は、私、一番だけなら「歌えます」

当時、もう学生運動の残滓だけが残っていた大学の自治寮で、先輩に教えて貰いました(つまり口伝です)

-----

「これを、初音ミクに歌わせてみよう! かなり評判になるにに違いない!!」

「今の日本の左翼勢力が、私にテロをかけるだけの力量は残っていないだろう」

てなことを考えながら、それでも、念の為、ネットで調べてました。

初音ミクの「インターナショナル」を見つけて、がっかりでしたが、一応、 聞いてみました。

それで ―― 「自我崩壊」を起こしそうになりました。

-----

私のもっていた「インターナショナル」のイメージはこちら

「初音ミク『インターナショナル』」はこちら

・・・もう、本当に、何がなんだか・・

-----

ちなみに、私、赤松健先生の「世界平和戦略」を本気で信じている一人です。

2007,江端さんの忘備録

大学の頃、私の友人はZ80や他のICを組み合わせて、自作でパソコンを作っていました。

今の「自作PC」と一緒にしないようにして下さい。彼は、コンピュータの論理回路を「自作」していたのです。

# マザーボードを自作するようなもの

そんな凄い彼に色々教えて貰いながら、私も簡単なアナログ回路やデジタル回路を作って、遊べるようになりました。

遠隔の起爆装置を使って、リモートから爆竹を鳴らして遊んでいたら、成田闘争の先輩から声をかけられて、慌てて回路図を廃棄したことも思い出の一つです。

# もう、このネタ、いいかげん止めよう。

-----

ここ2ヶ月くらい、電子回路未体験の若い外注さんにお願いして、簡易PLCの通信モジュールを作って貰っていました。

彼の困っている内容に対して、色々指示できることを知って、自分自身で驚いています(プルアップとか、トランジスタを使ったスイッチングとか、インピーダンス整合程度の、簡単な話ですが)。

『この歳になっても、意外に覚えているもんだなーー』と。

というか、20年も前の知識が、今も通用するという世界がある、ということでしょうか。技術の世界も『基本は、それほど変わらない』と言えるような気がします。