2023,江端さんの忘備録

関東に来てから、私、ずっと蕎麦が好きです。

I have always loved soba since I came to Kanto area.

関東の蕎麦は、たいてい美味しいです。

Soba in the Kanto region is usually delicious.

駅に併設されている蕎麦屋(立食いソバ)も、ちゃんと美味しい。

―― 小田急の乗客の多くに愛され続けている「名代 箱根そば」について、熱く語れる女子高校生

The soba restaurant (even if it is a stand-up buckwheat noodle shop) attached to the station is also properly delicious.

-----

昨日、スーパー銭湯のレストランで食した「肉汁つけソバ」が美味しかったので、自分で作って、嫁さんに振る舞ってみました。

Yesterday, I enjoyed the "buckwheat noodles with gravy" that I had at a restaurant in a super public bathhouse, so I cooked it myself and served it to my wife.

参考にしたレシピはこちらです。

Here is the recipe I used as a reference.

『昨日に比べると味が薄い』と感じたので、つけ汁の素材を少しずつ増していきながら、味見をし続けました。

I kept tasting, gradually increasing the amount of ingredients in the dipping sauce, because I felt it was 'less flavorful than yesterday'.

その内、訳が分からなくなってきて、ある時点から味の修正ができなくなってしまいました。

Eventually, I lost the taste, and at some point I couldn't modify the taste.

料理にも「ポイント・オブ・ノーリターン」があります。

Cooking also has a "point of no return".

(脳死判定に使わている用語でしたが、最近は温暖化対策などでも使われているようです)

(The term used to be used for brain death determination, but recently it seems to be used for global warming countermeasures, etc.)

まあ、そこそこ美味しかったですし、嫁さんにも好評だったので、また作ってみようと思います。

Well, it was delicious there, and my wife loved it, so I will cook it again.

-----

今日の話は、次のコラムの前フリに使う予定のネタです。

Today's story is the one I plan to use as a preamble to my next column.

2023,江端さんの忘備録

人生を有意義に生きる方法として「やるべきことではなくて『やらないこと』を決める」という意見を、最近見かけます。

I have recently seen the opinion that one way to live a meaningful life is to decide "what not to do" instead of what to do.

また、「すでに完成しているものを、再度自力で作ること」を『車輪の再発明』という言い方をして、再三、エンジニア(特にソフトウェアエンジニア)に警告がされてきました。

Engineers (especially software engineers) have been warned again and again about "reinventing the wheel," a term that refers to "taking something that has already been completed and making it again on your own.

上記に対して、私の態度は昔から一貫しています。

My attitude toward the above has always been consistent.

―― ふうん

"hmm"

です。

-----

今日、講義で、紙とエンピツを使って、最短経路問題であるダイクストラ法と、修正ラベル法を解いていました。

Today, in lecture, we were solving Dijkstra and modified label methods as the shortest path problem, using paper and an empit.

久々に、その解法の美しさに感動していました。

After a long time, I was impressed by the beauty of the solution.

私は、ダイクストラ法も、ワーシャルフロイド法も、自力でコーディグしていたくらいです。

I had even coded both the Dijkstra and Warchal Floyd methods on my own.

ワーシャル-フロイド法 サンプルプログラム

ですが、このような経路問題アルゴリズムなど、ネットに山ほど落ちていますし、フリーのライブラリも充実しています。

However, there are plenty of such routing problem algorithms and others on the Internet, and there are also extensive free libraries.

GISをDIYで作ろう―PostGISを使い倒す

私のやっていることは、典型的な『車輪の再発明』です ―― だから、これは「無駄」なのでしょう。

What I am doing is typical 'reinventing the wheel' -- so I guess this is 'futile'.

-----

しかし、私は、それらのアルゴリズムを自力でコーディングしていたので、自由に改造ができました。

However, I had coded those algorithms on my own and was free to modify them.

その改造のおかげで、100万人都市の、飛び込み自殺による列車ダイヤの大混乱から収束までの経緯を5分間で計算するアルゴリズムを考案して、査読論文を一本通しました。

Thanks to that modification, I devised an algorithm to calculate how a city of one million people went from train schedule havoc caused by a suicide jump to convergence in five minutes, and got one peer-reviewed paper through.

また、私が、「やるべきことではなくて『やらないこと』を決める」てなことをしてしまったら、私がこれまで続けてきた日記やコラムは、その時点で、「即、終了」となってしまうでしょう。

Also, if I were to decide "what not to do" instead of what I should do, the diaries and columns I have been keeping would be "terminated immediately" at that point.

-----

まあ、私の人生は、無駄が多く、かつ、有意義でもないのでしょう ―― が、それならそれで、私は構いません。

Well, I guess my life is not very meaningful or meaningful -- but that's OK with me.

『本当に、意義のない、無駄な人生を生きてきたなぁ』と、つぶやきながら、私は死んでいくつもりです。

I will die muttering, 'I have truly lived a meaningless and futile life'.

2023,江端さんの技術メモ

公共交通指向型開発(TOD: Transit Oriented Development) - 公共交通機関に基盤を置き、自動車に依存しない社会を目指した都市開発。
「交通隣接型開発」(TAD:‘transit-adjacent development’) 公共交通拠点と隣接して、高密度、大規模開発を行うが、機能上に、互い協調的な開発モードが不足である。

未分類

ちょっと調べてみたところ、使えるみたいです
(いつ入手したのか忘れましたが、倉庫に入っていました)。

2023,江端さんの技術メモ

https://www.marble-lab.com/item_3412.html

を参考にさせていただき、自分用の手順書(マニュアル)を作成。

(Step 1) CSVファイルの作成
1行目に、各列の名前が入っていなければならない。
ファイルはこちら → test_user_list_14.csv

ファイルはこちら → test_user_list_14.csv

(Step 2) Google MAPの立ち上げ

(Step 3) Google MAPの立ち上げ

↓の赤丸をクリック

今は、こっちのインタフェースに、なっているようです。

(Step 4) 「マイプレイス」を選択

(Step 5) 「マイマップ」→「地図を作成」

(Step 6) 「インポート」を選択

(Step 7) ファイル(test_user_list_14.csv)をドラッグ

(Step 8) 緯度、経度を選択

(Step 9) マーカーのタイトルを選択

(Step 10) マーカーの色を変更する(→黒)

(Step 11) マーカーをクリックすると情報が表示される

以上

KeyWord: Google MAP、 マーカー、 アイコン、 csv, エクセル

2023,江端さんの忘備録

我が家の暖房器具は、基本的にはガスまたは石油ファンヒータです。

Our heating system is basically gas or oil fan heaters.

しかし、一台だけアナログの石油ストーブがあります。

However, there is one analog oil heater.

期間限定 個別送料無料】コロナ 石油ストーブ 木造6畳用 RX-2222YHD | 家電・電化製品 | ホームセンター通販【カインズ】

アナログ、とは、いわゆるコンセントのない、自立起動・運用ストーブであり ―― まあ、普通のストーブで、普段は全く使っていません。

Analog, is what is called an unplugged, self-starting and operating stove -- well, a normal stove, but we usually don't use it at all.

東日本大震災(2011年3月11日)の時、大規模なブラックアウト(停電)と、計画停電が発生しました。

During the Great East Japan Earthquake (March 11, 2011), there was a massive blackout and rolling blackouts.

加えて、現在の国内のエネルギー供給状況を考えると、近い未来に「数日~十数日間の停電」は発生するだろうと考えています。

In addition, given the current domestic energy supply situation, I believe that "several to a dozen days of power outages" will occur in the near future.

-----

で、先日、このストーブの実証実験を行ってみた結果、無事に、ストーブの起動と運用を確認したのですが

So, the other day, I conducted a combustion experiment on this stove, and I was able to confirm that the stove was up and operational, without incident, however,

―― 火力が弱すぎる

-- Too little firepower.

■ストーブの上に置いたヤカンの水が沸騰しない

- The water in the kettle on the stove does not boil.

■「対流熱」の効果が発生せず、リビングの温度が上っていかない

- The effect of "convective heat" does not occur and the living room temperature does not rise.

■ストーブに近寄って、直接手をかざして「放射熱」を得ることで精一杯

- What I do my best is to get "radiant heat" by approaching the stove and holding my hand directly over it.

という結果に、正直、呆然としています。

I am honestly stunned by the results.

-----

私が小学生の頃は、このようなストーブしかなく、大学の下宿でもこのタイプのストーブでした。

When I was in elementary school, this was the only type of stove available, and I used the same type of stove in my college boarding house.

そういえば、始めて石油ファンヒータを体験した時、あっと言う間に部屋の温度が上昇し、『魔法か!』と思ったことを思い出しました。

I remember the first time I experienced an oil fan heater, the room temperature rose so quickly that I thought, "Is it magic?"

逆に言えば、私達は、快適さの為に、あの頃と比較して、整数倍のエネルギー消費をしている、ということのようです。

Conversely, I seem to be consuming integer times more energy for comfort than we did back then.

しかし、その一方で、石油ファンヒータに内蔵されたセンサとコンピュータが無駄なエネルギー消費を留めている、とも言えるようで、正確な比較はできてないです。

On the other hand, however, it seems that the sensors and computers built into the oil fan heaters are holding back unnecessary energy consumption, and I have not been able to make an accurate comparison.

というのは、今回の燃焼実験では「アナログ石油ストーブの石油消費の速度が、石油ファンヒータよりも早かった」ように思えたからです。

This is because in this combustion experiment, "the rate of oil consumption of the analog oil heater seemed to be faster than that of the oil fan heater.

-----

ともあれ、我が家では、「停電に供えたアナログストーブの準備」は完了し、ホッとしています。

Anyway, I am relieved that the "preparation of analog stoves for power outages" was complete in our home.

『ブラックアウトになったら、ストーブの前に家族が固まって暖を取る』という目処はつきました。

I could get a good prospect of 'When the blackout hits, the family will gather in front of the stove to keep warm'

2023,江端さんの忘備録

現在、私は、PCにSAIをインストールして、マウスを使ってイラストを作っています。

I currently have SAI installed on my PC and use a mouse to create illustrations.

本格的にデジ絵をマスターしたい訳ではないのですが、iPadのibisPaintを使って、リモートワークのホワイトボード代わりに使えないかな、と思っています。

I don't want to master digital painting in earnest, but I am wondering if I can use ibisPaint on my iPad as a whiteboard for remote work.

で、今悩んでいるのは、Apple Penを買うか、廉価版を買うか、です。

So now I am wondering if I should buy the Apple Pen or the lower priced version.

- Apple Pen(第2世代)は、19000円以上

- Apple Pen (2nd generation) is over 19,000 yen

- KINGONEスタイラスペンは、3000円以下

- KINGONE stylus pen is less than 3000 yen

です。

『Apple Pen2本 + αで 、iPadが1台買える』と思うと、Apple Penの購入には、抵抗があります。

I am reluctant to buy an Apple Pen when I think that "two Apple Pens + α can buy one iPad".

調べているうちに、Apple Penのメリットは、筆圧検知らしい、ということが分かってきました。

In the course of my research, I have learned that the advantage of the Apple Pen seems to be pressure detection.

太い線と細い線を、筆圧で変化させられる、という点が、デジ絵を仕事または趣味にしている人には、非常に重要らしいのです。

The ability to change between thick and thin lines with brush pressure is said to be very important for people who are into digital painting as a job or a hobby.

これ、分かります。

I understand this.

現在、私も、SAIを使っていて、実際、線の太さを変えるのに、一度メニューに戻らなければならないのですが、これが、『結構うっとうしい』のです。

I am also currently using SAI and actually have to go back to the menu once to change the line thickness, which is "quite annoying".

-----

という訳で、今、悩んでいます。

So, I am now struggling.

これまで通り、PC + SAI + マウスで絵を作り続けてもいいのですが、

I can continue to create pictures with my PC + SAI + mouse as I have in the past, but

『次女が、iPad + ibisPaint + Apple Pen で、サクサクと、高品質の作品を量産しているのを見ていると、なんか対抗したくなる』

"When I see my second daughter creating high quality works with her iPad, ibisPaint, and Apple Pen, I feel like competing with her"

・・・ではなくて、

is not true.

「絵心ゼロ」の私が、自分のコラムのイラストであれば、自己責任で、自力でイラストを描ける時代になっているのです。

I, who have "zero artistic ability," can now illustrate my own columns on my own, at my own risk.

目の前に、パーソナルなお絵描きの環境があるなら、やれることなら、やるべきでしょう。

If I have a personal painting environment in front of me, I should do what I can.

-----

よし、Apple Penにしよう。

Okay, let's go with the Apple Pen.

ただし"第一世代"の"中古"を探そう(5500円くらいで、手に入りそうです)。

However, I should look for a "used" "first generation" (about 5500 yen).

いつでも、私は、土壇場で意気地がないのです。

At all times, I am a coward at the last minute.

2023,江端さんの技術メモ

PostgreSQLで、新規のデータならinsert, 書き換えならupdate をしようと思ったのですが、なんか面倒くさいので、初期テーブルを沢山作っておくことで対応することしました。

というか、そういうメソッドを準備しておいて欲しい→あるみたいですが、上手く動かせませんでした。

package main

import (
	"database/sql"
	"fmt"
	"log"

	_ "github.com/lib/pq" // ←これを追記
)

func main() {
	// user_log, bike_logへのアクセス
	dbAgent, err := sql.Open("postgres", "user=postgres password=password host=192.168.0.23 port=15432 dbname=agent_db sslmode=disable")
	if err != nil {
		log.Fatal("dbAgent OpenError: ", err)
	}
	defer dbAgent.Close()
	err = dbAgent.Ping()
	if err != nil {
		log.Fatal(err, "\nHint: dbAgent Database may not have started")
	}
	// user_logテーブルの内容の全削除
	dbAgent.Query("delete from bike_log;")

	// insertのテスト
	for i := 0; i < 10; i++ {
		str := fmt.Sprintf("insert into bike_log (stationid, num_bikes) values(%d, -1)", i)
		fmt.Println(str)
		dbAgent.Query(str)
	}

	// updateのテスト
	for i := 0; i < 10; i = i + 2 {
		str := fmt.Sprintf("update bike_log set num_bikes = %d where stationid = %d", i*2, i)
		fmt.Println(str)
		dbAgent.Query(str)
	}
}

出力結果

C:\Users\ebata\yamaguchi\src_try1\others> go run main4.go
insert into bike_log (stationid, num_bikes) values(0, -1)
insert into bike_log (stationid, num_bikes) values(1, -1)
insert into bike_log (stationid, num_bikes) values(2, -1)
insert into bike_log (stationid, num_bikes) values(3, -1)
insert into bike_log (stationid, num_bikes) values(4, -1)
insert into bike_log (stationid, num_bikes) values(5, -1)
insert into bike_log (stationid, num_bikes) values(6, -1)
insert into bike_log (stationid, num_bikes) values(7, -1)
insert into bike_log (stationid, num_bikes) values(8, -1)
insert into bike_log (stationid, num_bikes) values(9, -1)
update bike_log set num_bikes = 0 where stationid = 0
update bike_log set num_bikes = 4 where stationid = 2
update bike_log set num_bikes = 8 where stationid = 4
update bike_log set num_bikes = 12 where stationid = 6
update bike_log set num_bikes = 16 where stationid = 8

データベースの中身

agent_db=# select * from bike_log;
stationid | num_bikes
-----------+-----------
1 | -1
3 | -1
5 | -1
7 | -1
9 | -1
0 | 0
2 | 4
4 | 8
6 | 12
8 | 16
(10 rows)

 

2023,江端さんの忘備録

「「お金に愛されないエンジニア」のための新行動論」の最新記事が掲載されました。

The latest article on "New Behavioral Theory for 'Engineers Not Loved by Money'" has been published.

■最新記事

-Latest Articles

「お金がなくてもそこそこ幸せになれるのか」を宗教と幸福感から真剣に解析してみる

A serious analysis of "Can I be happy there without money?" from the perspective of religion and happiness.

今回は、「なぜ、カルトの信者はあんなに幸せそうなのか」という疑問に端を発して、「お金がなくてもそこそこ幸せになれるのか」を宗教と幸福感から真剣に解析してみました。

In this issue, I have seriously analyzed the question "Why do cult members seem so happy?" from the perspective of religion and happiness, starting with the question "Why do they seem so happy even without money?

 

2023,江端さんの技術メモ

最初はエクスポートです。

Microsoft Windows [Version 10.0.19044.2486]
(c) Microsoft Corporation. All rights reserved.
C:\Users\ebata>psql -U postgres -h 192.168.0.23 -p 15432
Password for user postgres:
psql (13.4, server 12.5 (Debian 12.5-1.pgdg100+1))
Type "help" for help.
postgres=# \c agent_db
psql (13.4, server 12.5 (Debian 12.5-1.pgdg100+1))
You are now connected to database "agent_db" as user "postgres".
agent_db=# \copy user_list to 'testtest.csv' WITH CSV DELIMITER ',';
COPY 20
agent_db=#
C:\Users\ebata に、testtest.csv ができています。
カラム名が必要な場合は、こちら(大抵の場合必要)。
agent_db=# \copy user_list to 'testtest.csv' WITH CSV HEADER;
次にインポートです。
以下のcsvファイルをインポートします。ファイル名はkai_20220522holyday18.csvです。
id,age,type,departure_name,departure_number,departure_lat,departure_lng,arrival_name,arrival_number,arrival_lat,arrival_lng
0,43,resident,,,34.173408,131.470684,,,34.155862,131.501246
1,24,resident,,,34.179449,131.482543,,,34.164116,131.471791
2,42,resident,,,34.168739,131.470768,,,34.160989,131.491124
3,21,resident,,,34.169494,131.469934,,,34.173498,131.471351
4,58,resident,,,34.185295,131.47414,,,34.191481,131.49456
5,48,resident,,,34.150778,131.480747,,,34.16536,131.471872
6,56,resident,,,34.16536,131.471872,,,34.174066,131.479312
7,73,resident,,,34.155731,131.500845,,,34.16776,131.472831
8,47,resident,,,34.167237,131.471785,,,34.155775,131.476531
9,21,resident,,,34.154931,131.50468,,,34.156678,131.49581
10,37,resident,,,34.16727,131.472899,,,34.171253,131.471177
11,40,resident,,,34.147241,131.474921,,,34.150675,131.486268
12,67,resident,,,34.173683,131.476347,,,34.173643,131.471027
13,28,resident,,,34.183079,131.484303,,,34.174245,131.474592
14,46,resident,,,34.146154,131.472711,,,34.159611,131.491548
15,25,resident,,,34.162497,131.489283,,,34.147212,131.475984
次に、テーブルをクリアにします。
agent_db=# delete from user_list;
DELETE 36
agent_db=# select * from user_list;
id | age | type | departure_name | departure_number | departure_lat | departure_lng | arrival_name | arrival_number | arrival_lat | arrival_lng
----+-----+------+----------------+------------------+---------------+---------------+--------------+----------------+-------------+-------------
(0 rows)
として、
agent_db=# \copy user_list from 'kai_20220522holyday18.csv' delimiter ',' csv header;
でインポートが完了します。
一応、確認します。
agent_db=# select * from user_list;
id | age | type | departure_name | departure_number | departure_lat | departure_lng | arrival_name | arrival_number | arrival_lat | arrival_lng
----+-----+----------+----------------+------------------+---------------+---------------+--------------+----------------+-------------+-------------
0 | 43 | resident | | | 34.173408 | 131.470684 | | | 34.155862 | 131.501246
1 | 24 | resident | | | 34.179449 | 131.482543 | | | 34.164116 | 131.471791
2 | 42 | resident | | | 34.168739 | 131.470768 | | | 34.160989 | 131.491124
3 | 21 | resident | | | 34.169494 | 131.469934 | | | 34.173498 | 131.471351
4 | 58 | resident | | | 34.185295 | 131.47414 | | | 34.191481 | 131.49456
5 | 48 | resident | | | 34.150778 | 131.480747 | | | 34.16536 | 131.471872
6 | 56 | resident | | | 34.16536 | 131.471872 | | | 34.174066 | 131.479312
7 | 73 | resident | | | 34.155731 | 131.500845 | | | 34.16776 | 131.472831
8 | 47 | resident | | | 34.167237 | 131.471785 | | | 34.155775 | 131.476531
9 | 21 | resident | | | 34.154931 | 131.50468 | | | 34.156678 | 131.49581
10 | 37 | resident | | | 34.16727 | 131.472899 | | | 34.171253 | 131.471177
11 | 40 | resident | | | 34.147241 | 131.474921 | | | 34.150675 | 131.486268
12 | 67 | resident | | | 34.173683 | 131.476347 | | | 34.173643 | 131.471027
13 | 28 | resident | | | 34.183079 | 131.484303 | | | 34.174245 | 131.474592
14 | 46 | resident | | | 34.146154 | 131.472711 | | | 34.159611 | 131.491548
15 | 25 | resident | | | 34.162497 | 131.489283 | | | 34.147212 | 131.475984
(16 rows)