2024年3月28日木曜日

今朝、FT8でスペインの局長さんとつながる

 2Fの窓からオンエアするときだけ、ホイップをつけているが、今日は天気も良く、50MHzのEスポも出るような情報がネットに出ていたので、試してみた。残念ながらEスポは受信できなかったが、何気なく14MHzのFT8を見ていたら見慣れないコール。50Wでコールしてみたらつながる。QRZサイトで調べたらなんと、スペインだった。初のヨーロッパとの交信成立でした。PSKReporterを見ると、確かに14MHzで日本とヨーロッパがつながっている様子がわかった。

2024年3月20日水曜日

ChatGPTも気づけなかったバグ

 private void dataGridView2_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
  A処理
    dataGridView2.Columns.Clear();
   B処理
}
このようなコードでは、エラーが起きてしまう。
以下のように2つにわけるとOkだった。
 private void dataGridView2_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
  A処理
}
 private void dataGridView2_Leave(object sender, EventArgs e)
 {
    dataGridView2.Columns.Clear();
   B処理
 }
どうやら、CellEndEditの中では、dataGridView2.Columns.Clear()はできないようになっている。まだ完全に編集が終わってない状態なんだろうと思われる。ChatGPTに聞いても、わからなかった。ChatGPTもまだ完全ではないようだ。

2024年3月19日火曜日

ChatGPTに累積の処理を聞いてみた。

 Q:c#のLINQで、LIST<obj>について、objのあるフィールドをもとにして、ソーティングします。その後、順次、2つフィールドを見て、累積を計算したものを、別のフィールドに入れていきます。要するに、帳簿の支出入から残高を計算する仕組みです。これを、どのようにしたらできますでしょうか。

A:LINQで可能です。

// トランザクションリストを金額の昇順でソートします transactions = transactions.OrderBy(t => t.Amount).ToList(); // 残高を計算して新しいフィールドに入れます decimal runningTotal = 0; foreach (var transaction in transactions) { runningTotal += transaction.Amount; transaction.Balance = runningTotal; }

Q:やはりLINQだけでは難しいでしょうか。foreachを使うということですね。

A:LINQを使ってリスト内の要素を処理する場合でも、特に複雑な操作を行う際には、LINQだけで完結することが難しい場合があります。そのような場合は、LINQとforeach文を組み合わせることで、より柔軟かつ効率的に処理を行うことができます。 先ほどの例でも、リストの要素に対して累積を計算する際に、LINQのみを使って実現することは難しいですが、foreach文を使って簡潔に処理を行うことができました。 そのため、LINQとforeach文を組み合わせて使うことで、処理の効率化や可読性の向上が期待できます。LINQを使うとクエリを記述することが容易になる一方で、foreach文を使うことでより細かい処理を行うことができますので、適切な場面でそれぞれを使い分けることが重要です。

※なかなか、素晴らしい回答。短時間で的確に答えてくれる。恐るべしChatGPT。プログラマーにとっては、非常にありがたい存在。

2024年3月12日火曜日

エアコンのポンプダウンについて

 

https://www.youtube.com/watch?v=ECb5feM7JWU
エアコンの廃棄の際などに行うポンプダウンで爆発事故があるが、その原因をわかりやすく説明していた。下図を見て、エアコンの仕組みがよくわかった。

①室外機のコンプレッサで、冷媒を圧縮。膨張弁で抑えられているため。②左側へ送られて膨張、蒸発するときに熱を奪い冷える。慣例上低圧だけど、高圧側と呼ぶ方から室内機に送られているところだ。③低圧側から、室外機にもどっていく。

ポンプダウンでは冷媒回収のため、高圧側と呼ばれる方の弁を閉じる。そして、室内機側が十分、低圧になるまで待つ。けれど、途中空気を入れると大変なことになる。ところが、この原理をよく理解せず、空気を入れる事故があるのだそうだ。
 空気が入ると、規定以上の圧力に室外機のコンプレッサで高められる。高温になり、冷凍機油が発火して爆発するらしい。

https://www.youtube.com/watch?v=RkpcHksB4YI
で、ガス追加の最後に、ポンプダウンするなど、活用場面はあるようだ。
※ワットチェッカーで、ガスの調整をやっていた。なるほど、と感心させられました。

2024年3月10日日曜日

カルチャーラジオ 佐治晴夫氏

https://www.nhk.or.jp/radio/ondemand/detail.html?p=1940_01

たまたまIC705でNHKラジオ第二放送を聞いていたら、久々にとても興味深い話を聞くことができて、ラジオ放送(NHK)も貴重だと思った。

理論物理学が専門ということもあり、宇宙レベルの話から

・生と死 ・個体発生は系統発生を繰り返す→お母さんのお腹の中の変化は、何億年の変化を圧縮したもの ・人間はなぜ戦争する? 防ぐには、、、等々

どうやら、全国で、講演されている方のよう。

 バートランドラッセル氏が、ストレス耐性を高めるには、宇宙レベルで考えることもひとつの方法だと言っていたのを思い出した。

2024年3月5日火曜日

モザイク教材作成ツール

 数色程度の小さい色紙片を貼ってモザイク画など作れるように、ツールを作ってみました。

https://github.com/gh6141/mozaic.git

使い方は、①指定した場所にあるpngファイルを読み取り、②どの色がいくつあるか、確認③色コードを単純な数値(1桁程度)に変換 このデータをCSVデータとして保存し、エクセルで読み取ります。エクセルには、セルの値に従って、セル色を変える(色はカスタマイズできるようです)機能があるので、それを使って、色紙片を作っています。(罫線は必要です)紙の裏には両面テープを貼っておいてから、切ることになります。切る手間はけっこうありますが。

 台紙は同じ大きさのエクセルの印刷で、色のついていない数字と罫線だけのものを用意します。

なお、pngファイルはGimpなどで、数色程度に、減色する必要があります。