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

昨日、深夜、家族全員で、Amazon PRIMEで「シンドラーのリスト」を見ました。

Yesterday, late at night, the whole family watched "Schindler's List" on Amazon PRIME.

視聴の後、家族全員でグッタリしていましたが、私は、長年の懸案をようやく終えたような気持になりました。

The whole family was gutted after watching it, but I felt like I had finally finished what had been on my mind for years.

娘たちが、酷いショックを受けていないようだったので、安心しました。

I was relieved that my daughters didn't seem to be in a terrible state of shock.

理由を聞いたとろ、『パパから、結構、色々聞かされていたからね』と言われました。

When I asked them the reason, they said, "I've heard a lot of things from you".

確かに、私は、

Certainly,

ナチスドイツ、日本陸軍、スターリン、ポルポト、中共(文革)等、原爆投下に至るまで ――

"Nazi Germany, the Japanese Army, Stalin, Pol Pot, the Chinese Communist Party, etc., up to the atomic bombing"

「近代虐殺史」ならなんでもござれ、という保護者です。

I'm an expert of "modern genocide history".

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

最近、本格的に電子書籍を購入することが多くなりました。

I've been buying e-books in earnest a lot lately.

いくつか理由はあるのですが、家中が本で溢れかえって本気で鬱陶しくなってきたことと、「すぐに読みたい」というニーズに応じられることです。

There are a couple of reasons, but one is that my whole house is overflowing with books and I'm getting seriously depressed, and the other is that it meets my need to read quickly.

特に、専門書の購入が、多くなってきました。

In particular, I've been buying a lot of specialized books.

私は、マルチディスプレイ環境(正確には、4つのディスプレイ)で仕事をしています。

I work in a multi-display environment (four displays, to be exact).

コラムを執筆する時に、パソコン画面の右側に電子書籍を表示しながら、左側のディスプレイで執筆をすると、とても便利です。

When I'm writing a column, I find it very useful to have the e-book on the right side of my computer screen while I'm writing on the left side display.

コピペを使えば、引用もラクです。

It's also easier to quote if I use copypes.

特にプログラムの教本は、そのままソースコードをコピペしてコンパイルとビルドに持ち込めるので、助かります。

Especially for program textbooks, it's helpful to be able to copy and paste the source code to compile and build.

(コピペできない書籍もあります。こういう書籍は面倒です)

(Some books can't be copied and pasted. They annoy me)

------

Amazonでも電子書籍で購入できないものもあります。その場合、版元からPDFを購入しなければなりません。

Some of them are not even available as ebooks on Amazon. In that case, I have to buy the PDF from the publisher.

その場合、面倒なのが「支払い」です。

In that case, it is the "payment" that is troublesome.

素直に「カード払い」にしてくれれば簡単なのですが、「電子マネー」を絡ませるところが厄介です。

It's easy if I just make it a "card payment", but it's awkward to get "electronic money" involved.

電子マネーの種類を増やすことは、面倒くさいのです。

Having more types of e-money is a hassle.

電子マネー毎に、カード番号の入力や、住所や氏名、電話番号の登録情報するのには、抵抗がありますし、特にパスワードの管理が、うっとうしくてかないません。

There is a psychological resistance to the input of the card number, address, name, and phone number registration information, and especially the management of the password is annoying.

そもそも、電子マネーの殆どは、個人間でお金のやりとりができません。

In the first place, most of the electronic money cannot be exchanged between individuals.

-----

そんな中、最近、便利だなーと思うのが、Amazonギフト券(チャージタイプ)です。

In such a situation, recently, I think it's convenient, Amazon gift certificate (charge type).

1円単位でギフト券を作り、送付先の電子メールで送付すれば、処理は完了です。

Simply create a gift certificate in increments of one yen and send it to the recipient via email, and the process is complete.

もっとも、Amazonでしか使えないギフト券なので、高額送金には向いていませんが、少額なら使い勝手が良いです。

However, because it is a gift certificate that can only be used on Amazon, it is not suitable for a high amount of money transfer, but if it is a small amount, it is convenient to use.

これからは、子どもの小遣いや、お年玉も、このようなネットサービスのギフト券で渡されるようになるかもしれません。

In the future, children's pocket money and even new year's gift may be given in gift certificates for such online services.

-----

となれば、お年玉のパラダイムも変わるかもしれません。

If so, the paradigm of "new year's gift" may change.

例えば、

For example,

1月1日に、子どもが、KPI(Key Performance Indicator)の内容を発表し、翌年の1月1日に、私達大人が、そのKPIの目標達成度を判断して、お年玉の金額を決定する、というものです。

On January 1, the children presented the contents of KPI (Key Performance Indicator) and on January 1 of the following year, we adults will determine the amount of the New Year's gift by judging how well we have achieved the KPI goal.

KPIとしては、

As a KPI, the

■逆上がりをできるようになる

going to be able to do the "back-hip circle"

■縄跳びの二重跳びが連続10回ができるようになる

going to do the "double jump" of jumping rope 10 times in a row

などから、

■部活のレギュラーの獲得

Getting regulars in club activities

■予備校の模試の偏差値

Prep school examinations deviations

■受験の志望校の合否

Passing or failing the school of your choice for the examination

まで、色々あると思います。

I think there are a lot of things we can do.

成果を金額に反映するのは、子どもに酷に過ぎるというのであれば、「ギフト券」から「商品」に変えて贈るという手もあります。

If it's too hard for your child to show the results reflected in a monetary value, we can change them from a "gift certificate" to a "product".

例えば、小学生の子どもに、「缶詰セット」とか「カニ鍋用の冷凍カニ」とか贈ることで、ペナルティとするのも一つの手です。

For example, one way to penalize an elementary school child is to give them a "canned set" or "frozen crabs for the crab pot".

-----

―― ラクに金が手に入ると思うなよ

"Don't think you're going to get your money easy"

「正月最大の楽しいイベント」を、「初年度最初の最悪最低のイベント」にしてしまう、というのは、なかなかよくできた「大人の嫌がらせ」だと思います。

I think it's a very good "adult harassment" to turn "the biggest fun event of the New Year" into "the first worst and worst event of the first year".

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

下記のプログラムをコンパイルする

/*
		go build -gcflags "-N -l" main.go
*/
package main

import (
    "fmt"
    "database/sql"
    _ "github.com/lib/pq"
    "os"
)

// ----------------------------------------------------------------
func main() {
    fmt.Fprintln (os.Stderr,"*** 開始 ***")
    db, err := sql.Open("postgres", "user=scott dbname=city password=tiger123 sslmode=disable")
    defer db.Close()

    sql_str := "select id,name,population,date_mod from cities order by id"

    rows, err := db.Query(sql_str)
    if err != nil {
        fmt.Println(err)
        }
    defer rows.Close()

    for rows.Next() {
        var id string
        var name string 
        var population int
        var date_mod string 
        if err := rows.Scan(&id,&name,&population,&date_mod); err != nil {
            fmt.Println(err)
        }
        fmt.Printf ("%s\t%s\t%d\t%s\n",id, name,population,date_mod)
    }

    if err := rows.Err(); err != nil {
        fmt.Println(err)
        }

    fmt.Fprintln (os.Stderr,"*** 終了 ***")
}

で "github.com/lib/pq" がない、とエラーが出てくる。

C:\Users\ebata>go get github.com/lib/pq

で、すんなりインストール成功。で、コンパイルをしたら通ったので、とりあえずメモしておく。これからdockerでDBつくって動作を試す。

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

package main

import (
	"fmt"
	"strings"
)

func main() {
	c0 := make(chan string)  // makeってなんだ? →"配列"でも"共有メモリ"でもいいが、
	c1 := make(chan string)  // 江端理解では「トンネル」とか「パイプ」とか「Amazonのダンボール箱」 

	go sourceGopher(c0)      // "c0"とラベルの付いたダンボール箱を使うぜ
	go filterGopher(c0, c1)  // "c0","c1"とラベルの付いたダンボール箱を使うぜ 
	printGopher(c1)          // "c1"とラベルの付いたダンボール箱を使うぜ
}

func sourceGopher(downstream chan string) {
	for _, v := range []string{"hello world", "a bad apple", "goodbye all"} {
		downstream <- v   // "c0"のダンボール箱に、(1)"hello world",(2)"a bad apple", (3)"goodbye all"を投げ入れる
	}
	downstream <- ""   // "c0"のダンボール箱の底にクッション(プチプチ)を入れる
}

func filterGopher(upstream, downstream chan string) {
	for {
		item := <-upstream     // "c0"のダンボール箱からクッションを取り出す
		if item == "" {        // クッションだったら
			downstream <- ""   // "c1"のダンボール箱にクッションを入れる
			return             // ダンボール箱の蓋を閉める
		}
		if !strings.Contains(item, "bad") {   // "bad"という文字列が入っていない荷物だったら
			downstream <- item // "c1"のダンボール箱に荷物を入れる
		}
	}
}
func printGopher(upstream chan string) {
	for {
		v := <-upstream // "c1"のダンボール箱から荷物を出す
		if v == "" {    // "c1"の荷物がクッションだったら
			 return     // ダンボール箱を閉める
		}
		fmt.Println(v)  // 荷物を読み上げる
	}
}

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

良く忘れるので書いておく。

(1)Goは一度も使われない変数があると、全部エラーにしてしまう → 「せっかく買ったのに、どうして使わないの?」と言い続ける、うっとうしい母親みたいなもの

(2)返り値のある変数があるけど、別に返り値が必要でないときがある。
例えば、2つの返り値がある関数で、「2つもはいらんわ」という時に、こうなる

f := func(num1 int, num2 int)(int, int){
	return num1 + num2, num1 - num2
}
ret1, ret2 := f(8, 7)  // "a"が不使用のためエラー:a declared and not used
fmt.Println(ret2)

(3)でも、こうすれば、エラーにならない

ret1 はいらん → これを"_"と書く

_, ret2 := f(8, 7)  // エラーがでてこなくなる
fmt.Println(ret2)

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

// go build -gcflags "-N -l" main.go ← これで、golangのプログラムをgdbで動かすことができたぞ(マグレかもしれないけど)

package main

import (
    "fmt"
    "time"
)

func counting(c chan<- int) {
    for i := 0; i < 10; i++ {
        time.Sleep(2 * time.Second)
        c <- i
    }
    close(c)
}

func main() {
    msg := "Starting main"
    fmt.Println(msg)
    bus := make(chan int)
    msg = "starting a gofunc"
    go counting(bus)

    for count := range bus {
        fmt.Println("count:", count)
    }
}

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

PostgresSQLは使い慣れてくると手放せなくなります。もう、テーブルをプログラムの中に作るな面倒くさくてやっていられません。どんなに小さいテーブルでも、PostgreSQLにつくって、そのまま放置しておきます。CSVすら面倒くさい。

しかし、PostgreSQLは頻繁にバージョンアップするので、結構面倒くさい思いをします。

そこで、Dockerで作って、そのまま放置するという戦略を取ることにしました。理屈は分からないけど、取り敢えず、ネットの情報を使ってここまでやってみたところ、動いているっぽいです。

C:\Users\ebata> docker run --rm -d -p 15432:5432 -v postgres-tmp:/var/lib/postgresql/data -e POSTGRES_HOST_AUTH_METHOD=trust postgres:12-alpine

C:\Users\ebata>docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e373f69553b8 postgres:12-alpine "docker-entrypoint.s…" 11 minutes ago Up 11 minutes 0.0.0.0:15432->5432/tcp frosty_golick

C:\Users\ebata>docker container exec -it frosty_golick bash

bash-5.0# psql -U postgres
psql (12.3)
Type "help" for help.

postgres=#

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

今回の、新型コロナ災禍によって、エラいことが起きている ―― と、ゾッとしました。

I feel that a great deal of trouble is happening because of this new type of coronal catastrophe.

芸人である、中田敦彦さんと、小島よしおさんが、YouTubeで提供されている教育コンテンツです。

Comedians, Atsuhiko Nakata and Yoshio Kojima, provide educational content on YouTube.

私、学生の頃、浪人していまして、予備校に1年通っていたのですが、その時、分かったことは、

When I was a student, I was a "ronin" and went to a prep school for a year. And what I knew then was,

―― 私の成績が悪いのは、「私の責任」ではなくて、「教師の教え方」が悪い

"The reason for my poor grades is not "my fault", but "teaching method"

という事実、というか、真実です。

That's a fact, or rather, a truth.

-----

私、1セッション、90分間笑いっぱなしの「日本史」とか、90分間衝撃を受け続けた「物理」など、なんというか、

I had one session of "Japanese History" that kept me laughing for 90 minutes, "Physics" that kept me shocked for 90 minutes, and so on.

『頭の中に勝手に入り込んでくる知識』

"The knowledge that comes into your head on its own"

という、信じられないものを知って、唖然としました。

I was stunned to find out what I couldn't believe.

この時、私は「眠くなる授業」は、「生徒(の頭)が悪い」のではく「教師(の教え方)が悪い」を確認しました。

At this time, I confirmed that the "sleepy class" is not "the student (head) is bad" but "the teacher (teaching method) is bad".

予備校では、3ヶ月に一回にマークシートによる、予備校生全員による講師のアンケートが実施され、「眠くなる授業」を提供する講師は、あっと言う間に消えていきました。

At the prep school, every three months, all prep students were asked to complete a mark-sheet survey of their instructors, and the instructors who offered "sleepy classes" disappeared in the blink of an eye.

-----

もちろん、教師側は、以下のようなことが言えると思います。

Of course, on the teacher side, I think it can be said that

(1)予備校生と現役生では、勉強に対する気合い(完璧な予習)が違う

(1) The enthusiasm for studying (perfect preparation) is different between prep school students and current students.

(2)予備校の講師は、受講生の成績だけに注力すれば足りるが、教師は、生徒の生活習慣、授業態度、PTA、学校イベント、モンスターペアレントに至るまで、「成績」以外の雑事で、激務である

(2) Teachers at prep schools only need to focus on the grades of their students, but teachers at schools are hard at work on miscellaneous matters other than "grades", such as students' lifestyle, classroom attitude, PTA, school events, and monster parents.

(3)何より、学業への取り組みが真摯ではなく素行不良の子どもであっても、面倒を見つ続けなければならない。

(3) Above all, we must continue to take care of children who are not sincere in their study efforts and are misbehaving.

(4)上記(1)~(3)の観点から、予備校講師と学校教師を同列に論じるのは、暴論である。

(4) From the perspective of (1) to (3) above, it is an outrageous argument to equate prep school teachers with school teachers.

-----

もちろん、これらについては、同情の余地はあるとは思います。

Of course, there is room for compassion about these things.

しかし、このような状況は、どの職務でも同じことが言えます。

However, such environments are the same for any job, more or less.

例えば、ある企業の研究員は、仕事の大半が「雑務」と呼ばれるもので、一日が終わってしまうことも普通にあります。

For example, a researcher at one company may find that the majority of his work is "drudgery" and the day is over.

加えて、私が今一つ、教師側に同情できない理由は、『だから、私(江端)は教職を選ばなかった』です。

In addition, the reason why I can't sympathize with the teacher's side right now is: "That's why I (Ebata) didn't choose to teach.

私は、人に何かを教える「技術」が好きなのであって、「人間」が好きな訳ではないのです。

I like the "skill" of teaching people something, not the "people".

学業への取り組みが真摯ではなく、素行不良の子どもなんぞ、「3秒で切り捨てる」―― 私は、そういうハートレス(×ハートフル)な人間です。

I can "cut off in three seconds" a child who is not sincere in his or her academic efforts and who is misbehaving. So I'm such a heartless (x heartfull) person.

-----

いずれにしても、中田敦彦さん、小島よしおさんがYouTubeで提供されている教育コンテンツは、

In any case, the educational content provided by Atsuhiko Nakata and Yoshio Kojima on YouTube is that many children (and adults) besides me have been informed

――「眠くなる授業」は、「生徒(の頭)が悪い」のではく「教師(の教え方)が悪い」

"sleepy class" is not "the student (head) is bad" but "the teacher (teaching method) is bad".

を、私以外の多くの子どもたち(大人たちも)に、知らせてしまった、ということです。

少なくとも子どもたちは、上記の教師の過酷で残酷な労働環境なんぞ、一切、忖度してくれないでしょう。

At least, the children will not accept the harsh and cruel working environment of the above teachers at all.

-----

「真の教育崩壊は、これから始まる」 ―― と、私は、ゾッとしたのです。

"The real collapse of education is about to begin" -- I got the chills.

未分類

長女の落書きを貰いました。