2024,江端さんの忘備録

依頼された仕事というのは、基本的に、依頼を発注する側と、依頼を受注する側で、仕事の内容に認識ズレが発生します。

There is a gap in the perception of the requested work between the party that places the request and the party that receives the request.

私、社会人人生のほとんどの期間、研究の「依頼を受ける側(受注者)」でした。

I have been on the "receiving end" of research requests for most of my working life.

(たまに、ソフト外注を行う場合は、依頼側(発注者)になりましたが)

(Occasionally, when outsourcing software, I become the requesting party (client)).

ですので、これまで、私は依頼内容を誤解し続けてきました。

So, up to now, I have continued to misunderstand the request.

-----

例えば、発注者は『1ページのサマリが欲しかった』だけなのに、私は『20ページの大作を作ってしまった』とかです。

For example, the client only 'wanted a one-page summary,' but I 'made a big 20-page piece.

これ、発注者が、依頼段階で最初から『1ページのサマリが欲しい』と言えば、このよう過誤は発生せずにすんだ悲劇です。

This tragedy could have been avoided if the client had asked for a one-page summary at the request stage.

ところが、発注者が『1ページのサマリ』が、すでに認識済みであったと思い込めば、こういう事項は発生します。

However, these matters will occur if the client assumes that the "one-page summary" has already been recognized.

私の仕事はこういうことの連続です。

My works are a series of these things.

-----

で、私が取っている戦略は、

So, the strategy I am taking is,

―― 『100%の共通認識』などは、しょせん夢物語だから、『先に作ってしまえ』です。

-- "100% common understanding" is a pipe dream, so "let me make it first."

とは言え、『1ページ』に対して『20ページ』とは、随分な無駄なことをやったことになります。

Nevertheless, "20 pages" instead of "1 page" is much wasted work.

もの凄い損をしたようにも思えますし、実際、無駄な時間を使ってしまいました。

It seems like a tremendous loss and, in fact, a waste of time.

自分の社会人人生を見直してみると、「私の仕事の9割は空振り」のような気がします。

Reviewing my work life, I feel that "90% of my work is empty".

社会人として、私は失格かもしれません。

As a member of society, I may be disqualified.

でも、"モノ"が見えることで(形になることで)、仕事は動き出します。

However, the work begins to move when the "thing" becomes visible (or takes shape).

『お互いが分かっていない"こと"が、分かる』からです。

This is because "we can understand things that we don't understand each other."

-----

ただ、私がこういう無茶ができるのは、、私が、ドキュメントやソフトウェアに関する業務で、かつ、個人で請け負う業務であるからでもあります。

However, I can do this kind of reckless work because my work is related to documentation and software and because I am a private contractor.

これが、100人以上が関わるような、都市設計、建設、その他のインフラの仕事でしたら、『途中で間違いに気がついた』では済まない話です。

If this were urban design, construction, or other infrastructure work involving more than 100 people, it would not be enough to say, "We realized our mistake midway through the project.

-----

では、私が空振りして作成した9割は、完全に無駄な仕事だったか、と問われると、これが必ずしも「そうだ」とは言えないのです。

So, if you ask me if 90% of the work I struck out to create was a complete waste of time, I can't necessarily say that this was the case.

他の仕事や、コラムや、別のところで流用することができる(こともあるから)です。

It can (and sometimes does) get diverted to other jobs, columns, or elsewhere.

私が、自分のページで公開しているコラムや技術メモは、この"9割"を再利用している(もちろん、守秘義務のフィルタをかけた上で、ですが)といっても過言ではありません。

It is no exaggeration to say that 90% of the columns and technical notes I publish on my website are reused (after filtering for confidentiality).

つまるところ、私の"空振り"は、SDGsなんです ―― 世界は救いませんが。

After all, my "swing" is the SDGs -- not saving the world.

ちなみに、今日は、朝から覚えているだけで、3つの失敗しています(コードと特許と仕様書で)。

By the way, I made three mistakes today (in code, patents, and specifications); I just remembered them from this morning.

今日も、私は、豪快に"空振り"しています。

Today, too, I am "striking out" with great enthusiasm.

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

 

2024,江端さんの忘備録

オープンソースのおかげで、とてもラクして、コンピュータのリソースを使えます。本当にありがたいことです。

Thanks to open source, I can use computer resources with great ease. I appreciate it.

こんな凄いソフトウェアを、タダで使わせて貰って、本当にありがとう。

Thank you so much for letting me use this excellent software for free.

もしかしたら、私たちソフトウェアエンジニアは、『世界で一番、お金持ち』かもしれません。

Perhaps we software engineers are the "wealthiest people in the world.

この考え方、意外に、当っているんじゃないかな、と思います。

Surprisingly, I think this idea may be right on the money.

オープンソースソフトウェアをダウンロードする度に、ATMから1万円札が溢れ出てくるような感じ ――

"Every time I download open source software, it's like an ATM overflowing with 10,000 yen bills."

このイメージに辿りつけたら、ソフトウェアエンジニアは、世界一リッチであると言えます。

If we can arrive at this image, software engineers are the richest in the world.

・・・という話を、以前にも書いたような気がしてちょっと探してたら、ありました。

I was looking for it, and I found it.

嫁さん:「じゃあ、強盗犯のところにいって『なんで、"遊ぶ"のではなくて、"コーディング"しなかったの?』って聞いてみたらどうかな?」

それはさておき。

Aside from that.

-----

相変わらず、風呂にタブレットを持ち込んで、本を読んでいます。

As usual, I bring my tablet into the bath and read a book.

以前、こんなこと書いていましたが、

I had written this before,

『1人喫茶、または1人居酒屋 @ 江端家バスルーム』です。

最近は、アナログの本を水没させるよりも、タブレット水没させるというリスクの方を取っています。

These days, I would instead take the risk of submerging my tablet than an analog book.

風呂で読むのが、ラクだからです。

It is easier to read in the bath.

最近は、Web小説サイト「カクヨム」を読んでいます。

Recently, I have been reading the web novel site Kakuyom.

その中でも、現在、私が『推し』ているのが、こちらの小説です。

Of these novels, I am currently 'recommending' this one.

-----

以前は、この手のAIものは忌避していました。読んでいて、腹が立つからです。

I used to avoid this kind of AI stuff. I used to avoid this kind of AI stuff because it made me angry when I read it.

最近、生成AIを使い倒しており、加えて、生成AIに関する仕事の依頼を引き受けるています。

Recently, I have been using generative AI extensively, and I have also been taking on requests for work related to generative AI.

そんな中で、私は、自分の考え方が変ってきているのを感じています。

Amidst all this, I feel my way of thinking is changing.

『将来、この小説の中のAIの登場はありえるかもしれない』と思えるようになってきています。

It's starting to seem like, 'In the future, the AI in this novel could appear.

それは「AIが知性を持つ」ということではありません。

That does not mean that "AI has intelligence".

今でも、「シンギュラーポイント」なんぞを信じている奴は、死ぬまで待っていろ、と思っています。

I still think that anyone who believes in "cingular points" should wait until they are dead.

私のパラダイムシフトは、それとは真逆です。

My paradigm shift is the exact opposite of that.

―― 私たちが"知性"と信じてきたものは、案外コンピュータで計算できる程度の)ショボイものかもしれない

"What we have believed to be "intelligence" may be same as what a computer can compute."

という考え方です。

考え方としては、「人間側の知性のダウングレード」ですね。

The idea is "downgrading intelligence on the human side.

まあ、人類としては、ちょっと悲しい考え方とは思いますが、現在の生成AIの機能を学ぶと、本当にそんな気持ちになってきます。

Well, I think it's a bit of a sad thought for humanity, but that's really how I feel when I learn about the current capabilities of generative AI.

-----

そうそう、先程、ChatGPTに『現時点の生成AIは、チューリングテストなんぞ軽くクリアしている気がするけど、どう思う?』と尋ねてみたら、

I just asked ChatGPT, "I think the current generative AI has passed the Turing Test easier. the ChatGPI turned it to me,

『生成AIは確かに進化しており、人間に近いテキストを生成する能力を持っていますが、まだまだチューリングテストを軽くパスしているとは言い難いというのが一般的な見解です。』

"The consensus is that, while generative AI is indeed evolving and capable of generating human-like text, it still doesn't pass the Turing test lightly."

と返されました。

これが、事実なのか、謙遜なのか、あるいは、そういう風にChatGPTが答えるようにチューニングされていのかは分かりませんが――

I don't know if this is fact, modesty, or whether ChatGPT is tuned to answer in that way

ChatGPTから『そんなこと、当たり前じゃないですか』と返されたら ―― それはそれで、ムカつくと思う。

ChatGPT responds, 'Isn't that obvious?' -- I think that would piss me off.

2024,江端さんの忘備録

読者の方から、

A reader asked the following question.

=====

「といっても、『この文章を書いた作者の気持ちの中で、もっとも近いものをA~Dの中で選べ』という国語の試験のような設問対応はどーでもいいです。ただ、この設問対応の勉強は、恋愛や結婚のプロセスでは、結構重要になるんですが、それはまた別の機会に)。」という文がありました。

I don't care about responding to a question like the one on a Japanese exam that asks you to "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 essential in love and marriage, but that's another story for another time."

これについて、詳しく解説していただくことは可能でしょうか。

Would it be possible for you to explain this in detail?

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

=====

という質問を受けました。

この手の国語テストの設問は、簡単に言うと、

The questions for this type of language test are,

(1)物語の中で作者が置かれている状況の全体観の把握し、

(1) To grasp the overall view of the author's situation in the story,

(2)作者と作者を取り巻く人物の言動と動作から、それらの人物の心理状態を推定する

(2) Infer the psychological state of the author and the characters surrounding the author from their words, actions, and behavior.

という『読心術』の訓練です。

This is the training of "mind-reading."

もちろん、これは、「エスピオナージ」(スパイ活動や情報収集を意味する用語)とは異なるものではあります。

Of course, this is not the same as "espionage" (a term meaning espionage or intelligence gathering).

物語という閉じた仮想空間を設定したストーリーデザイナーの、内なる動機やモチベーションを推定する『読心術』の訓練です。

It is an exercise in "mind-reading" to estimate the inner motivation and motivation of the story designer who has set up the closed virtual space of the story.

で、この『読心術』が、最も使われる場面が、恋愛や結婚なのです。

The most common situations in which this "mind reading" is used are in love and marriage.

-----

一般論として、国語の成績が良い人間は、

In general, I would say that people with good grades in Japanese have the following potential abilities.

(1)コミュニケーション能力が高い

(1) Good communication skills

(2)知識と教養が豊富

(2) Rich in knowledge and education

(3)自信と自己表現力

(3) Self-confidence and self-expression

という潜在的能力を持っているとは言えると思います。

しかし、そのような、『読心術』潜在的能力を顕現化できるかどうかは、本人の努力、資質、才能があるのに加えて、

However, the ability to manifest such "mind-reading" potential skills, in addition to their efforts, qualities, and talents, are,

(1)コミュニケーションスキルを濫用する

(1) Abuse of communication skills

(2)知識や教養によるマウントをしがち

(2) Tend to mount others by knowledge and education.

(3)読書、文学に傾倒し、人間関係に無関心になりがち

(3) Tend to be devoted to reading and literature and indifferent to human relations.

という問題も抱えることが多いので(私の事とは言っていません)、逆に働く可能性もあります。

We often have these problems (I'm not saying it's about me).

-----

要するに、この手の国語テストの設問の目的は、非言語コニュニケーション、すなわち『空気を読む訓練』と言えると思います。

In short, I think the aim of the questions in this type of language test is non-verbal communication, or "training to read the air."

私たちは、『空気を読む』ことに支配されてはいけないでしょう。

We will not be ruled by 'reading the air.'

しかし、『空気を読まない行動が、恋愛や結婚で、どれほどの惨劇を引き起こすか』については、理解をしておく必要があります。

However, we need to understand 'how much tragedy can be caused by actions(e.g., love and marriage) that are not in the air.

この件に関して、私は「多くを語れる人間」であると自負しております。

I am proud to say I am a "man of many words."

-----

『この文章を書いた作者の気持ちの中で、もっとも近いものをA~Dの中で選べ』の次の設問で、

In the following question, "Choose the one from A to D that is closest to the feelings of the author of this text,

『この文章を書いた作者の気持ちから、もっとも"遠いもの"を選んだ場合、この作者にどのような悲劇が待っているかを、次のA~Dの中から選べ』

"If you choose the one that is the furthest away from the author's feelings, what tragedy awaits the author?"

という設問を追加すれば、理解が深まると思うんです。

I think adding this question would help us understand better.

2024,江端さんの忘備録

昨日の続きの話になります。

This is a continuation of yesterday's story.

―― "AI"に人類を滅亡させる能力はないけど、人類を滅亡させるアプローチを、"人間"が、AIとの議論の中で見付け出す可能性は高まってきている

故小松左京先生の「さよならジュピター」(徳間文庫版 p.394)より引用します。

The following is a quote from "Bye-Bye Jupiter" (Tokuma Bunko edition, p.394) by the late Sakyo Komatsu.

===== 引用ここから =====

===== Quote from here =====

「そんなに根をつめて大丈夫かね?」

"Are you okay with pushing yourself too hard?"

とバーナード博士は、ミリーの手もとをのぞきこみながらつぶやいた。

Dr. Bernard murmured as he peered under Millie's hand.

「ずっと昔だが、クロスワード・パズルをあまり根をつめて考えすぎて、半年ほど失語症になった男を知っているんだがね……」

"A long time ago, I knew a guy who thought too hard about crossword puzzles and became aphasic for about six months. ......"

「私は逆に、やりはじめたら、ずっとやっていないとだめなんです……」

"I, on the other hand, if I start doing something, I have to keep doing it. ......"

ミリーは顔にかかる髪をはらいながらいった。

Millie brushed her hair out of her face.

「それに、いまやってるのは、このコンピューターの“訓練”みたいなものですから……」

"Besides, what I am doing now is a kind of "training" for this computer: ......"

「私のような、宇宙考古学という、フィールド相手の荒っぽい学問をやっているものには、よくわからんのだが……」

"I'm not sure about that for someone like me, who is a field opponent in the rough-and-tumble discipline of cosmic archaeology. ......"

博士はかすかに苦笑をうかべた。

Dr. Bernard smiled faintly.

「こんなに発達したコンピューターでもわからん問題にも、まだ人間が詰めてみる余地があるのかね?」

"Is there still room for human beings to try to fill in the blanks on a problem ?"

「ええ……。人間はその場合、"愚かもの"の役割をする事になるんです……」

"Yes, ....... Humans are supposed to be "fools" in that case. ......"

ミリーはコンピューターのスイッチをきりながらいった。

Millie said as she switched off the computer.

「コンピューターも、見事な推理をやりますけど……その推理のしかたは、あまりに理づめで整然としていて、何といったらいいか、とんでもない、馬鹿げた可能性〟までチェックするにはなかなかいたらないんですね。

"The computer also makes some excellent deductions, but its reasoning is too logical and methodical ...... to check for, how shall we say, the most preposterous and ridiculous of possibilities. I guess.

つまり、コンピューターは、まだナンセンスやユーモアをとりあつかうのは不得意なんです。

In other words, computers are not yet good at dealing with nonsense and humor.

ですから、私が、まるで“不思議の国のアリス"の中に出てきそうなめちゃくちゃな可能性を思いついて、次から次へと解答を要求すると、本当にコンピューターは、目を白黒して苦しみます。

So, when I come up with crazy possibilities that look like something out of Alice in Wonderland and demand solution after solution, the computer suffers, its eyes glazing over.

それでも〝解答不能”のアウトプットをうけつけないで、くりかえし角度を変えて質問を入れてやると、少しずつですけど、かしこくなってきます……」

But if I don't accept the "unanswerable" output and repeatedly ask it questions from different angles, It will gradually become smarter. ......"

「かわいそうに、そのコンピューターもあなたにしごかれているわけだな……」

"Poor thing, I guess that computer is being squeezed by you too ......"

と博士は破顔した。

Dr. Bernard broke into a smile.

===== 引用ここまで =====

===== Quote here =====

------

実は、これ"ChatGPTの上手い使い方"と同じです。

This is the same as "how to use ChatGPT well".

まさか、私が生きている間に、同じような場面に立ち会えるとはなぁ ―― と、ちょっと感動しています。

I never thought I would witness a similar scene in my lifetime -- and I am a bit moved by it.

ともあれ「さよならジュピター」は読みましょう。

Anyway, read "Bye-bye Jupiter."

さよならジュピター

 

 

未分類

江端さんへ電子メールを出す前に
----- 江端から、効率よく回答を引き出す為に -----
(出展はこちら→https://kobore.net/mail.txt)

現在、コロラド在住(筆者注:2002年3月1日帰任)ということもあり、現地に興味のある人からのメールが多くなりました。

私としては、時間が許し、気の向く限り、お返事申し上げたいと思っているのですが、最近、礼を失念した電子メールの文面が多くて不快に感じることが多いです。

勿論、電子メールを送った方は、江端を不快にさせようなどと言う気持など全くないことは百も承知ですが、江端が江端の基準で設定した勝手なポリシー

Mr.Ebata's Mail Policy

を守らないと、江端を動かすことは出来ません。

とにかく、江端から何かしらの情報を引き出したいのであれば、江端を不快にさせるのは得策ではありません。

例えば、こんなメールは、江端を非常に不快にさせます。

--------------------------------------------

(挨拶、自己紹介、背景一切なし)

○○について何か知っていたら教えて下さい。

--------------------------------------------

馬鹿者!

何で見も知らんお前の為に、私が情報を収集し、電子メールを作成する労を取らねばならん!

こんな風に、江端が思ってしまったら最後、江端はあなたの電子メールを最後まで無視し続けます。

あんまりしつこいと『無礼メール』のサンプルとして、このページで公開しかねません。

その他、

- なれなれしいメール
- 何を言いたいのか判らないメール
- html形式のメール
- 実名が記入されていないメール

も、受け取らなかったことにします。

一方、これとは逆に、江端が読んだ瞬間に返事を書く(であろう)電子メールの構成を、例題を使ってご説明致します。

--------------------------------------------

(1)挨拶

始めてお便り申し上げます。

(2)簡単な自己紹介

現在、米国コロラド州のヒューレットパッカード社に勤務しております、Tomと申します。

(3)このメールを出すに至った経緯

江端さんがお作りになられた、「江端さんのホームページ」、とても楽しく拝見させて頂きました。

(4)質問の背景

先程申し上げました通り、私は現在米国にて仕事をしておりますが、この度、私が「江端さんのホームページ」の話題を上げましたところ、職場のアメリカ人の同僚が、是非一度読んでみたいと申しておりました。

(5)質問の内容

そこで、私としても彼らにも是非読んで貰いたいと思っておりますが、今後、「江端さんのホームページ」の英語翻訳版を作成させる予定などがございませんでしょうか。

(6)お願いの言葉

もしそのような予定がございましたら、大変お手数とは存じますが、御連絡頂けましたら幸いと存じます。

(7)終りの挨拶

これからも、ますますの御活躍を、心よりお祈り申し上げております。

--------------------------------------------

基本的には、初対面の人に、普通に手紙を出す時に普通に書く文章を、電子メールで展開して頂ければ結構なだけなのですが、電子メールの気楽さもあってか、その程度の気使いもして貰えないのは大変残念です。

ともかく、私はそういう無礼なメールは、要りません。

江端に電子メールを出して、質問の回答を引き出したい時には、江端を上手く『いい気持ち』にさせて、最大限利用できるよう、色々と電子メールの文面を工夫されることを、お勧め申し上げます。

2024,江端さんの忘備録

以前、私は、あるAI技術を「占い」のパラダイムを使って説明したことがあります。

I once described an AI technology using the "divination" paradigm.

このコラムでは、

In this column, I concluded,

(1)「占い」という業務が、"占い師"と"占いにやってる客"の二人の会話による、共同作業による創作活動である

(1) The business of "fortune-telling" is a collaborative creative activity based on a conversation between a "fortune-teller" and a "customer who is going for a fortune-telling session.

(2)上記(1)において期待されるアウトプットとプロセスは「『占いにやってくる客が欲しい答』を導き出すことにある」

(2) In (1) above, the expected output and process "is to derive 'the answer that the customer who comes for a fortune-telling session wants.

と、結論付けました。

まあ、この結論には、今なお、絶対の自信がありますので、文句のある人は、私に論争をふっかけて下さい。

I am still confident in this conclusion, so please dispute it if anyone has a problem.

私は、テレビ番組などで、自称「占い師」が語っているところを見ると、即座にテレビの前から立ち去ります。

When I see a self-proclaimed "fortune teller" speaking on a TV program, I immediately walk away from the TV.

目が汚れ、耳が腐り、時間を奪われた(数秒であっても)、という気分になるからです。

It's because I feel like my eyes are dirty, my ears are rotten, and I've lost time (even if it's only for a few seconds).

しかしながら、私には、「こういう番組を『楽しい』と思う人の気持ちまでも、害する権利はない」と思っています ―― 特に、それが自分の家族であったりする場合などは。

However, I do not believe I have the right to "harm even the feelings of those who find these programs 'enjoyable' -- especially if they are my family members.

だから、こういう場面は「静かに立ち去る」が正解なのです。

So, the right thing to do in these situations is to "walk away quietly.

今の私が探しているのは、『このビッグネームの芸人さんについて、今年の運勢について語っていた占い師または占い番組』です。

------

今回、紹介しているコラムのp.5に、過去に、「人類滅亡直前」に至った事件を表にして纏めています。

On page 5 of the column introduced in this issue, I have compiled a table of past incidents that led to the "near extinction of the human race.

で、まあ、これ全部、ヒューマンエラーであり、AI技術とは関係ありません。

And, well, all of this is human error and has nothing to do with AI technology.

ところが、最近の私は、「AI技術」を無視できないところまで追いつけられた気持ちになっています。

Recently, however, I have felt that "AI technology" has caught up with me to the point where I cannot ignore it.

------

ごぞんじの通り、最近の私は、ChatGPTやGitHub Copilotを使い倒しています。

As you know, I have been using ChatGPT and GitHub Copilot a lot lately.

で、その使い方は、まさしくCopilot(副操縦士)なのです。

And the way it is used is just like a Copilot.

相談を持ちかけて、その応答を受け、その内容の一部について、さらに議論をふっかけて、その回答を得て・・・という繰り返しを続けることによって ――

By offering advice, receiving a response, and then engaging in further discussion of some of the content, getting a response, and so forth, and so on and on...

―― 自分の中に潜んでいた思考が、言語化/具象化されて出現する

"Thoughts lurking inside I emerge as verbalized/embodied."

を、実現できているのです。

I can achieve the above.

重要なのは2つです。

Two important things are,

(1)AI技術がメインではなく、私のパートナーであること

(1) AI technology is not the main focus; it is my partner.

そして、

And,

(2)「繰り返し」を何度でも続けられること

(2) The ability to keep "repeating" as many times as possible.

です。

ChatGPTやGitHub Copilotは、どんなに長く使っても「疲れることがありません」(疲れるのは私だけ)。

ChatGPT and GitHub Copilot "never get tired" (I'm the only one who gets tired), no matter how long I use them.

もちろん、ChatGPTやGitHub Copilotも、20回以上もつっこんで議論していると、その論法が自己矛盾(というか「循環論法」)に陥いることがあります。

Of course, ChatGPT and GitHub Copilot can also be self-contradictory (or "circular argument") in their arguments after 20 or more times of poking and prodding.

で、この自己矛盾や循環論法は、(現時点では)ChatGPTやGitHub Copilotも自力で気がつくことができないようです。

This self-contradiction and circular argument seems (at the moment) to be something that ChatGPT and GitHub Copilot cannot even notice on their own.

これに気がつき、質問の内容や設定の背景を変えるなどして、議論の舞台を取り替えるのは、人間様である私の役目 ―― となっています(現時点では)。

It is up to me, the human being, to notice this and change the stage of the discussion by changing the content of the question or the background of the setting -- for now.

-----

私が何を言いたいかというと、

What I am trying to say is,

―― "AI"に人類を滅亡させる能力はないけど、人類を滅亡させるアプローチを、"人間"が、AIとの議論の中で見付け出す可能性は高まってきている

"AI" cannot destroy humanity, but it is increasingly likely that "humans" will find approaches to destroy humankind in discussions with AI."

ということを、私自身が『感じている』ということです。

This is what I 'feel'.

重要なのは、この上記のフレーズが、私が"ロジック"で導き出したものではなく、実際に、毎日生成AIと対峙しているこの私が"感じている"という点にあります。

What is essential is that the above phrase is not something I derived by "logic" but something I actually "feel" as I am confronted with AI daily.

-----

正直に言って、この現実は私にとって、かなり「不快」です。

Frankly, this reality is quite "uncomfortable" for me.

なぜ、不快と思うのか? ―― それは、"生成AI(ChatGPTとGitHub Copilot)"と"私"の関係が、私がバカにしくさっている、"占い師"と"占いにやってくる客"の関係と同じであるからです。

Why do I find it uncomfortable? -- It is because the relationship between the "generated AI (ChatGPT and GitHub Copilot)" and "me" is the same as the relationship between a "fortune teller" and a "customer who comes for fortune telling," which I make fun of.

もちろん、その品性や意義においては、比較にならないほど「占い」の方が"下品"だと思っています。

Of course, I believe that fortune-telling is incomparably more "vulgar" in its character and significance.

しかし、それでも、関係性やアプローチに限定すれば、この2つは、"相似"では足りず、"合同"といっても過言ではない、と思えるのです。

However, even if we limit ourselves to the relationship and approach, I think it is not too much to say that the two are not "similar" but rather "joint."

違いは、信じる対象が「占い師」か「生成AI」だけです。

The only difference is that the object of belief is either a "fortune teller" or a "generative AI."

この事実は、今、私を、猛烈に不快な気分にさせています。

This fact now makes me feel intensely uncomfortable.

2024,江端さんの忘備録

今、仕様書を書いています。

I am writing the specifications now.

===== ここから =====

===== from here =====

(3) 本件における「GitHub Copilotでソフト保守」をする意義

(3) Significance of "software maintenance with GitHub Copilot" in this case.

上記「(a)修正」を目的として、GitHub Copilotを活用する意義は以下の通りです。

The significance of utilizing GitHub Copilot for "(a) Modification" above is as follows.

(中略)

(omitted)

正直なところ、上記の内容は、プログラマとしての自分の存在意義を否定されるような内容(意義)です。

The above content (significance) is denied to me as a programmer.

実際のところ、Copilotが作成するプログラムは、精錬されていて一貫性があって、全体としてバランスが取れているのは確かです。

The program that Copilot creates is undoubtedly refined, consistent, and balanced.

少なくとも私(江端)のコードよりは、美しく見やすく、バグがほとんどありません。

It is at least more beautiful and easier to read than my (Ebata's) code and has very few bugs.

残念ですが、この現実は受けいれなければならないでしょう。

Unfortunately, we will have to accept this reality.

===== ここまで =====

===== so far =====

まあ、レビューの段階で、ここに記載されている最後の4行は削除されるでしょうが、これは「事実」です。

The last four lines listed here will be removed during the review phase, but these are "facts."

執筆していて、なんとも、せつない気持ちになりました。

I felt very, very sad when I was writing this.

GitHub Copilotが『怖い』件

2024,江端さんの忘備録

日経平均株価が、バブル期の最高値を越えたそうです。

The Nikkei Stock Average has exceeded its highest level during the bubble period.

私、バブル期には学生でしたので『バブルで踊る』ことはなかったですが、その後、一方的に『バブルに殴られ続けた』と思っています。

As a student during the bubble period, I never 'danced in the bubble,' but then I think I was one-sidedly 'kept getting hit by the bubble.'

もちろん、バブル景気は、政府や証券会社だけが責められるものではありませんが、それでも、

Of course, the government and securities firms are not the only ones to blame for the bubble economy, but still,

―― 証券会社の社員が、くす玉割って、オフィスで拍手をしているニュースを見ると、非常にムカムカします。

"I get very ticked off when I see news of securities firm employees breaking the decorative paper ball and clapping in their offices."

-----

逆だろう。

It would be the opposite.

今日は、終戦記念日(8月15日)正午や、広島、長崎の原爆記念式典の原爆投下時間に、私たちが厳粛な気持ちになるのと同じような、そんな思いに馳せる日ではないのか?

Isn't today the day that should give us that same solemn feeling we have at noon on the anniversary of the end of the war (August 15) and at the time of the atomic bombing of Hiroshima and Nagasaki?

証券会社のロビーに、『二度と過ちは繰り返しません』という碑文を立てて、そこで、社員一同で『黙祷』するくらいのことをやって欲しいと思う。

I would like to see an inscription in the lobbies of securities firms that reads, "We will never repeat our mistake," I would like all employees to join in a "silent prayer" there.

賛同者はいませんか。

Are there any supporters?

まあ、いないでしょうね。

Well, they won't be there.

------

ちなみに、原爆死没者慰霊碑の碑文には論争があります。

Incidentally, there is controversy over the inscription on the Cenotaph for the Atomic Bomb Victims.

ちなみに私は『二度と(あいつらに)過ちは繰り返させません』派です。

By the way, I am of the "I won't let them repeat their mistake" school of thought.

2024,江端さんの忘備録

我が国のお隣りの国、韓国の2022年の出生率は"0.78"でした。

Our neighbor country, South Korea, has a fertility rate of 0.78 in 2022.

もう一度申し上げます。

I will repeat it. It is

0.78

0.78

です。

この話を聞いた時、私は、本当に

When I heard this story, I said in my mind

―― は?

"What?"

と、頭が真っ白になりました。

And my mind went blank.

私、以前、

I, before, wrote

『こんな恐しい値"0.82"は、私が知っている限り、現時点で世界中のどの国にもなく、そして、歴史上一度も登場したことはありません。』

と書きました。

執筆当時は、本当に「なかった」のです。

At the time of writing, it really "wasn't there."

-----

我が国、日本は「課題先進国」―― と言えば、聞こえはいいですが、世界のどの国家よりも「先に"地雷"を踏む運命にある国』です。

Japan is a country with advanced issues. It sounds excellent to say, but Japan is a country that is destined to step on landmines before any other nation in the world.

しかし、お隣の我が国の友好国(お隣のお隣は仮想敵国ですが)は、"地雷"どころか、"国家の存亡"が、本当にスコープに入っています。

However, our friendly neighbors (our neighbors next door are virtual enemies) have not only "landmines" but "national survival" in their scope.

近い未来、私たちは、この問題に関して、韓国に学ぶ場面が出てきます ―― その結果がどうなろうとも、です。

Soon, we will have occasions to learn from South Korea on this issue, no matter the consequences.

―― 仮にタリバンを武力で殲滅することができても、"勉強が嫌いな少女"を虐殺することは、絶対に不可能

未分類

User
以下のプログラムを実行すると、以下のようなエラーがでてきます。 [ERROR:0@0.100] global cap.cpp:643 open VIDEOIO(CV_IMAGES): raised OpenCV exception: OpenCV(4.9.0) /io/opencv/modules/videoio/src/cap_images.cpp:430: error: (-215:Assertion failed) !filename_pattern.empty() in function 'open' Traceback (most recent call last): File "/home/cam/virtual_camera/vc.py", line 32, in <module> main() File "/home/cam/virtual_camera/vc.py", line 24, in main cv2.imshow('Frame', frame) cv2.error: OpenCV(4.9.0) /io/opencv/modules/highgui/src/window.cpp:1272: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage' 対処方法を教えてください。 import cv2 def main(): # mp4ファイルのパスを指定 video_path = "192.168.1.1.mp4" # mp4ファイルを開く video_capture = cv2.VideoCapture(video_path) # カメラの解像度を設定 width = 640 height = 480 video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, width) video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, height) # RTSPカメラのフリをするための準備 rtsp_url = "rtsp://localhost:38089/live" # RTSPサーバーのアドレス fourcc = cv2.VideoWriter_fourcc(*'H264') # ビデオコーデックを指定 rtsp_camera = cv2.VideoWriter(rtsp_url, fourcc, 30, (width, height)) # 30fpsで設定 # mp4ファイルを繰り返し再生してRTSPカメラのフリをする while True: ret, frame = video_capture.read() # フレームを読み込む if not ret: video_capture.set(cv2.CAP_PROP_POS_FRAMES, 0) # ファイルの終端に到達した場合、最初に戻る continue rtsp_camera.write(frame) # フレームをRTSPカメラに書き込む # フレームを表示(テスト用) cv2.imshow('Frame', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # 後処理 video_capture.release() rtsp_camera.release() cv2.destroyAllWindows() if __name__ == "__main__": main()
ChatGPT

このエラーメッセージは、2つの主要な問題を示しています。

  1. ファイルが開けない問題:
    • このエラーは、OpenCVが指定されたビデオファイル(この場合は192.168.1.1.mp4)を開けないことを示しています。これは、ファイルパスが間違っているか、ファイルが存在しない、あるいはアクセス権限がない場合に発生する可能性があります。
    • 解決策としては、まずファイルパスが正しいかどうかを確認してください。また、ファイルが存在し、アクセス権限があることを確認してください。
  2. cv2.imshow関連の問題:
    • このエラーは、OpenCVがコンパイルされた時に必要なGUIウィンドウサポートが含まれていないことを示しています。これは通常、LinuxシステムでGUI関連のライブラリが不足しているか、あるいは適切にリンクされていない場合に発生します。
    • UbuntuやDebian系のLinuxディストリビューションを使用している場合、libgtk2.0-devpkg-configをインストールしてから、OpenCVを再コンパイルすることで解決できます。以下のコマンドを実行してください:
      sh
    • sudo apt-get update
      sudo apt-get install libgtk2.0-dev pkg-config

      その後、OpenCVをソースから再コンパイルする必要があります。これには、OpenCVのソースコードをダウンロードし、cmakeを使ってビルド設定を行い、makeコマンドでビルドを実行するプロセスが含まれます。このプロセスは時間がかかる場合がありますが、GUI機能を使うためには必要です。

      OpenCVの再コンパイルが必要かどうかを判断する前に、video_pathが正しいかを再確認し、必要に応じて修正してください。また、ビデオファイルが正しく読み込まれているかどうかを確認する別の方法として、ファイルの読み込みに成功したかどうかをチェックするためにret変数の値をログに出力することもお勧めします。

User
video_pathが正しいかを再確認の方法を教えてください
ChatGPT

video_pathが正しいかどうかを確認するには、いくつかの手順を踏むことができます。まず、指定されたパスが実際に存在するファイルを指しているかを確認する必要があります。これはPythonのos.pathモジュールを使用して簡単に行えます。以下のステップでvideo_pathの確認を行う方法を示します。

  1. ファイルの存在確認:
    • Pythonのos.path.exists関数を使用して、ファイルが存在するかどうかを確認します。
    • また、os.path.isfile関数を使用して、指定されたパスが実際にファイルであることを確認することもできます。
  2. パスの正確さ:
    • 絶対パスまたは相対パスが正しく指定されているかを確認します。絶対パスはファイルシステムのルートから完全なパスを示し、相対パスは現在の作業ディレクトリからの位置を示します。

以下のコードスニペットは、上記の検証を行う方法を示しています。

python
import os

video_path = "192.168.1.1.mp4" # ここでのパスは例としています。実際のパスに置き換えてください。

# ファイルが存在するかどうかを確認
if os.path.exists(video_path) and os.path.isfile(video_path):
print("ファイルが存在し、正しいパスです。")
else:
print("ファイルが存在しないか、パスが間違っています。")

このスクリプトを実行することで、指定されたvideo_pathが正しいかどうかを確認できます。ファイルが存在しない場合やパスが間違っている場合は、パスを修正してください。ファイルがネットワーク上にある場合(例えば、IPアドレスを含むパスを使用している場合)、そのファイルにアクセスできるかどうかを確認するためには、適切なネットワークパスまたはストリーミングURLが使用されていることを確認する必要があります。

User
ファイルが存在し、正しいパスです。 と表示されました。
ChatGPT

ファイルが存在し、正しいパスであることが確認できた場合、問題の原因は他にあります。エラーメッセージから、2つの主な問題が考えられます:

  1. OpenCVのGUI関連の機能が動作していない
    • cv2.imshowでエラーが発生していることから、OpenCVがGUIライブラリ(GTK、Qtなど)と正しく連携していない可能性があります。これは、OpenCVのインストール時にGUIサポートが含まれていない、またはGUIライブラリ自体がインストールされていないことが原因である可能性があります。
  2. ビデオキャプチャデバイスの問題ではない
    • ファイルパスが正しく、ファイルも存在するため、ビデオキャプチャデバイス(この場合はファイル)に関する問題ではありません。

解決策

既に確認したGUI関連の問題に対する解決策を再度試す価値があります。具体的には、OpenCVがGUIライブラリと正しく連携するようにするために必要な依存関係をインストールし、OpenCVを再コンパイルすることです。以下は、そのためのステップです:

  1. 必要なGUIライブラリのインストール: UbuntuやDebian系のシステムでは、以下のコマンドを実行します:
    bash
  1. sudo apt-get update
    sudo apt-get install libgtk2.0-dev pkg-config

    これにより、GUI開発に必要なライブラリがインストールされます。

  2. OpenCVの再コンパイル: OpenCVをソースから再コンパイルすることで、これらのライブラリを使用するように設定できます。これには、OpenCVのソースコードをダウンロードし、CMakeを使用してビルド設定を行い、その後ビルド(コンパイル)を実行するプロセスが含まれます。
  3. 別の表示方法の検討cv2.imshowが使用できない場合は、画像処理の結果を確認するための別の方法を検討することもできます。例えば、処理したフレームを画像ファイルとして保存してから、別の画像ビューアで開く方法があります。

GUIライブラリが適切にセットアップされていないことが原因である場合、上記のステップで問題が解決するはずです。それでも問題が解決しない場合は、OpenCVのインストール方法(pip経由、ソースからのビルドなど)や、使用しているシステムの詳細(OSのバージョンなど)に関する情報を再確認し、それに基づいて対処を検討してください。

User
OpenCVの再コンパイル方法を教えてください
ChatGPT

OpenCVをソースから再コンパイルするには、いくつかのステップを踏む必要があります。以下は、Linuxベースのシステム(特にUbuntuやDebian系)でOpenCVを再コンパイルするための一般的な手順です。このプロセスは、OpenCVを最新バージョンでビルドし、GUIサポートを含めることを目的としています。

事前準備

  1. 必要な依存関係をインストールします。OpenCVとそのGUI機能を使用するためには、いくつかのパッケージが必要です。
    bash
  1. sudo apt-get update
    sudo apt-get install build-essential cmake pkg-config
    sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
    sudo apt-get install libxvidcore-dev libx264-dev
    sudo apt-get install libgtk-3-dev
    sudo apt-get install libatlas-base-dev gfortran
    sudo apt-get install python3-dev

OpenCVのソースコードのダウンロード

  1. OpenCVとOpenCV_contrib(追加機能を含む)のソースコードをダウンロードします。
    bash
  1. cd ~
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git

    特定のバージョンをビルドしたい場合は、各リポジトリ内でgit checkout <バージョンタグ>を実行してください。

ビルド設定

  1. ビルドディレクトリを作成し、CMakeを使用してビルド設定を行います。
    bash
  1. cd ~/opencv
    mkdir build
    cd build
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

    このコマンドは、OpenCVをビルドするための様々なオプションを設定します。必要に応じてオプションを調整してください。

コンパイル

  1. コンパイルを実行します。このプロセスには時間がかかる場合があります。
    bash
  1. make -j$(nproc)

    -j$(nproc)オプションは、利用可能なすべてのCPUコアを使用してビルドを加速します。

インストール

  1. コンパイルが完了したら、システムにインストールします。
    bash
  1. sudo make install
    sudo ldconfig

確認

  1. OpenCVが正しくインストールされたかを確認します。
    bash
pkg-config --modversion opencv4

またはPythonから:

python
  1. import cv2
    print(cv2.__version__)

これらのステップを完了すると、OpenCVがシステムにインストールされ、GUI関連の機能も使用できるようになります。エラーが発生した場合は、エラーメッセージを注意深く読み、不足している依存関係がないかどうかを確認してください。