2024,江端さんの忘備録

(国際的な観点から)日本の物価が安い ―― これは、地味に私にインパクトを与えています。

The low cost of living in Japan (from an international perspective) -- has had a sobering impact on me.

インバンド需要によって、海外観光客の取り込みという点では良いことでしょう。

This would be a good thing for attracting international tourists due to in-band demand.

しかし、エネルギー輸入大国日本は、ご存知の通り、大打撃を受けています。

However, as you know, Japan, a major energy importer, has been hit hard.

-----

30年程前、私が一人でアジアを放浪していたというお話は何度かしたと思います。

携帯やメールのない時代の連絡方法

I have told you several times that about 30 years ago, I was wandering alone in Asia.

未整備なインフラ、清潔とは言えない環境、通じない言葉などの問題はありましたが、アジアは私の心の拠り所でした。

Despite the problems of undeveloped infrastructure, unclean environment, and language barriers, Asia was my spiritual home.

特に中国(大陸の方)は、「私の心の支え」といっても過言ではありませんでした。

In particular, China (the mainland) was "my heart and soul".

―― 何もかもが嫌になったら、中国大陸に逃げて、姉から毎月5000円を送金して貰いながら生きていこう

"If I get sick of everything, I'll run away to mainland China and live off my sister's monthly remittance of 5,000 yen."

当時の中国は、5000円もあれば、一ヶ月間くらいなら、余裕で宿泊と飲食を賄えるほど「安い国」だったのです。

At that time, China was such a "cheap country" that one could afford to stay, eat, and drink for a month or so with as little as \5,000.

-----

今、凄い勢いで、「私の心の支え」は壊れつつあります。

Now, "my heart and soul" is breaking down at a terrific rate.

今や日本は、経済大国第2位の国から、私の生きている間に、ランク外まで落ち込む可能性も出てきています。

Japan has gone from being the second-largest economy to possibly falling out of the ranks in my lifetime.

私の「換金レート差額を使った不労所得戦略」は完全に瓦解し、もはや逃げ場がないという事実が、今の私を苦しめています。

The fact that my "unearned income strategy using the exchange rate difference" has completely fallen apart, and there is no longer any way out is now hurting me.

-----

「お金に愛されないエンジニア」シリーズで、この「換金レート差額を使った不労所得戦略」の、過去と現在の話を書きたいのですが ―― 今、そんな時間は、全くありません。

I want to write about the past and present of this "unearned income strategy using the difference in exchange rates" in the "Engineers Unloved by Money" series -- but I don't have time for that right now.

2024,江端さんの技術メモ

※fastapiの場合、スレッドでは上手くコンロールできない(らしい)ので、プロセス単位で管理します
(1)execute-commandというAPIから、pingを行う回数Xをjson形式入力して、"ping -n X kobore.net"を起動します。返り値はプロセス番号(pid)がjson形式で戻ります。
curl -X POST -H "Content-Type: application/json" -d "{\"count\": \"5\"}" http://localhost:8000/execute-command
(2)terminate-processというAPIから、上記のpidをjson形式で入力して、プロセスを強制終了します。返り値は、この成否(1/-1)がjson形式で戻ります。
curl -X POST -H "Content-Type: application/json" -d "{\"pid\": \"10164\"}" http://localhost:8000/terminate-process
(3)以下のファイルをtest.pyとして、uvicorn test:app --host 0.0.0.0 --reload を投入してfastapiサーバを起動します。
# curl -X POST -H "Content-Type: application/json" -d "{\"count\": \"5\"}" http://localhost:8000/execute-command
# curl -X POST -H "Content-Type: application/json" -d "{\"pid\": \"10164\"}" http://localhost:8000/terminate-process

import subprocess
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class ExecuteRequest(BaseModel):
    count: int  # pingコマンドの実行回数を指定

class TerminateRequest(BaseModel):
    pid: int  # 終了させるプロセスのPID

# 実行中のプロセスを格納する辞書
running_processes = {}

@app.post("/execute-command")
def execute_command(request: ExecuteRequest):
    count = request.count

    try:
        command = f"ping -n {count} kobore.net"  # pingコマンドの回数をcountに指定
        # コマンドを非同期で実行し、プロセスを取得
        process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        pid = process.pid  # プロセスのPIDを取得
        running_processes[pid] = process

        return {"pid": pid}  # PIDのみを返す
    except Exception as e:
        return {"message": f"コマンドの実行中にエラーが発生しました: {str(e)}"}


@app.post("/terminate-process")
def terminate_process(request: TerminateRequest):
    pid = request.pid
    print("pid in terminate-process", pid)

    try:
        # プロセスを取得し、終了させる
        process = running_processes.get(pid)

        process.terminate()  # プロセスを終了させる(SIGTERMを送信)
        process.wait()
        del running_processes[pid]  # プロセスを辞書から削除

        # 成功の場合は1を返す
        return {"status": 1}
    except Exception as e:
        return {"status": -1}  # 失敗の場合は-1を返す

if __name__ == "__main__":
    # FastAPIサーバーを開始
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

出力結果
C:\Users\ebata\fastapi7>curl -X POST -H "Content-Type: application/json" -d "{\"count\": \"100\"}" http://localhost:8000/execute-command
{"pid":1784}
C:\Users\ebata\fastapi7>curl -X POST -H "Content-Type: application/json" -d "{\"pid\": \"1784\"}" http://localhost:8000/terminate-process
{"status":1}
C:\Users\ebata\fastapi7>curl -X POST -H "Content-Type: application/json" -d "{\"pid\": \"1784\"}" http://localhost:8000/terminate-process
{"status":-1}


起動したプロセスを監視して、プロセスが予定通り/突然停止した場合、それを通知する仕組みを追加しました。

# curl -X POST -H "Content-Type: application/json" -d "{\"count\": \"5\"}" http://localhost:8000/execute-command
# curl -X POST -H "Content-Type: application/json" -d "{\"pid\": \"10164\"}" http://localhost:8000/terminate-process
# C:\Users\ebata\fastapi7>uvicorn test:app --host 0.0.0.0 --reload

import subprocess
import os
import time
import multiprocessing  # multiprocessingモジュールを追加
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class ExecuteRequest(BaseModel):
    count: int  # pingコマンドの実行回数を指定

class TerminateRequest(BaseModel):
    pid: int  # 終了させるプロセスのPID

# 実行中のプロセスを格納する辞書
running_processes = {}
process_monitor_processes = {}

@app.post("/execute-command")
def execute_command(request: ExecuteRequest):
    count = request.count

    try:
        command = f"ping -n {count} kobore.net"  # pingコマンドの回数をcountに指定
        # コマンドを非同期で実行し、プロセスを取得
        process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        pid = process.pid  # プロセスのPIDを取得
        running_processes[pid] = process

        # プロセスを監視するプロセスを起動
        monitor_process = multiprocessing.Process(target=monitor_process_status, args=(pid,))
        monitor_process.start()
        process_monitor_processes[pid] = monitor_process

        return {"pid": pid}  # PIDのみを返す
    except Exception as e:
        return {"message": f"コマンドの実行中にエラーが発生しました: {str(e)}"}


@app.post("/terminate-process")
def terminate_process(request: TerminateRequest):
    pid = request.pid
    print("pid in terminate-process", pid)

    try:
        # プロセスを取得し、終了させる
        process = running_processes.get(pid)

        process.terminate()  # プロセスを終了させる(SIGTERMを送信)
        process.wait()
        del running_processes[pid]  # プロセスを辞書から削除

        # 成功の場合は1を返す
        return {"status": 1}
    except Exception as e:
        return {"status": -1}  # 失敗の場合は-1を返す

def monitor_process_status(pid):
    while True:
        if not is_process_running(pid):
            # プロセスが存在しない場合
            # メッセージを生成して出力(または送信)
            message = {
                "status": "Process Disappeared",
                "pid": pid
            }
            print("Process Disappeared:", message)

            # プロセス監視プロセスを停止
            ### del process_monitor_processes[pid]
            break

        # 一定の待機時間を設定して監視を継続
        time.sleep(10)  # 10秒ごとに監視

def is_process_running(pid):
    #try:
    #    os.kill(pid, 0)  # PIDを使ってプロセスにシグナルを送信し、存在を確認
    #    return True
    #except OSError:
    #    return False
    try:
        # ここの部分Windows特有のやりかたなので、後で、例の、os.kill(pid,0)を試してみること
        # tasklistコマンドを実行してプロセス一覧を取得
        result = subprocess.check_output(["tasklist", "/fi", f"PID eq {pid}"], universal_newlines=True)

        # 結果から指定したPIDの行を検索
        lines = result.splitlines()
        for line in lines:
            if f"{pid}" in line:
                return True

        # 指定したPIDが見つからない場合
        # ここに、停止時のメッセージ送信を組み込めばO.K.のはず   

        return False
    except Exception as e:
        return False





if __name__ == "__main__":
    # FastAPIサーバーを開始
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

2024,江端さんの忘備録

「働き方改革」に対して、「働き方改悪」というものもあるんじゃないか、と思うのです。

In contrast to "work style reform," there is also something called "work style deterioration."

私、ここ1年半の間の全ての平日と休日の間、一日も休んだことがありません。年末年始も、GWも、夏季休暇も。

 I have not missed a single day during all the weekdays and holidays in the last one and a half years. No New Year's holidays, no GW, no summer vacation.

時間の長短こそあれ、必ず、論文書いていますし、プログラミングをしていますし、データベースを作っています。

I am always writing papers, programming, and creating databases, no matter how long or short the working time.

『大学での研究は、労働ではない』と言われたら、もう仕方がないのですが。

If you say, 'Research at a university is not labor,' it cannot be helped anymore.

仕事と勉学の両立は「大変」ではありません ―― 「地獄」です。

Balancing work and study is not "hard" -- it is "hell.

-----

月1回でリリースしていたコラムは、今や完全休止状態です。

The column we used to release once a month is now wholly dormant.

コラムの執筆もも大変だったと思うのですが、コラムは、私の頭の中と計算結果を原稿の上にぶちまける、という作業でしたので、それなりに楽しかったと思います。

Writing the column was hard work, too, but it was fun because it was a process of putting my mind and the results of my calculations all over the manuscript.

多くの人に読んで貰って、色々な意見を貰えるのは、 ―― 腹の立つことも多いですが、嬉しいことも多いです。

To have so many people read it and get so many different opinions is a lot to be angry about, but it's also a lot to be happy about.

「コラムの執筆」と「勉学」は、同じようなものだと思っていたのですが、全く違いました。

I used to think that "writing a column" and "studying" were the same, but they were pretty different.

見積りを誤った、としか思えません。

I can only assume that the estimate was incorrect.

-----

"自分で選んだことをやっているなら、文句を言うな"

"If you are doing what you choose, don't complain."

"自分の"夢"の為にやっていることで、他人に迷惑をかけるな"

"Don't bother others with what you do for your 'dream.'"

これらは、絶対に反論できない定番の「世間のご意見」です。

These are standard "public opinions" that can never be refuted.

ただ、世間がどう言おうとも、この「自業自得の呪縛」―― 「サンクコストの呪い」で苦しんでいる人は、少なくない、と思っています。

However, no matter what the world says, many people suffer from this "curse of deservedness" - the "curse of sunk costs.

誰からも同情して貰えなくとも。

Even if I am not getting sympathy from anyone like me.

―― エジソン、バカ

2024,江端さんの技術メモ

指定されたコマンド "ping -100 kobore.net" をFastAPIのエンドポイントから実行し、それが終了したらAPIを正常に終了させるコードは以下のようになります:

test.py

import subprocess
import threading
import os
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class CommandRequest(BaseModel):
    command: str

@app.post("/execute-command")
def execute_command(request: CommandRequest):
    command = request.command
    # コマンドを非同期で実行
    execution_thread = threading.Thread(target=execute_command_async, args=(command,))
    execution_thread.start()
    return {"message": f"コマンド '{command}' の実行を開始しました"}

def execute_command_async(command):
    process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    process.wait()  # コマンドの終了を待つ
    print(f"コマンド '{command}' の実行が終了しました")
    # os._exit(0)  # FastAPIサーバーを終了させる

if __name__ == "__main__":
    # FastAPIサーバーを開始
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

$ uvicorn test:app --host 0.0.0.0 --reload

 

C:\Users\ebata\fastapi7>curl -X POST -H "Content-Type: application/json" -d "{\"command\": \"ping -n 20 kobore.net\"}" http://localhost:8000/execute-command

2024,江端さんの忘備録

今回の震災で、マスコミ各局のレポータの皆さんが、現地からの報告を行って頂いております(特にNHK)。

Reporters from various media outlets have been reporting from the disaster site (especially NHK).

大変お疲れ様でございます。

Thank you very much for your hard work.

辛い現場をご覧になって、心底疲れられているものと、推察申し上げます。

I assume that you are genuinely exhausted after seeing the painful scene.

そのような、お疲れのところ、このようなことを申し上げるのは、大変心苦しいのですが、それでも一言申し上げたいと思います。

It pains me greatly to say this at such a weary time, but I would like to say something nonetheless.

―― 生中継のレポートでスマホを見ながら、その文面を読み上げるだけのレポートなら、それ、スマホの「音声AI」に読み上げさせればいいんじゃない?

"If it's a live report and you're just looking at your phone and reading the text of the report, why not just have the "voice AI" on your phone read that out loud?"

-----

私は、災害現場のレポーターというのは、災害現場の代弁者と思っています。

I consider a disaster site reporter to be the disaster site's voice.

ならば、現場の状態を言語化して、御自分の目で見て、御自分で感じたことを、御自分の選んだ言葉と、御自分の肉声でで語って頂くことこそが、その任務だと思います。

Then, I believe that you must verbalize the conditions on the ground, to speak what you see and feel with your own eyes, in your own words of your choosing, and in your voice.

もちろん「レポーターは役者ではない」というのであれば、それはそれで納得できます。

Of course, if you say reporters are not actors, that makes sense.

それなら、『スマホの音声AI機能』を使って、報告して頂いて結構です。

Then, you can use the "voice AI function of your smartphone" to report back to us.

しゃべる時間も、予定通りピッタリと収まるでしょう。

The speaking time will also fit perfectly into the schedule.

-----

ただ、私たち視聴者は、そういうものを聞きたい訳ではないのです。

But we, the viewers, do not want to hear those things.

現場を直接見た人の、肚の底から絞り出される、生きている人間の感情が入りつつも、それでも冷静に客観的な報告を行いつづける ―― そういう姿を見て、私たちは被災者の皆さんの状況に寄り添えると思うのです。

The person who saw the disaster site firsthand, who squeezed out from the depths of their heart the emotions of a living person, and yet continued to report calmly and objectively - I believe we can be close to the tragedy of the disaster victims by seeing this.

私に、報道のプロのレポータとしての技と矜持を見せて下さい。

Please show me the skill and pride of being a professional press reporter.

リビングのテレビをつけたら、アナウンサーが、恐しい声で避難を叫んでいました ―― 息も切れんばかりの勢いで。

2024,江端さんの忘備録

NHK紅白歌合戦の視聴率が、史上最低の30%になったとのことで、批判されいるようです。

NHK's Kohaku Uta Gassen has been criticized for its viewership ratings, which are at an all-time low of 30%.

でも、私は、"30%"って、結構、凄い数値だと思っています。

But I think "30%" is a pretty impressive figure.

だって、全世代向けの歌をメインとする番組ですよ。

Because it is a program that focuses on songs for all generations.

全世代向け歌番組というコンテンツ縛りで、30%を叩き出すなんて、たいしたものだと思います。

I think it's quite a feat to hit 30% for an all-generational singing program.

ちなみに、過去のNHK紅白歌合戦の最高視聴率は、1963年(昭和38年)の視聴率81.4%だそうです。これは、恐るべき数値です。

Incidentally, the highest viewership rating for NHK's Kohaku Uta Gassen in the past was 81.4% in 1963 (Showa 38). This is a frightening figure.

-----

私は、NHK紅白歌合戦を楽しく試聴するには、ちゃんとした「訓練」が必要で、さらには「才能」も必要であると思っています。

I believe proper "training" and even more "talent" are required to enjoy listening to NHK Kohaku Uta Gassen.

普段から、ちゃんと歌番組を繰り返し試聴し、自分の中で熟成させるだけの時間が必要になります。

You will usually need to listen to the song program properly and repeatedly and only allow time for it to mature in your mind.

これは、自分の時間を、テレビなどの歌番組などのメディアに費すことができる、いわゆる『時間富裕層』にのみ許された特権です。

This privilege is reserved for the so-called "time rich" who can spend their time on TV and other media such as singing shows.

つまり、NHK紅白歌合戦は、時間富裕層という特権的階級であって、楽曲を楽しめる楽曲リテラシーを有する、エリート向けの番組なんですよ。

In other words, NHK Kohaku Uta Gassen is a program for the elite, the privileged class of time-rich people with music literacy, to enjoy the songs.

NHK紅白歌合戦と同じ時間帯に行っていた、N響「第9」演奏会とクラシック名演・名舞台と同じ位置付けになっているのです。

It is in the same position as the NHK Symphony Orchestra's "9th" concert, classic masterpieces, and famous performances, which were held at the same time as the NHK Kohaku Uta Gassen.

つまりクラッシック音楽を楽しむ為には、クラッシック音楽のリテラシーが必要となるように、NHK紅白歌合戦を楽しむ為には、NHK紅白歌合戦のリテラシーが必要となる ―― そういう時代になったのだと思います。

In other words, just as classical music literacy is necessary to enjoy classical music, NHK Kohaku Uta Gassen literacy is required to enjoy the NHK Kohaku Uta Gassen -- I think we are in such an era now.

-----

私、録画で、YOASOBIの「アイドル」だけ見ました(それしか、知っている楽曲がなかったので)。

On the recording, I only watched "Idol" by YOASOBI (since that was the only song I knew).

私がティーンエイジャだったころ、バックダンサーやっていたアイドルたちは、実にヘラヘラした踊りをしていました(だいたい歌が下手で聞いていられなかった)が、今のアイドルって、本当に凄いんですね。

When I was a teenager, the idols who were backup dancers were goofy dancers (and usually sang so badly that I couldn't even listen to them).

精錬されたパフォーマンスを楽しませて頂きました。

I enjoyed the refined performance.

アイドルという名のプロの矜持を見せつけられた気がします。

I feel like I was shown the pride of being a professional in the name of an idol.

この多様性を理解するためには、私自身が『アイドルの追っかけ』に参入しなければならない、と。

2024,江端さんの忘備録

震災になると、物資が来ないだけでなく、水もガスも来なくなります。

When the earthquake strikes, not only will supplies not come, but also water and gas will not come.

せめて情報だけでも入手したいと思っても、電気が来ないので、テレビは使えません。インターネットは言うまでもありません。

Even if you want to get some information, you cannot use the TV because there is no electricity. Not to mention the Internet. Smartphones are just a matter of time.

私は、一応、手回し発電機を入手しています。

I am getting a hand-cranked generator.

残った情報取得手段は、ラジオくらいですが、数年前に購入したラジオは、多分、電池から液漏れを起こしていて、動かなくなっています(あれは、定期的にスイッチを入れないと、ダメなものなのです)。

The only remaining means of obtaining information is a radio. Still, the radio I bought a few years ago has probably stopped working because the batteries are leaking (that thing is no good unless you turn it on regularly).

しかし、電源不要で、半永久に動き続けるラジオというものがあります。

However, some radios do not require a power source and work semi-permanently.

「ゲルマニウムラジオ」です。

"Germanium Radio."

受信アンテナからのラジオ波をゲルマニウムダイオード(整流器)を使用して検波し、それによって音声信号を取り出します。つまり、電源供給が不要で、単にアンテナとスピーカー(またはヘッドフォン)を接続するだけで動作します。

Radio waves from the receiving antenna are detected using a germanium diode (rectifier), extracting the audio signal. This means no power supply is required; simply connecting the antenna and speakers (or headphones) is all that is needed to operate.

基本的には検波が簡単なAM放送に使われますが、災害情報は、現時点ではNHKラジオ放送だけが頼りです。

It is used for AM broadcasts, which are easier to detect, but NHK radio broadcasts are the only reliable source for disaster information.

(ちょっと驚いたのですが、無電源のFMラジオを試している方がいらっしゃるようです)

(I was surprised that some people are trying out the powerless FM radio.)

私がNHK受信料を支払っている理由の一つには、この「災害情報インフラへの継続的投資」があります。

One of the reasons I pay NHK subscription fees is this "ongoing investment in disaster information infrastructure."

個人的な見解ですが、我が家のNHK受信料の支払いは、ある種の保険料であって、災害大国日本では、十分に『元が取れている』と思っています。

In my opinion, the NHK subscription fee paid by my family is a kind of insurance premium, and in Japan, a disaster-prone country, I believe it is well "paid for."

-----

ゲルマニウムラジオを製品化して販売した売れるんじゃないかな、と思っているのですが、見つけられていません。

I think a Germanium radio could be commercialized and sold, but I have not found one.

(子どもの科学向けのキットがありますが、ちゃんとパッケージ化された製品は見つかりません)。

(There are kits for children's science, but I can't find an adequately packaged product.)

まあ、あまり利益が出せそうにはないのですが。

Well, it is not going to be very profitable.

私なら、そのラジオを、天井の火災報知器の横に貼りつけておきます。

I would stick that radio following the fire alarm in the ceiling.

-----

そういう訳で、私、NHKラジオ第1・第2の統合は良いと思っているのですが、FM局への全転換は、よくよく考えた方が良いと思っています。

Integrating NHK Radio 1 and 2 is a good idea, but the total conversion to an FM station should be well thought out.

もう一度、あの日の恐怖を思い出してみましょう。

 

 

2024,江端さんの忘備録

先日嫁さんと話していたのですが、私は世間の人とは若干価値観が違うところがあるようです。

I was talking to my wife the other day, and it seems I have slightly different values than the rest of the world.

(1)自分より背の高い女性とか低い女性とか、そういうことを考えたことがない

(1) I've never considered women taller or shorter than me.

以前から申し上げている通り、私の恋愛対象の第一印象の価値基準は「自分の好みの顔」です。

As I have said before, my value criterion for first impressions in a relationship is "the face I like."

但し、世間の多数によって認定されている"美人"というものとは違うようです。

However, it seems this is not the same as the "beauty" most public recognizes.

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

(2)事故物件(自殺者や殺人事件があった借家等)は、採否の判断基準にならない

(2)Accidental properties (e.g., houses that have had suicides or murders) are not a criterion for acceptance or rejection.

私は、いわゆる、霊魂やお化けの存在を否定していません。むしろ、個人的には『存在していて欲しい』と思っている方です。

I do not deny the existence of so-called spirits or ghosts. Instead, I am one who 'wants them to exist.

自分の五感で確認したいし、可能なら「場」の観測をさせて欲しいと思っています。かなり真剣に。

I want to confirm them with my senses, and if possible, I would like to be allowed to observe the "place." Quite seriously.

ただ、エネルギー保存法則的には、質量を有しないモノが、現実世界に与える影響は非常に小さいと思うので、日常生活に支障を与えることは、かなり難しいだろう、と考えているだけです。

From the point of view of the law of conservation of energy, I think it would be pretty difficult for things without mass to interfere with our daily lives because their impact on the real world would be minimal.

そもそも、「見えなくても存在するもの」は、世の中に腐るほどあります。重力場、電磁場などです。

To begin with, there are plenty of "things that exist even if you can't see them" in the world. These include gravitational fields, electromagnetic fields, etc.

ぶっちゃけ、私は、霊魂やお化けより、量子力学の方が怖いです(本当)。

I am more afraid of quantum mechanics than I am of spirits and ghosts (really).

逆に、事故物件は、安く借りられるそうなので、これは私には福音です。

On the other hand, I hear that accidental properties can be rented at a discount, which is gospel to me.

(3)インテリア、エクステリアへの興味が希薄

(3) Lack of interest in interior and exterior design

私は、徹底した機能主義者なので、美醜や意匠(デザイン)に、あまり興味がありません。

I am a thorough functionalist, so I am not interested in beauty, ugliness, or design.

静かに高速にスマートに走る高級車なんぞに、1mmも価値を感じられません。

I don't feel a millimeter of value in a luxury car that runs quietly, fast, and smartly.

エンジンが設置された位置から、異音や異常な振動を感じられるような、古くて、壊れかけた車の方が好きです。

I prefer older, broken-down cars where I can hear unusual noises and feel abnormal vibrations from where the engine is installed.

自動車の構造を体感できるからです。

This is because I can experience the structure of an automobile.

ただ、マーケットにおいて、「機能」が「意匠(デザイン)」に負けることは、思い知っています。

However, I know that "function" loses out to "design" in the marketplace.

視覚に訴える媒体(ここでは「デザイン」という)のパワーは恐るべきものがあります。

-----

なんとなく思い出したので、書き出してみました。

I remembered it, so I wrote them down.

2024,江端さんの忘備録

今回の地震の第1報で、私の中に最初に出てきた記憶が「スキップとローファー」でした。

The first memory that came to my mind at the first report of this earthquake was "Skips and Loafers."

今回の被災地には、私の親戚も思い当たる友人もいないのですが、それと同等、あるいはそれ以上に、コミックの登場人物を現在被災している方々に重ねて、思いを馳せる ――

I have no relatives or friends in the disaster area; however, I come to overlap the characters in the comic and the people who are currently suffering from the disaster.

これは、不謹慎なことではないと、私は思う(そう信じる)。

This is not inappropriate, I think (and believe).

『自分が何をしなければならないか、ようやく気がついた時、それは、非常に小さくて基本的なものであった』

2024,江端さんの忘備録

世界的に有名なアルゴリズムの改良版を考えていました。

Last night, I contemplated an improved version of the world-famous algorithm, which I believe is the most popular and effective.

しかし、先行研究を調べても、私の考えと同じん内容の論文が出てこなくて、不思議に思っていました。

However, I wondered why I could not find any papers describing the same ideas as mine when I checked the previous studies.

―― もしかして、私が世界初?

"Perhaps I am the first in the world?"

もしそうなら、『これで、1本(の論文)稼げた!』てなことを考えていました。

If so, "Now I've earned one (thesis)!" I thought to myself.

-----

まいったなぁ。

Oh, man.

これから、『江端法』なんて名前が付くアルゴリズムが世界で使われるようになるのかなぁ。

I wonder if algorithms with names like the "Ebata Method" will be used.

自己紹介の時に、「あの『江端法』の江端です」なんて、言わなくちゃならないのかなぁ。

I wonder if I have to say, "I am Ebata of that 'Ebata Method'" when I introduce myself.

偉そうに聞こえないように、言い方をちょっと工夫しなければ。

I have to be a little creative in how I say it so that I don't sound like a pompous ass.

などと考えながら、コーディングをしていたのですが、

I was coding, thinking about things such as the above.

『あれ? コスト値が状態に対して変動的であったとしても、従来法がそのまま適用できるんじゃないか?』

'Huh? Even if cost values were variable for the state, wouldn't the conventional method still apply?'

と気がついたのは、朝の5時でした。

I realized that it was 5:00 in the morning.

-----

1時間を稼ぐのに、ゼーゼー言っている最中に、この「頭脳をフル回転させながら、失なった無意味な数時間」は ――

While heaving to earn an hour, these "meaningless hours lost while racking your brains at full speed"--

死ぬほど痛い。

Hurts to death for me.

 

時間のない中での、こういう一日は ―― 本当に痛い。