2024,江端さんの技術メモ

本プログラムは、

Webサーバに繋っているブラウザが、全部いなくなったことを確認するプログラム

を拡張したものです。index.htmlは、このページに記載されているものを、そのまま、使って下さい。

こちらのプログラムでは、Webサーバに繋っているブラウザが、全部いなくなったと確認できた場合(30秒後)に、url = "http://localhost:8000/cancelAllVideoStreamGround"へメッセージを渡すプログラムです。

デバッグの為に使っていたコメントが残っていますので、適当に削除して下さい。

# c:\users\ebata\webMonitor.py
# https://wp.kobore.net/%e6%b1%9f%e7%ab%af%e3%81%95%e3%82%93%e3%81%ae%e6%8a%80%e8%a1%93%e3%83%a1%e3%83%a2/post-12475/を参照のこと

import threading
import time
import requests
import sys
from flask import Flask, request, jsonify
from requests.exceptions import Timeout
from flask_cors import CORS


app = Flask(__name__)

CORS(app)  # すべてのリクエストに対してCORSを有効にする

last_heartbeat_time = 0
lock = threading.Lock()

def send_notification():
    url = "http://localhost:8000/cancelAllVideoStreamGround"
    try:
        response = requests.post(url, timeout=3)
        response.raise_for_status()
        print("Notification sent successfully.")
        sys.stdout.flush()  # 標準出力をフラッシュする
    except Timeout:
        print("Error: Timeout while sending notification")
    except requests.exceptions.RequestException as e:
        print(f"Error sending notification: {e}")

def check_heartbeat():
    global last_heartbeat_time
    while True:
        current_time = time.time()
        print("ct:",current_time)
        print("lht:",last_heartbeat_time)
        diff = current_time - last_heartbeat_time
        print("diff:",diff)
        with lock:
            if current_time - last_heartbeat_time > 30:
                send_notification()
                last_heartbeat_time = current_time
        time.sleep(1)

@app.route('/heartbeat', methods=['POST'])
def receive_heartbeat():
    print("pass receive_heartbeat()")
    global last_heartbeat_time
    data = request.get_json()
    print(f"Received heartbeat: {data}")
    sys.stdout.flush()  # 標準出力をフラッシュする
    with lock:
        last_heartbeat_time = time.time()
        print("lht_2:",last_heartbeat_time)
    # data = request.get_json()
    # print(f"Received heartbeat: {data}")
    # sys.stdout.flush()  # 標準出力をフラッシュする
    return jsonify({"status": "OK"})

if __name__ == "__main__":
    heartbeat_thread = threading.Thread(target=check_heartbeat)
    heartbeat_thread.start()
    app.run(host='0.0.0.0', port=3000)

私用のコメント
(1)receive_heartbeat():と receive_heartbeat()を同時に走らせる為に、スレッド化しなければならなくなった → で Ctrl-Cで止められなくなったので、ちょっと困っている(が、シェル画面ごと落せばいいので、現在はそうしている)

(2)url = "http://localhost:8000/cancelAllVideoStreamGround" からの時間がもたつく場合には、Timeoutを設定すると良いかもしれない。send_notification()を丸ごと差し替えると、こんな感じ。

def send_notification():
    url = "http://localhost:8000/cancelAllVideoStreamGround"
    try:
        response = requests.post(url, timeout=3)
        response.raise_for_status()
        print("Notification sent successfully.")
        sys.stdout.flush()  # 標準出力をフラッシュする
    except Timeout:
        print("Error: Timeout while sending notification")
    except requests.exceptions.RequestException as e:
        print(f"Error sending notification: {e}")

(3)Webブラウザは、バックエンドに置いておくと、Heatbeatを出力しないことがあるので、常にアクティブにしておく必要があります(バックエンドのままにしておくと、cancelAllVideoStreamGroundが動き出します)

以上

2024,江端さんの忘備録

私、新しい技術が入ってきても、基本的には信じません。

I don't believe in new technology when it comes in.

その新しい技術とやらを真面目にやって、膨大な時間を喰われた挙げく、市場から消え去ったものを、本当に腐るほど見てきたからです。

I have seen so many things that have disappeared from the market after being eaten up by the enormous amount of time spent on serious work on that new technology that it is rotten.

そもそも「スゴい」と言われる技術の殆どが、『今はショボいけど、すぐに流行るようになる』という「前置き」つきであるからです。

In the first place, most of the technologies that are called "awesome" are prefaced with the phrase, "It's a bit timid now, but it will soon become popular.

で、この私の怨念が集約が、この連載シリーズだったりします。

And this series of articles is the culmination of my resentment.

 

-----

私が自分に「スゴい」を信じさせるか否かは、簡単です。

Whether or not I make myself believe in "awesome" is easy.

私が実際に使ってみて「スゴい」と思えれば、それは「スゴい」のです。

If I use it and think it is "awesome," then it is "awesome."

そして、『自腹を切っても使いたい』と思えるものであれば、その「スゴい」は確定です。

And if it is something that 'I want to use even if I have to pay for it myself,' then its 'awesome' is confirmed.

他人の意見を聞く必要はありません。この私が知っているからです。

You don't need to listen to others' opinions. Because of this, I know.

-----

私は、社内のエライさんから通達される『これからば、XXXXXの時代』という言葉を、原則として信じません。

As a rule, I don't believe in the "XXXXXX era" that is being communicated to me by the elites in my company.

『お前らに、これまで、何度騙されてきたことか』 ―― という膨大な記憶があるからです。

I have a vast memory of "How many times have you people fooled me?

しかし、"XXXX"が"生成AI"であれば、抵抗なく受けいれることができます。

However, if "XXXX" is a "Generative AI," it can be accepted without resistance.

これは、私にとって「スゴい」です。本当です。

This is "awesome" to me. It's true.

しかし、この「スゴい」は、私の業務や学業に特化していますので、生成AIが、多くの人にとって「スゴい」のかどうかは正直分かりません。

However, this "awesome" is specific to my business and academic work, so I don't know if the generative AI is "awesome" for most people.

―― 人が言う「スゴい」は胡散臭くて鬱陶(うっとう)しいが、自分が信じる「スゴい」は、ストレスがなく、むしろ気分が良い

-- "Awesome" that people say is stinky and depressing, but "awesome" that I believe in is stress-free and makes me feel good.

ということです。

That is it.

-----

で、今回のオチですが、

So, here's the punchline,

―― 『私は、意外に、簡単にカルト宗教にハマるタイプかもしれない』と思い当たり、ゾッとしている

-- I am horrified to realize that "I may be the type of person who falls into cultism surprisingly easily.

と、なります。

私が、『"原理"はスゴい』などと、訳の分からないことを言い始めたら、皆さんは、直ちに私から離れて下さい。

When I say things like, "The 'Principle' is amazing," you all need to leave me immediately.

それは、もう、津波警報クラスの勢いで、避難を開始して下さい。

It would be best to start evacuating with the vigor of a tsunami warning class.

特に、私の家族には『3秒で私を捨てろ』と、言い含めておきます。

In particular, I will tell my family, 'You have three seconds to leave me.

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

 

2024,江端さんの忘備録

「土地が隆起する」ということは、知識としては知っていましたが、生きている間に自国の領土で、これを知ることになるとは思いませんでした。

I know that "land rises," but I had no idea I would see it in my territory during my lifetime.

■ 生活用水としての地下水の汲み上げによって、現在、各国の首都で深刻な地盤沈下が進行中

  • Groundwater pumping for domestic use is currently causing severe land subsidence in the capitals of many countries.

■ 地球温暖化による海面上昇によって、現在、沿岸部の都市の多くのエリアが水没中

  • Many areas of coastal cities are now under water due to rising sea levels caused by global warming.

ということは、NHKスペシャル等で知っていました。

I knew this from NHK specials and other sources.

しかし、今回の能登半島の大震災で、4メートルものの海岸線の土地隆起を知り、そして映像でも知りました。

However, after the Noto Peninsula earthquake, I learned about the 4-meter uplift of the coastline and learned about it on video.

こういう現象は、地球誕生後の億年の単位のどこかで発生する事象 ―― 要するに、遠い過去か、遠い未来の「他人事」と思っていました。

I had thought that these phenomena would occur somewhere in the billion years after the birth of the earth -- in other words, they were "someone else's problem" in the distant past or future.

『私は、億年単位の歴史の中で生きているんだなぁ』と実感するに至りました。

I realized that I was living in a billion years of history.

-----

今であれば、世界地図を見れば明らかな「大陸移動説」ですが、当時、この説の提唱者(アルフレート・ヴェーゲナー)は、世間から散々バカにされたそうです(しかも、かなり最近(1912年))。

Today, the theory of continental drift is evident if you look at a world map. Still, at the time, the proponent of this theory (Alfred Wegener) was widely ridiculed by the public (and quite recently (1912)).

でも、まあ、『地面が動くはずなかろうが!』と思うのも、納得できます。

But, well, 'the ground can't possibly move!' I can understand why you would think that.

-----

私、小学生のころ、ハワイが日本の近辺にあったという話を聞いて、計算してみたことがあります。

I heard that Hawaii was near Japan in elementary school, and I did the math.

(1)陸地は、だいたい1年で1cmくらいは移動している

(1) Land moves roughly 1 cm per year.

(2)日本とハワイの間は、現在6600kmである

(2) The distance between Japan and Hawaii is currently 6600 km.

上記(1)(2)をそのまま当てはめると、ハワイが現在の位置に至るのに必要な時間は、660,000,000年 = 6.6億年

Applying (1) and (2) above as they are, the time required for Hawaii to reach its present position is 660,000,000 years = 660 million years

地球誕生が45億年前、ミトコンドリが発生したのが21億年前、多細胞生物は10億年前、6億年前は氷河期だったようです。

The earth was born 4.5 billion years ago, mitochondrion arose 2.1 billion years ago, multicellular organisms a billion years ago, and 600 million years ago was an ice age.

人類の誕生は、ざっくり10~100万年前(0.001億年~0.01億年前)なので、それよりは、十分に長い時間ではあるのですが、

The birth of humankind is roughly 10 to 1 million years ago (0.001 to 0.01 billion years ago), so it is well longer than that,

―― 地面が動く速度は、意外に速いものだなぁ

"The ground moves surprisingly fast."

と、子ども心にも、思ったものでした。

Even as a child, I thought it.

ともあれ、私は『自分の生きている間に、数メートルの地面の隆起が起った』ということに、驚きを感じえずにはいられないのです。

Anyway, I can't help but be amazed that the ground has risen several meters in my lifetime.

地震発生時、テレビが時速43kmで突っ込んできます

 

2024,江端さんの技術メモ

「まだChatGPTを使ってない人は『人生を悔い改めた方がいい』」 ―― と言った、ソフトバンクの孫社長に申し上げます。『いらんこと言うな』と。

にも書いていますが、

『当初、私は、ChatGPT(対話型AIアシスタント))、Grammerly(英語文章構成サービス), Deepl(翻訳サービス)を、無料で使ってきたのですが、私のそのサービスの利用頻度は、無料の範囲を越えてしまい、全て有料の会員となっています』

で、ここにAmazon Lightsailがあって、さらに、さくらインターネットのサービス(kobore.net)が入って、当然、ドメイン名の使用料も含まれていて、もう、これは、IT/AI搾取と称呼してもしても良いのではないかと思います。

で、先程、GitHub Copilot(10ドル/月)にも入りました ―― 貢いでいる対象を考えると「ホスト/ホステスに貢いだ方が楽しそう」です。金額の規模感は違いますが。

ジュニアに質問しにくいシニアにとっては、十分ペイする「お助けサービス」ではあるのですが ―― 私の人生、ハレがない とは思います。

それはさておき


先程まで、GitHub Copilotをvscodeにアドインしたが、tabキーを押しても提案を採用できないという問題に悩まされていました。

参考にさせて頂いたのは、こちら(https://mindtech.jp/?p=2330)のページです。

上記の"承諾する Tab"の部分をマウスでクリックすれば、確定はできるのですが、そんなコーディング作業、かったるくてやっていられません。

私の方も、やはり、Awesome Emacs Keymap と、vscode-emacs-indent が悪さをしていたようです。

これらを無効にした後、vscodeを再立ち上げしたら、コード確定ができるようにはなりましたが、当然ですが、emacsのキーバインドが使えなくなりました。しかし、私にはEmacsの環境が使えないコーディング環境は耐えられそうにありません(体が矯正不能)。

で、ちょっと試しに、Awesome Emacs Keymap を無効して、vscodeを再立ち上げして、GitHub Copilotを起動している状態で、Awesome Emacs Keymap を再び有効にしてみたら、両立に成功しているようです(すぐにボロが出るかもしれませんが)。

とりあえず、メモとして残しおきます。

またコケたら、こちらのメモに追記します。

2024,江端さんの忘備録

今週末も、私はChatGPTをフル活用して、コーディングとライティングをしていました。

This weekend, I continued to use ChatGPT to do some coding and writing.

『・・・神かよ』

"Oh my God...."

と、何度も呟やいていました。

I muttered repeatedly.

-----

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

Recently, I have found that 'the trick to using ChatGPT is the same as when I ask someone to do a job.

「仕事を人に頼む時のポイント」は、その人が自分であると仮定した上で『この内容が分からなければ、仕事を開始できない』ということを頭の中にイメージして、それを言語化することです。

The "key to asking someone to do a job" is to imagine in your mind, assuming that the person is you, 'If I don't understand this content, I cannot start the job,' and then verbalize it.

大切なのは、テクニカルライティング ―― というか、人に伝える日本語の正しい使い方です。

What is important is technical writing -- or rather, the proper use of Japanese to communicate to others.

-----

私、これまで、『英語』と『数学』の重要性について、何度も熱く語ってきました。

I have spoken passionately many times about the importance of "English" and "Mathematics."

しかし、今、この生成AIと対峙しながら思うことは、『国語』こそが、最優先すべき勉学になりつつあることが分かり始めました。

However, as I think about it now, while confronting this generative AI, I realize that the "Japanese language" is becoming the study that should be prioritized.

人とのコミュニケーションでは言うに及ばずですが、これからはコンピュータと会話をするための『言語化能力』が、もの凄く重要になります。断言します。

It goes without saying in human communication, but from now on, the "ability to verbalize" to talk with computers will be very important. I assure you.

といっても、『この文章を書いた作者の気持ちの中で、もっとも近いものをA~Dの中で選べ』という国語の試験のような設問対応はどーでもいいです。

However, it does not matter how you respond to the question, which is like a Japanese language exam, "Choose the one from A to D that comes closest to the feelings of the author who wrote this sentence.

(ただ、この設問対応の勉強は、恋愛や結婚のプロセスでは、結構重要になるんですが、それはまた別の機会に)。

(However, studying this question response is quite important in the love and marriage process, but that's another story.)

大切なのは、コンピュータが困らないように、主語と目的語を明確にし、その内容を完結に伝える国語の言語化能力です。

What is important is the ability to verbalize the subject and object clearly and to convey the content of the message completely in the national language so that the computer does not get confused.

と、書いていて思ったのですが、このような言語化は、むしろ『英語』の方が役に立つものかもしれません。

As I was writing, I thought that this kind of verbalization may be something that is rather more useful in 'English.'

-----

子ども:「何のために勉強するの?」

Child: "What do I study for?"

私:「生成AIを使い倒して、人生でラクをするためだよ」

Me: "It's all about using the generative AI to make life easier."

今、私は、本気でそう思っています。

Now, I believe that.

アニメ「葬送のフリーレン」のオープニング(日本語と英語版の両方)を聞かせれば、英語や国語が『人を感動させる道具(あるいは武器)になる得る』という実例を、分かって貰えるんじゃないかなぁ、とか考えています。

2024,江端さんの忘備録

論文作成に疲れて、お茶でも飲もうかリビングに降りていったら、嫁さんが、アマプラで、実写版の「3月のライオン」を見ていました。

I was tired of writing my paper, so I went to the living room for tea and found my wife watching a live-action version of "March Lion" on Amazon.com.

将棋といえば、今や空前の将棋ブームと言われています。

Shogi is now considered to be amid an unprecedented Shogi boom.

私は、将棋のルールを、おぼろげに覚えているくらいですが、将棋を扱ったマンガコミックは、かなり読んでいると思います。

I can only vaguely remember the rules of Shogi, but I think I have read a lot of manga comics dealing with Shogi.

「二人零和有限確定完全情報ゲーム」

で、それらのマンガを読んでいて思うことは、

And when I read those comics, I come to believe,

―― 本気で将棋をやる人(プロ)は、誰もが、苦しみにのたうち回りながら将棋をやっているのだろうか

"Does any professional Shogi player play the game while suffering from the continuous harsh reality?"

と思ってしまうことです。

もちろん、マンガにはドラマ性が必要だとは思うのですが、それにしても、将棋のマンガに登場する人物 ―― 全員、幸せそうに見えない。

Of course, I think comics need drama, but even so, the characters in chess comics -- don't all look happy.

彼らの悶え苦しみながら「勝ち」に執着する姿勢は、凡庸たる私を魅了します。

Their agonizing and painful obsession with winning fascinates me.

では、私も、悶え苦しみながら「勝ち」に執着する人生を送りたいかといえば、『絶対イヤ』と応えることができます。

But if I were to ask myself whether I, too, would like to live a life of unbearable and painful obsession with winning, I would answer, "Absolutely not.

-----

日本将棋連名の「奨励会」と言われる組織の「退会規約」を読んでいたのですが、『年齢制限の強制退会』の内容が怖い。

I was reading the "withdrawal agreement" of the organization called "Shourei-kai" (Japan Shogi Federation), and I felt fear about the contents of the 'forced withdrawal of age limit.'

ただ、この年齢制限というのが、強い組織を維持する目的としては正しいことは分かります。

However, I understand this age limit is correct for maintaining a solid organization.

年齢制限がないと、多分、長老とか派閥とか、そういうものが必ず発生し、組織を形骸化、弱体化し、さらには不法行為にも及ぶからです。どっかの国の与党のように。

If there is no age limit, there will probably always be elders, factions, and such, shaping and weakening the organization and even leading to illegal activities, like the ruling party in some countries.

-----

年齢制限と言えば、数学のノーベル賞といわれている、「フィールズ賞」も、「4年に一度」「40歳以下」「2名以上4名以下」という厳しい制限があります。

Speaking of age restrictions, the "Fields Medal," considered the Nobel Prize in mathematics, also has strict limits: once every four years, under 40 years old, and between two and four recipients.

数学の場合、偉大な証明は若い数学者によって成されることがほとんどであることを鑑みれば、別段、年齢制限なくても良さそうですが。

In the case of mathematics, I think that no age limit is needed, given that most of the great proofs in mathematics are done by young mathematicians.

(「フェルマーの最終定理」の証明に成功したアンドリュー・ワイルズさんは、1998年に45歳で「特別賞」を受賞していますが、これは例外です)。

(Andrew Wiles, who successfully proved "Fermat's Last Theorem," received a "special award" in 1998 at the age of 45, but this is an exception.)

-----

ともあれ、『血みどろの人生』は、自分ではなく、他人にやってもらうのが、一番いい。

It is best to have someone else do the "bloody life," not me.

私は、その人の人生を、『見せてもらって』『楽しませてもらう』で、十分です。

It is enough for me to be 'shown' and 'entertained' by the bloody life of another.

2024,江端さんの忘備録

Adoさんのヒット曲「うっせぇわ」は、基本的には上司に対する「口にできない部下」の不満、つまりジュニアからシニアへの批判の歌だと思っています。

I believe that Ado's hit song "Ussei-wa" is about the frustration of "unspoken subordinates" against their bosses, i.e., a song of avoidance and criticism from junior to senior.

でも、逆のパターンもあるのです。

But there is a reverse pattern.

シニアからジュニアに対する「うっせいわ」です。

It is a "Ussei-wa" from seniors to juniors.

-----

シニアは、生きている時間が長いので、本人の資質に関係なく、どうしたって経験値は高くなります。

Seniors have been alive longer, so they have more experience no matter what, regardless of their qualities.

ジュニアより、直面したトラブルは多く、そして、トラブルそれを解決しなければ仕事進めることができませんでした。

I faced more troubles than Junior and had to solve them before proceeding with my work.

もちろん、この経験値の高さは、別に本人の努力とか才能とか関係なく、単なる時間の長さというだけの話です。

Of course, this high level of experience has nothing to do with their effort or talent but the length of time.

だから、シニアは、その経験値を「活用する」とは当然としても、これをジュニアに「自慢する」のは理不尽ですよね。

So, while it is natural for seniors to "take advantage" of their experience, it is unreasonable for them to "brag" about this to juniors.

そういうことをするシニアは、単なる「バカ」ですが、このようなバカは一定数います。

Seniors who do such things are simply "idiots," but there are many such idiots.

-----

それ故、ジュニアから見れば、シニアは『自分の仕事を邪魔するだけに存在している』かのように見えるかもしれません。

Hence, from the junior's point of view, it may seem as if the senior 'exists only to get in the way of his work.

上記のようなバカなシニアは一定数いますが、大多数は、そうではありません。

While a certain number of seniors are idiots, as described above, the majority are not.

『私がはまった地雷に、何も、お前もはまることもあるまい』という善意だったりするのですが ――

They have good intentions by saying, "You don't have to get stuck in the same landmines I got stuck in.

ただ、仮に善意であったとしても、ジュニアにとって「うっせいわ」という気持ちになるのは、自然です。

However, even if the intentions were good, it is natural for Junior to feel "Ussei-wa."

-----

私がジュニアだったころ、『私には、失敗する権利もないのか?』と言いたくなったものです。

As a junior, I was tempted to say, 'Don't I have the right to fail?"

―― 例えば、私が20歳代にやってきた時『バカ、アホ』と言われたことを、今やると『流石は、江端さんですね。素晴しい』って言われるぞ

それ故、私はだれかの『失敗する権利』を邪魔したくありませんので、失敗する可能性のあるジュニアを目の前にしても、ニッコリ笑って佇んでいることができます。

Therefore, I do not want to interfere with anyone's "right to fail," so I can stand smiling in front of a junior who may fail.

ちょっと話が逸れました。元に戻します。

I got a little off-topic. Let me get back on track.

-----

シニアからジュニアに対する「うっせいわ」とは何か? ―― それは、『コスト試算がされていない無茶な提案』です。

What is "Ussei-wa" from seniors to juniors? -- It is a reckless proposal that has not been cost-estimated.

私くらいのシニアになれば、提案の内容を聞くだけで、そのコストや期間がどれくらいで、何人くらいのリソースを投入しなければならないかが、さくっとイメージできます。

When you are as senior as I am, you can quickly visualize the cost, time frame, and number of resources that would be required just by listening to the proposal.

加えて、その失敗する可能性も、直感で予測できます(数値化や論理化するのが面倒ですが)。

In addition, the likelihood of its failure can be intuitively predicted (although it is tedious to quantify and logically convert it).

で、まあ、新しい試みというのは、大抵の場合、失敗します ―― しかし、それは、仕方がありません。「新しい試み」なのですから。

And, well, new attempts usually fail -- but that can't be helped. It's a "new attempt.

-----

そして、シニアのこの『直感の予測』が、ジュニアには『シニアが自分の仕事を邪魔するだけに存在している』ように見えるのです。

This 'intuitive prediction' of the senior seems to the junior to be 'present only to interfere with the junior's work.

ただ、この件に関しては、ジュニアに対してロジカルに説明しない(or できない)シニアが悪い。その説明で「手を抜いている」なら、さらに悪質と言えます。

However, in this case, the senior does not (or cannot) explain logically to the junior. It is even worse if they are "cutting corners" with that explanation.

でも「ロジカルな説明は面倒くさい」です。

But "logical explanations are troublesome".

それ故、シニアは「ジュニアを放っておく」という選択肢を選ぶことがあります。

Hence, the senior may choose to "leave the junior alone."

こうして、シニアもジュニアも、共に争わず、ニッコリ笑いながら、双方、不幸になっていく ―― と。

In this way, both seniors and juniors do not fight. Both smile and laugh, and both are unhappy

まあ、私は、それはそれで「落とし所」の一つだと思っています。

Well, I believe that is one of the "solutions."

-----

ちなみに、これまで私は、才気溢れる若い才能たちが、果敢に挑戦し、そして、無様に転げ落ちていく様を、沢山見てきました ―― ニッコリと笑いながら。

Incidentally, I have seen many brilliant young talents boldly take up the challenge and then fall in a heap -- with my smiling.

このような「才気溢れる若い才能」は、生意気で、不遜で、不愉快な奴が多かったので、苦労することなく、心の底から「ニッコリ」することができました。

These "brilliant young talents" were often cocky, irreverent, and obnoxious, so I was able to "smile" from the bottom of my heart without any difficulty.

-----

このように、私の人生のモットーの1つは

Thus, one of my life mottos is

『「才気溢れる若い才能」の邪魔はしない。でも、助けもしない』

"I don't get in the way of brilliant young talent, but I don't help it either. But neither do I help them.

です。

2024,江端さんの忘備録

最近、職場と大学の両方で、ラズベリーパイ(ラズパイ)を使ったシステム構築を行っています。

I have recently built systems using the Raspberry Pi (Raspi) at work and university.

途中まで作ったシステムを、その後の自分の作業で壊してしまう ―― 私は、こんな場面に山ほど立ちあってきました。

I have seen many such situations where my subsequent work destroyed a system halfway through construction.

ラズパイは、途中まで作ったシステムをSDカードにクローンとして残しておけるので、私は、そのSDカードのイメージファイルをPCに格納しておくことができます。そして、必要に応じて、SDカードを複製できます。

The Raspi can keep a clone of the system I have made halfway through on an SD card so that I can store the SD card image file on my PC. I can then duplicate the SD card as needed.

このクローンがあることで、安心して開発を続けることができます。

With this clone in place, I can continue to develop with peace of mind.

-----

ところが、これには、別の問題もあります。

However, there is another problem with this.

(1)SDカードを職場や大学に発注すると、1~2週間はかかる上に、書類作業が発生してしまい、直ぐに作業に取りかかれない

(1) When SD cards are ordered from workplaces or universities, it takes one to two weeks, and paperwork is required, so the work cannot be started immediately.

(2)ラズパイが取り扱うSDカードの容量が、日々増大している(今は128GB)ので、私が個人でいくつも保有しているSDカードが使えない

(2) The capacity of the SD card that Raspi handles is increasing daily (128GB now), so I can't use the SD cards that I have personally.

そんな訳で、ついつい、Amazonのサイトに行って、SDカードの値段を調べてしまいます。Amazonなら、大抵の場合、翌日に配送されるからです。

That's why I always go to Amazon's website to check the price of SD cards; Amazon usually delivers them the next day.

"1500円 + 翌日"と、"2週間 + 書類作成 + 何回もの稟議"を秤にかけて、Amazonの購入ボタンに手が出てしまう私を、一体、誰が責められましょうか。

Who could blame me for reaching for the Amazon purchase button when I weighed "1,500 yen + next day" against "2 weeks + paperwork + multiple requests for approval"?

-----

最近の更なる問題は、SDカードの容量です。

A further recent problem is the capacity of SD cards.

私が最初にラズパイを使ったとき、SDカードは512MBでした。

When I first used Raspi, the SD card was 512MB.

1GB, 4GB, 16GB, 32GBと大きくなり、今や128GBです(江端家ビデオ監視システムのラズパイで32GB)。

It has grown to 1GB, 4GB, 16GB, 32GB, and now 128GB (32GB for Raspi, the Ebata family's video surveillance system).

嫁さん:「私達が、この家に滞在している最中は、システムを停止して」

バックアップの時間は、十数分から4時間に伸び、そして、クローン用のイメージファイルが私のPCのHDDを圧迫しています。

Backup time has grown from a dozen minutes to four hours, and then the image files for the clone are straining my PC HDD.

-----

『これからも、このようなITガジェットに投資し続けなければならないのかなぁ』と思うと、ちょっと憂鬱(ゆううつ)な気分になります。

I feel a little depressed, 'I wonder if I must keep investing in these IT gadgets from now on.

 

2024,江端さんの技術メモ

ChatGPTと相談しながら、fastapiの起動時にコマンドを起動する方法を試していたのですが、上手く動かない(最初のコマンドでロックしてしまう)ので、起動したまま、そのまま放置するコード(プロセスを落したければ、コマンドから自力でkillコマンドで落す必要ある)にしました。

import subprocess
from fastapi import FastAPI

app = FastAPI()

# 各コマンドを実行する関数
def run_command(command):
    try:
        # バックグラウンドでプロセスを実行
        subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
    except Exception as e:
        print(f"コマンド '{command}' の実行中にエラーが発生しました: {str(e)}")

# 各コマンドを実行
commands = [
    "sudo socat udp-listen:38089,reuseaddr,fork udp:192.168.3.153:38089",
    "sudo socat udp-listen:38090,reuseaddr,fork udp:192.168.3.153:38090",
    "sudo socat udp-listen:38091,reuseaddr,fork udp:192.168.3.153:38091"
]

for command in commands:
    run_command(command)

@app.on_event("startup")
async def startup_event():
    print("Application startup complete.")

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

 

2024,江端さんの忘備録

こちらも、やはり『やめろ』の声が高かった「ゴールデンカムイ」の実写化です。

This is another live-action adaptation of "Golden Kamui," for which there were still high voices of "Don't do it.

今、ナイトシアターから帰ってきた、嫁と娘を駅でピックアップしてきたのですが、

I just picked up my wife and daughter at the train station from night theater, and they were

―― 大興奮、大絶賛で、車の中が喧(やかま)しいことこの上もない

"So excited, so raving, so bustling in the car."

という状況でした。

-----

娘は、「ゴールデンカムイ」の原作とアニメを両方見ているので、正しい評価ができていると思います。

My daughter has seen the original "Golden Kamuy" and the anime, so I think she is making the proper judgment.

(ちなみに、私は完了した原作と、現在までのアニメの全部を見ています)

(By the way, I have seen the completed original and all the animations.)

また、ネットを見るかぎり、世間の評判も、概ね「絶賛」の方向です。

Also, as far as the Internet is concerned, the public's opinion is generally in the direction of "rave reviews.

こういうことがあるから、「実写化」は ―― というか、「全ての創作」は『創作前』に否定すべきではないのです。

―― 油断していると、簡単に「原理主義者」になってしまうぞ

Because of this, "live-action" -- or rather, "all creation" -- should not be denied "before creation."

-----

問題は、この私にあります。

The problem lies with me here.

この絶望的な時間のない状況で、どうやって映画館に行く時間を捻出するかで、頭を抱えています。

With this desperate lack of time, I am trying to wrap my head around how to find the time to go to the cinema.