2024年12月31日火曜日

三択問題Drillの問題作成・編集サイト

 以前、使っていた三択問題ドリル 問題作成・編集サイトを公開します。

raspiサーバでbottleで動かしています。

https://rasp.cld9.work/mondai

以下、ドリル本体とバックエンドのコードです。フロントエンドは、うまくtextareaに
入れられませんでした。(フロントエンドは上記リンクでソース確認できますので)

C#のSeleniumでリンクリストから違うページに遷移して、再度リンクから遷移を繰り返したいとき

ChatGPTで、解決方法を聞いてみたら、いい方法があることを知った。
   
IList<IWebElement> Iwels = FindElementsWithWait(mainDriver, By.XPath("//*[@id=\"sr\"]/ul/li"), 20);
    
  foreach (IWebElement iel in Iwels)
  {
       IWebDriver  tmpDriver = mainDriver;  
      try
      {           
          IWebElement link_question = iel.FindElement(By.XPath("./h3/a"));
          link_question.Click();           
  
          IWebElement i_question = SeleniumHelper.FindElementWithWait(
              tmpDriver,
              By.XPath("//*[@id=\"leftColumn\"]/article[1]"),
              10
          );
        //ここでi_questionを使い相対パスで目的データを取得       
      }
      catch (Exception ex)
      {         
      }            
  }
 ChatGPTに質問「このようなコードだと、エラーが発生します。おそらく、foreachしている間にwedDriverが最初のものとかわってしまうことが原因だと思います。最初のページからスクレイピングできないのが原因だと思います。何かいい方法あるのでしょうか?」
foreach (IWebElement iel in Iwels)
{    
    try
    {
        IWebElement link_question = iel.FindElement(By.XPath("./h3/a"));
        string questionUrl = link_question.GetAttribute("href");
        ((IJavaScriptExecutor)mainDriver).ExecuteScript($"window.open('{questionUrl}', '_blank');");
        mainDriver.SwitchTo().Window(mainDriver.WindowHandles.Last()); 
        IWebElement i_question = SeleniumHelper.FindElementWithWait(
            mainDriver,
            By.XPath("//*[@id=\"leftColumn\"]/article[1]"),
            10
        );
        //ここでi_questionを使い相対パスで目的データを取得  

        mainDriver.Close();
        mainDriver.SwitchTo().Window(mainDriver.WindowHandles.First());
    }
    catch (Exception ex)
    {
       
    }
}

2024年12月24日火曜日

ブルーレイプレーヤのボタンスイッチをタッチセンサに改造

  ブルーレイの本体のイジェクトボタンが壊れてしまったので、ついでにすべてのボタンをタッチセンサスイッチにしてみた。

 タッチセンサはTPP223ですが、ブルーレイの中の電圧に合わせて今回は3.3vで動作させました。最初は、試しにスイッチにタッチセンサの出力をつないでみましたが安定せずだめでした。やはり、トランジスタでスイッチ制御したほうがいいようでした(上図のように、基板の配線をおおまかに決めてからハンダ付け開始。TPP223の出力を2SC1815のベース側に、コレクタをブルーレイのボタンスイッチへとつなぎます。)。押す必要がなく、触れるだけなので、これまでより、快適にスイッチ操作(イジェクト、再生、停止、OnOff)ができるようになりました。

追記:ちなみに、Youtubeで見たら、ベースへの抵抗の求め方が出ていました。想定したコレクタ電流Icからベース電流IbをIc=hfe×Ibで、hfeは100~200程度、Ibを求め、ベースとアースで0.6vの電圧降下があるので、5v-0.6v=4.4v Rb=4.4/Ibで求まるということのようです。
 エミッターベース間の抵抗は、ノイズ防止とのこと。数KΩ程度とのこと。(今回の20Kは少し大きかったかもしれませんが) 今回、ブルーレイ本体のスイッチに流れる電流をきちんと計ってないので、Icが不明のまま適当な値だったのですが、特に問題なく動いているようです。2023/1/4

2024年12月23日月曜日

電熱ズボンの修理

  裏起毛の電熱ズボンなので、これまで電熱はあまり使わずに間に合っていたが、今日はかなり冷え込んでいて、大学図書館もさすがに足元が冷え込んできた。しかし、肝心のときに電熱が故障してしまった。

 帰宅してからしっかり修理した。身に着けるものなので、電源ケーブルも細くて切れやすい設計のようだ。スイッチ基板につながっている部分が簡単にとれたので多分ここらへんが原因らしい。また、テスターで確認したところ、線の途中にも断線あった?ようだ。少し太めの線(そのほうが、途中の電圧降下も防げそうなので)で頑丈にハンダ付けしてみた。これで少しは長持ちしてくれるといいのだけれど。+-の端子がかなり近い位置にあるので、ショートしないように、はんだ付けも苦労したが、なんとか完成。絶縁対策の熱収縮チューブをたっぷり使い、最後に念のためボンドで固めた。

2024年12月22日日曜日

PIC16F84Aの書き込みについて(備忘録)

 PIC16F84Aをヤフオクで入手できたので、書き込みテストをしてみた。しかし、なかなかうまくいかない。Kit3.5が合わないのかと思い、調べると対応表ではNGとなっていたので、だめかといったん諦めた。が、多少回路を追加してやると書き込みできるという情報もネットにあったので、その情報を参考に試行錯誤してみた。


 ブレッドボードで簡単なコードで動作確認してから、ユニバーサル基板に回路を作りました。
<注意点>
PICkit3.5 の電力プロパティを調整 5V供給にチェック入れる。(ただし、なぜか、外部電源を追加したときはチェックを外したほうがいい場合もあった?このへんの動作で若干不明なところもある。)
・PICも古いのでコンパイラは念のため古いバージョン 1.45を使用した。
・電源落としてから、コネクタをつないだり、離したりする。電源入っている途中ではずすのはデバイスやKitの破損の原因になるらしい。
・外部電源として安定化電源から5V供給。
・今回、Programmer-To-Goという機能を知りました。リセットのつもりで、Kitにあるボタンを押すことで、変な動作になってしまい、困りました。このモードに入るかどうか聞いてくるので、Yesにしてしまったためでした。このボタンは使うことは、たくさん書き込むとき(PCなしで)とか以外は通常は使うことはないようです。
・Set Configuration Bits から生成したコードを追加し、以下のようなコードにしました。(和文モールスです。)

※1回でうまくいかなかった原因は、電源が不足していたこと、配線ミスだったことと、コードにstdio.hやXTALの周波数指定が不足していたことなど だったようです。
※今回は試しにモールス表示にしてみたが、スイッチ制御とかいろいろ活用できるかもしれません。(残念ながらUARTは使えないPICなので、制限はありますが。)
おおまかな部品配置を決めてから、極力コンパクトな形に基板にまとめました。
※上記、書き込み装置なしの基盤も作ったが、最初うまく動作しなかった。パスコンやMCLRのプルアップ抵抗を入れたら動作するようになった。
※Produciotn>Set configration bitsというところで、configをgenerateしたものをコードの最初に張り付けないとうまくコンパイルできなかった。これはPICの種類により微妙に違うようなので、PICが違うとそれに合わせて必要になるようだ。
PIC16F628Aも試したが、残念ながらUARTは発振子を外付けしないと実用にはならない感じがした。ネットでこのPICのUARTをあまり見かけないのもそのためかもしれない。かえって、ピン数の少ないPIC12Fあたりに、UART向けに周波数が安定しているタイプがあるようなので、そちらを使うといいようだ。
※その後、PIC16F84AもPickKIT3.5で使えることが判明。単純に接続の説明の読み取りミスだった。自分でこのブログで備忘録をとっていたので、それを確認して判明。DIP8/14 DIP18/20と裏面に表示してあったが、その意味をすっかり忘れていた。(DIP 8~14 18~20ならOkという意味らしい。となりに16F57と表示されていて、てっきり16Fはそちらだと勘違いしていた。)2025/1/16

2024年12月10日火曜日

暖房費も高め

 このところ、灯油や電気も高くなってきて、暖房が欲しい時期になってくると暖房費も気になってくる。ファンヒーターやエアコンで、1時間当たり、数十円は使っているだろうか。冷房より暖房のほうがお金はかかるようだ。

 ということで、寒い時期はなるべく弁当持参で図書館を活用することにした。往復徒歩で、健康にもよく、節約なり、勉強にも集中できて一石三鳥。近くの大学の図書館だけれど、休憩室で軽食もとれるのでとても助かっている。

2024年12月9日月曜日

logicool unifying 不具合

  めずらしく、ワイヤレスキーボードが不具合。OSの更新が、半端だったためか、突然キーボードが反応しなくなる。Windows Updateしてもだめで、Unifyingのツールで接続確認しても接続はしていると表示されているが、反応しない。

 が、数分したら、なぜか接続できた。デバイスソフトの更新に時間がかかっていたのか、それともハードが不安定になってきたのか。ひょっとしてキーロガーかと、気になり検索したけれど、今のところそういう情報はないようです。原因はわからないけれど、しばらく様子を見るしかないようだ。


2024年12月4日水曜日

ベータ関数もとにグラフ表示

 ルベーグ積分 理論と計算手法 を少しずつ読んでいるが、途中P132問題6.16の証明で、気になる積分があったので、表示してみた。ネットで探したが見つからないので、C#で任意の関数を積分するコードを、chatGPTの助けを借りて作ってみた。

  Ψ(x)=∫(0,x)  y^r*(1-y)^r λ(dy)/B(r+1,r+1)  Cr級関数の例
    上記の関数は0<=x<=1の場合で、それ以外はx<0で0、x>1で1の値

c#でoxyPlotを使ってみた。確かめる方法がないので、どの程度正しいかどうかわからないですが。今後、いろいろな関数のグラフや、積分のグラフを表示するときに役立つこともあるかと思い、作ってみた。https://github.com/gh6141/WindowsFormsApp1_betaFunc.git


r=2
r=6
続いて Φn(x)=Ψ(n(x-0))Ψ(n(1-x))がどうなるか見てみた。(a=0,b=1の場合)
n=10
n=1000

室内アンテナで韓国局とコンタクト

18MHzが、久しぶりに室内アンテナ(ワイヤーMLA)でも FT8が聞こえていたので、5wで呼んでみたら、つながった。お隣の韓国の局長さんでした。コンディションがいいと、簡易アンテナのQRPでもつながる。


 ハンガーに取り付けたワイヤーMLA 下方にあるのが、アルミ線ラジアルをつけた144/430モービルホイップ。

2024年11月30日土曜日

やはり、win11の条件が緩和されるよう

 3年前ぐら前から、このままWin11に移行はきついのでないかと予想していたが、その予想通りになった。

 https://tech-gadget.reinforz.co.jp/10605(昨日の情報)

 https://myutaro.blogspot.com/search?q=win11

 MS社のWin11にTPM2.0が必須というのは、要求水準が高すぎると思っていましたが、やはり、これを諦めて、以前のPCでも使えるように条件を緩和したようです。

※追記:その後、古いPCでも完全にWin11でサポートしてくれるのかと思ったのですが、その点については、そうでもないようなので、アップデートなどで不具合が出る可能性もありそうです。マザボ交換も敷居が高いので、少し様子見になりそう。

2024年11月20日水曜日

Androidでネットアクセス

久しぶりのjavaでAndroid用アプリをつくってみたが、アクセス拒否される。しらべたら、AndroidManifest.xmlに一行追加するといいようだった。 

<uses-permission android:name="android.permission.INTERNET" />

<application ~~~

なかなか、androidの設定チェック事項も多くて大変。

目的は、自作の家計簿ソフトに、スマホで入力したものも、クラウド経由で簡単に転記できるようにするため。Androidは、javaを使ったが、バージョンにより、非同期の扱いが頻繁に変わり、情報も入手しにくいようだ。POSTは非同期が必要そうで手間がかかりそうなので使わず、GETで実装してみた。短いデータをメモ程度で利用するので、GETでも十分使えた。

 ただ、結局、GASにデータをおいても、androidではいろいろ認証でひっかかり難しいようだったので、raspiのbottle(自宅版クラウド)をバックエンドにしてみた。したがって、家計簿ソフト(C#)とraspi(python)とandroid(java)と3つの言語を駆使する必要があり、IDEをいったりきたりで、けっこう手間はかかったが、とりあえず完成した。

 スマホは、ちょっとしたことを、ささっと済ませたいときに、便利。できるだけ、専用アプリで、設定も少なくし、操作も少なめで使えるといいようだ。

2024年11月19日火曜日

漢字のフリガナ取得

 IFELanguageという便利な機能があった。漢字をふりがなに直してくれるものです。

https://qiita.com/nabemax/items/347ff41123add344823f

 PCの機能も、グローバル化だけを目指すのでなく、それぞれ国の文化に技術をあわせていくことは大切だとあらためて思う。

GAS版のHamlog作ってみた

 GoogleAppScriptでクラウド版のハムログを作ってみた。raspiサーバに構築も考えたが、ハードがいつまで持つか心配もあったので、とりあえずクラウドで試してみた。最近は、ChatGPTにも助けてもらっているので、比較的短時間でコーディングができるようになった。

 スプレッドシートやGASは無料で使える。その分、スピードが遅いが、個人で使う分には、問題ないと思う。

 移動運用の時などもその場で記録できて便利かもしれない。過去に交信しているかコールサインで検索できるようにした。jcc検索機能も追加した、ただし、シートに自分で作ったjcc番号と市郡名の対応表を用意する必要があった。ネットからの情報を加工した。

GAS と index.htmlは以下の通りです。
※追加情報:wsjt-xのログをADIFデータに変換するツールをc#でつくり(https://github.com/gh6141/adifCreate.git)、そのADIFをアップロードできるようにしてみた。FT8のログ記録がだいぶスムーズになった。QRZ.comやeQSLへのアップロードにも使えそうだ。
 wsjt-xにADIFで保存する機能もあったが、うっかり保存を忘れてしまうことが多かったので、ログからも日付・時刻を指定してそれ以降のデータを抽出できるようにツールを作ってみた。

2024年11月13日水曜日

ゲーテ「勇気を失ったら、生きている価値がない」

ゲーテの有名な言葉をふと思い出した。 名誉を失っても、もともとなかったと思えば生きていける。財産をなくしたら、またつくればよい。しかし勇気を失ったら、生きている値打ちがない。 この意味することは、何だろうか? 考えてみた。

きっかけは、ネット記事

「大きな声ではっきり意見する子」が信用ならないワケ、学校教育で最も大事なこと

・自分のヴォイスは大きく、はっきり語れない。

・親から聞いたか、教師から聞いたか、物知りの友人から聞いたか、YouTubeで自信ありげなコメンテーターから聞いたか、「誰かが断定的に言ったこと」なら、大きな声で、はっきりと再生することができる。

・この記事の参照元は、内田樹氏の「勇気論」。内田氏は「今の日本人に足りないものは何ですか?」と訊かれて、「勇気じゃないかな」と答えたとのこと。気になって図書館から借りて読んでみた。

P55 自分に道理がないときは、退く。道理がないにもかかわらず、力押しで勝つというのは、「邦に道なきとき」に「富み且つ尊き」身分であるのと同じ。 恥

 論語、泰伯篇にある言葉「天下に道あれば則ちあらわれ、道なければ則ち隠る。邦に道あるに、貧しくして且つ賤しきは、恥じなり。邦道なきに、富み且つ尊きは、恥なり。」

P70 「だまされた」のだという言い方で戦争責任を忌避しようとする人たちに伊丹は手厳しく筆誅を加えた。だまされることもひとつの悪。

P89 仲裁者は身銭を切る覚悟がいる。

P103 大瀧詠一 「そんなことをする人間はどこにもいない」と周りにがたがた言われてもぜんぜん気にすることはない」

P108 情報は詳しい人にきけばいい。どういうふうに問いをたてたらいい?問いの立て方を知りたいという人が、自分に来る。問題を立てることは価値のあること。

P134 意地悪な社会になった。あなたが聞きたいことは、こういうことでしょう?と教えてあげてもいいのに、記者に屈辱感を与える政治家。

p141  コミュニケーションの本質は、人間が向き合って共存している事実を確認しあうこと。

P146 ウエーバーの書き方。資本主義の精神、という本、例示を大事にしている。

P168 勇気と正直と親切は 1つの資質の3つの異なる現れ方

P172 噓つきの話 滑らかだけど平板  メタメッセージを発しない。

 自分の語りつつあることについて、その読解の仕方を指示するメッセージを決して発しない。 正直には知性的、感情的成熟が必要。 自分の語っていることに注釈を入れられる人が正直な人。

P188 親切 仮にどれほど狭い知見であろうと、自分自身が自己の経験を通して自得した知見、確信を以て言える思念や感情を語ることを「親切」という。白川静氏が述べたこと。

P195 考えないうちに動く身体 惻隠の心 武道の修行の目標でもある。

P225 有閑階級:非生産者を擁している集団のほうが、そうでない集団よりも生き延びる力は強い。人間は金のために生きているという幻想をふりまき、集団成員たちに「働くインセンティブ」を提供するという労働。古代において、呪術師やストーリーテラーたちが担っていた物語をつくる仕事を現代ではブルシットジョブが担っている。コンサルなどもそう。

 物語をもっている集団は (集団をバインドする強い物語) 持たない集団より強い。

P245 ハンカチ落とし、かくれんぼ 子どもの感受性を高める。

P247 SNS 太古の昔同様 こちらにいくと悪いことが起こりそう、と思ったらやめる。

P269 勇気とは「ごめんなさい」が言えること。

※ エリックホッファー自伝で、運転手がゲーテの言葉にある「勇気」を「希望」と間違って話していたことをきっかけに、その違いを論ずる一節があり、そこで上記のゲーテの言葉を知ったのだけれど。人の受け売りでなく、自分で思考錯誤して得たことから確信できることが「勇気」につながるということだろうか。ChatGPTで物事が効率的に解決できる時代で、ますます人の受け売りに頼りがちな時代にはなったけど、そういう時代だからこそ「勇気」という言葉の意味を考えるのは大事なのかもしれません。

※ 

2024年11月7日木曜日

ホッファー 大衆運動 を読む

ホッファーについては、以前から興味を持っていたので、図書館で借りられたので読んでみた。

個人と大衆運動: 個人が自己中心的な生活から無私の生活へと移行することは、自尊心を高める手段となり得る。大衆運動は個人の希望に代わる大きな希望を提供し、自己の生活を守るために他者に依存することもある。

大衆運動の特性: 一つの大衆運動はしばしば異なる性質を持ち合わせており、日本の民族主義は宗教的な性質を持つと指摘される。

移住と大衆運動: 歴史上の移住、特にローマ帝国時代のゲルマン民族の移動は、単なる民族移動ではなく、抑圧された人々が参加し、新たな社会運動の基盤を形成した。すべての大衆運動は約束の地を目指す移住のようなものと捉えられる。

不満と大衆運動: 自由が認められながらも欲求不満を緩和する手段が存在しない社会は、大衆運動が広がる肥沃な土壌となる。創造的な活動の欠如は、欲求不満を引き起こし、大衆運動の影響を受けやすくする。

労働と生産性: 個々の労働者への奨励給よりも、集団的な奨励給が生産性と満足度を高めることが示されている。

虚構の役割: 大衆運動においては、行列や儀式といった虚構が人々の心に訴える重要な役割を果たす。

言論人の役割: 大衆運動の興隆には言論人が重要な役割を担い、社会が活力を持ち続けるためには、独立した少数派の存在が必要である。東洋社会の停滞の一因は、教育を受けた人々が政府の一部であり、独立性が欠けていたことにある。→※これを読んで、現代の日本の社会動向(例えば学術会議と政府の対立や官僚の東大出身者の減少等)は、新たな大衆運動の下地ができつつあるのでないかと思った。

2024年11月2日土曜日

バリコン自作 二個目

 前回、バリコンを作ったときの材料が余っていたので、もう一個作ってみた。MLAか、釣り竿アンテナの調整に使う予定。雑なつくりではあるけど、30~80pFの範囲でちゃんと容量可変にできた。



近くの河川公園で移動運用

 昨日、近くの河川公園で7MHzで移動運用。銅箔テープを貼った釣り竿アンテナ(つなぎ目の導通は、養生テープの裏にも銅箔テープつけたもの使用)を使っている。ラジアルは、アルミホイルを二枚重ねて、縁を少し巻き込んで、裂けにくいように工夫してみた。50Wで59のレポートもらうことができた。


  

2024年10月29日火曜日

迷惑メール(ヤマト便を装った)

 「荷物が配達できなかったお知らせ」というメールが来ていた。最近、荷物を送っていないし、おかしいなと思い、サイトで調べたら、この内容の詐欺が流行っていることが判明。

 おかしいと思ったら、すぐ検索したほうがいいようだ。それで、出てこなかったら、直接会社に問い合わせるぐらいしないとだめかもしれない。


2024年10月21日月曜日

apacheのアクセスログから見えること

ChatGPTに、外部からの不審なアクセスログを見てもらい、何を狙っているか解析してもらったら、以下のような回答が返ってきた。いろいろセキュリティの勉強になる。

1. 目的:環境設定ファイルの漏洩を狙う
攻撃者は「.env」や「.config.yaml」などのファイルを探しています。データベースの接続情報(ユーザー名、パスワード)、APIキーやトークンなどが目的か。
2. バージョン管理ミスを狙った攻撃
「.env.bak」や「.env.example」のようなファイル名も含まれています。
.bak:バックアップファイルが誤って残っているケース
.example:設定ファイルのテンプレートが公開されたケース
3. 管理パネルへの不正アクセス
次のリクエストは、システムの管理用ファイルや設定ファイルを狙っています:
GET /admin/.env HTTP/1.1
管理画面の初期設定が変更されていないシステムを狙い、攻撃者はそのまま管理者権限を取得しようとする可能性があります。
4. PHP情報の漏洩を試行
GET /?phpinfo=-1 HTTP/1.1

 さすがに、1,3や4は気を付けると思います。2なども、うっかりもれないよう気を付ける必要はありそうです。
 言語としてはPHPを狙っているパターンが多い傾向があるようです。
 セキュリティを考えれば、できるだけマイナーな言語を使うのがいいのかもしれません。また、Fail2Banなど、不正アクセスのあるIpアドレスを自動的にブロックするツールもあるようだ。

2024年10月19日土曜日

raspiへのアクセスログのチェックできるようにしてみた。(python,bottle)

 珍しく、raspiのapacheが止まってしまったので、復旧ついでにapacheのアクセスログのチェックをできるようにしてみた。ただ、最初なぜか、checkipの部分がうまく働かない。ブラウザのキャッシュを削除したら動作したので、そのへんが原因かと思われる。

※早速チェックしたら、けっこう外部からのアクセス(Https以外にもVPNのチェックなど)が記録されていた。よくあるシステムが動いてないかチェックしているのだろうか?ときどき、確認したほうがいいようだ。

2024年10月16日水曜日

窓枠にRHM12アンテナ

 以前、使っていたRHM8Bを売って、RHM12にバージョンアップした。

また、窓枠にイレクタを使ってアンテナを固定していたが、100Wにするため、少し離れた窓枠にも使えるように工夫してみた。(100Wを身体の近くで出すのはさすがにちょっと心配なので)方法としては、今まで使っていたイレクターの上部にジョイントをつけて、長さを延長することでうまく長さを合わせることができた。


左の写真が延長部分、右側の写真が、RHM12を取り付けた部分。四角いアルミテープで覆われたBoxは、リモート用にDIYしたATU-100です。OLEDディスプレイのデータ(I2C)を変換したデータとリモート操作用スイッチの接続をLanケーブルで、無線機のある部屋まで延長しています。コモンモードフィルタをAnt側と無線機側に入れることで、ATU-100も安定して動作するようになりました。(フィルタを付ける前は、高周波がLANケーブルにのってしまいだめだったのですが)
早速、14MHzSSBで、うまく8エリアの局長さんと交信することができました。

2024年10月14日月曜日

FT8でRotuma Islandとつながる

 見慣れないプリフィックスのコールサインがあったので、コールしたらとってもらえた。Rotuma Islandということで、フィジー諸島から500kmぐらい、日本から6000kmという距離。50w短縮ホイップ(RHM12に変更したが、なかなか使いやすい)でつながって、びっくり。コンディションがいい。このところ太陽活動が活発なせいかと思う。
 しばらくぶりで、FT8の設定がうまくいかず、苦労する。Splitが関係ない周波数にいってしまう。とりあえずWSJT-xの設定は疑似splitに。また、PRESETが、FT8の状態にしておくのを忘れていたりすることもあり、注意が必要

2024年10月11日金曜日

お金の流れでわかる世界の歴史 を読んだ

平易な言葉で書かれており、読みやすい本だった。 

p57 マホメットはイスラム教に改宗すれば人頭税を免除すると呼びかけた。

※ローマは重税、イスラム教は、減税 今の西側諸国が、イスラム教派と対立するのもなぜなのか、 わかるような気がする。

p90 スペイン:高い消費税で物価は上がり、景気は低迷 衰退の原因

p130 イスラム教徒とヒンズー教徒の対立 を利用することでイギリスの支配は成り立っていた。

p173 当時の日本の指導者は泥沼の内戦を好まなかった。アジア諸国が内戦につけこまれて欧米から侵略されてきことを知っていたから。

p196 金本位制のもとでは、金が少なくなると、その国は通貨を減らさなければならなくなる。金の減少>通貨の流通に支障>デフレ>産業が沈滞

 ※日本は、管理通貨制度にもかかわらず、緊縮財政で通貨流通減少で、同様のことが起きたのだろう。

p197 世界大恐慌時のドイツ ブリューニング政権は、財政赤字の深刻化していたので、財政支出削減、増税を行おうとした。6月に失業保険支払い打ち切り、公務員給料の引き下げ、増税を検討した。 不況のときに、財政を緊縮させれば、もっと不況になる。経済悪化で、失業者が650万人。国民の猛反発。代わって登場したのが、ヒトラー。財界や保守派も共産党の台頭を防ぐためヒトラーを支持。労働者保護、アウトバーン建設等で、3年で失業者を100万人まで減らす。

p230 ソ連は平等だったから崩壊したのでなく、むしろ自由主義国より不平等だったから崩壊した。

2024年9月30日月曜日

ルベーグ積分 理論と計算手法 P93

 系5.2(ii)の証明の一部分で、少してこずったので、備忘録としてメモ

R  fv-1  λ=∫I  f ρ  λ で ① f をfgv に  ②fをf/ρに 置き換えると

①を適用 左辺の被積分部分= (f×gv)v-1 =(fv-1 )× (gv)v-1 =(fv-1 )×g  ③

     右辺の被積分部分=(f×gv)×ρ ④

④に②適用=f×gv

③に②適用=(f/ρ)v-1×g  =(fv-1)/(ρv-1)  ×g 

 「関数の積×」と「関数の合成」の意味を、ごちゃまぜにしないようにすればいいだけの話なのだけれど、最初は混乱してしまい、しばらく解決まで時間がかかってしまった。

 数学では、定義の意味をよく確認し、正確に使うことが大事だと、あらためて思った。

2024年9月27日金曜日

2.5w  簡易MLA FT8でつながる

 今日は、夕方コンディションがいいようで、7MHzだが室内の簡易MLA(窓枠にハンガーでつるしただけのもの)で、しかも2.5Wで、2エリアの局長さんとFT8でつながった。

 自分は無理だと思い試していないが、この時間帯は、JA局で中米の局ともつながっている局長さんもいたようだ。

 FT8でJTalertというアプリを併用すると、ちょっとしたchatもできるらしい。早速インストールしたので、そのうち試してみたいと思っている。ただ、まだ使っている局長さんは少ないようだ。

2024年9月17日火曜日

ChatGPTでコーディングするときのコツ ~ステップに分けることがポイント~

 ChatGPTを使って、モザイク画作成ツールを作ってみた。

一気に、多くのステップを考えて、コーディングの指示をすると、うまくいかなかった。ある程度複雑になってくると、限界があるようだ。なぜか、ライブラリに定義されていないメソッドやプロパティがコードのなかに現れたりして、エラーを起こすというパターンが多くなってしまうようだった。

 そこで、少し方針を変えて、コーディングのステップを細かく分けてみた。段階をおって、少しずつコードを追加していった。そのほうが、うまく進めることができた。

2024年9月11日水曜日

細菌・ウイルスが空から来る可能性?

 Gigazineで「日本の上空3000mで病原菌を含む数百種類の微生物が発見される」という記事が出ていた。

 以前から、気にはなっていたが、ChatGPTに、「ウイルス等も、細かい粒子に付着して、浮遊して、遠く離れた場所まで飛んでいき、感染を広げる可能性もあるということでしょうか?」と質問したら、

 「はい、その通りです。病原菌を含む微生物が日本の上空3000メートルで発見されたという報告は、微生物が風や気流に乗って広範囲に移動できる可能性を示唆しています。ウイルスや細菌は、小さな粒子(例えば、塵やエアロゾルなど)に付着して空中を浮遊し、遠くまで運ばれることがあります。このような微生物が風に乗って遠距離に移動することで、環境中の他の場所で感染を広げる可能性が考えられます。」とのこと。黄砂に付着してくる可能性も否定できないとのことだった。確かにネットで検索すると、「砂塵によるバクテリア、カビ、ウイルス、花粉などの長距離輸送が可能である」と指摘されているようだ。黄砂は、今まで無機質だろうとあまり気にかけてなかったが、思った以上に危険なようなので、今後、気を付けたい。以前、知り合いの方が、あるときとても体調が悪いと言っていたことがあった。たまたまかもしれないが、それがちょうど黄砂がひどい時期だったときだった。黄砂と何か関係あるのだろうかと考えたりしたことを思い出した。

 それにしても、日本でも、武漢のように、危険ウイルス(日本の場合はエボラウイルス)の研究施設ができたようなので、こんな話を聞くと、心配になってくる。

2024年9月9日月曜日

久々に移動運用

  7MHzは、夕方近くになるとコンディションがいいようだったので、近くの公園で電波を出してみた。59で、わりと安定したQSOができた。3エリア、1エリアの局長さんとコンタクト。とくに1エリアの局長さんは、いろいろ自作されている方だったので、リニアアンプ、リグ、PICといろいろとお話を聞かせていただきました。ふだん、シグナルレポート交換だけで終わることが多いけれど、今回は、興味深い話ができてよかった。

 下の写真は、移動で利用している 自作の釣り竿ANT+マッチング回路 かなり適当なマッチング回路だが、なんとかSWRは下がっている。釣り竿には、銅箔テープを貼って、導通するようにしている。アースはマグネットシート(A4サイズ)でもだいじょうぶだった。

 

2024年9月4日水曜日

C#で、テキストボックスの最初に、指定した文字が来るようにスクロールするメソッド

 ChatGPTで、コードをつくってもらったけれど、なかなかうまくいかなかった。Windowsメッセージ等のOSに近い部分は、ChatGPTに助けてもらったけど、コードの論理に関してはまだ、自分のような凡人プログラマにも及ばない感じがした。

 結局、自分でしばらく試行錯誤しながら、解決することになった。ChatGPTは、現実世界で試行錯誤は、できないわけなので、そこは、人間よりハンディがあるんだろうと思った。今日、NVIDIA株も急落した。AIに期待が大きすぎたか。。

  private const int WM_VSCROLL = 0x0115;
  private const int SB_LINEDOWN = 1;
  private const int SB_LINEUP = 0;
  [DllImport("user32.dll")]
  private static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);
  public static void ScrollLines(System.Windows.Forms.TextBox textBox, int numberOfLines)
  {
      for (int i = 0; i < Math.Abs(numberOfLines); i++)
      {
          SendMessage(textBox.Handle, WM_VSCROLL, numberOfLines > 0 ? SB_LINEDOWN : SB_LINEUP, 0);
      }
  }
   public static void MoveCursorToText(string searchText,System.Windows.Forms.TextBox textBox)
  {
      // テキストボックス内の最初の位置にカーソルを移動
      textBox.SelectionStart = 0;
      textBox.SelectionLength = 0;
      textBox.ScrollToCaret(); // カーソルの位置にスクロール
      int index = textBox.Text.IndexOf(searchText, StringComparison.OrdinalIgnoreCase);
      if (index != -1)
      {               
          textBox.Focus();
          textBox.SelectionStart = index;
          textBox.SelectionLength = searchText.Length;          
          textBox.ScrollToCaret();        
          int lineIndex = textBox.GetLineFromCharIndex(index);
          int visibleLines = textBox.Height / textBox.Font.Height;

          if (lineIndex > visibleLines)
          {
              ScrollLines(textBox, visibleLines-1);
          }
          else
          {
              ScrollLines(textBox, lineIndex);
          }           
      }
      else
      {
          MessageBox.Show("Text not found.");
      }
  }     

2024年8月29日木曜日

総務省を名乗る変な電話

 今日、総務省を名乗って「2時間以内に通信を止める」旨の電話が来ました。オペレータにつなぐように電話するようなメッセージでした。

 これは、「そんな馬鹿な、詐欺だろう」と思ったので、電話は切って、ググったところ、やはりそうでした。いろいろな詐欺があるもんだと。どうやら、狙いは個人情報のようで、何らかを企んでいるのかと思われます。おかしな電話は、必ず発信元チェックが必要なようです。

2024年8月23日金曜日

CWデコーダ製作

 arduino Unoが一つ余っていたので、LCDを339円でアマゾンから購入して、作ってみた。

CWデコーダと言えば、デンマークの方が作成されたものが有名。

http://oz1jhm.dk/content/very-simpel-cw-decoder-easy-build

上記リンクを参考にして、コードや配線図も公開されていたので、それをもとに試してみた。配線図では、LCDの配線とLEDの極性が違っていたので修正必要だったが、なんとかうまく動作させることができた。以前作ったアプリで生成させたCW音であれば、ほぼ正しくデコードできている。

配線には、以前、壊れた炊飯ジャーから取り出したエナメル線が役立った。細くて目立たないので、電子工作にはいいようだ。スズメッキ線だとショートの恐れがあるし、ビニル線だとかさばってしまう。

和文モードを追加して、タッチセンサスイッチTPP223を12番Pinにつなぎ、Bのみショートして、オルタネートにして、切り替えるようにしてみた。プルダウン抵抗2k入れています。
(写真の左側で赤く光っているところがTPP223)

 原作者の許可を得てないので、コードは公開できませんが、変更点は以下のとおりです。
 これで、いちおう、和文モードにも切り替えられるようになりました。

LiquidCrystal lcd(8, 9, 4, 5, 6, 7); //ここは、元のサイトの配線図に合わせました
const int colums = 16; /// have to be 16 or 20 16列×2行タイプなので
const int rows = 2;  /// have to be 2 or 4
bool JEflg=true; //flag for Japanese 追加
setup()に  pinMode(12, INPUT);  // japanese/english mode change 追加
loop()に  int sensorValue = digitalRead(12);
  if (sensorValue == HIGH ) {
    JEflg=true;    
  } else {
    JEflg=false;
  } 追加
decode()を以下のように変更
void docode(){
 if(JEflg){
  decodeJ(); 
 }else{
  decodeE(); //これまでの decode()です
 }

void decodeJ(){
if (strcmp(code,".--.-") == 0) printascii(176); // -
  if (strcmp(code,"--.--") == 0) printascii(177);    
  if (strcmp(code,".-") == 0) printascii(178);
  if (strcmp(code,"..-") == 0) printascii(179);
  if (strcmp(code,"-.---") == 0) printascii(180);
  if (strcmp(code,".-...") == 0) printascii(181);
  if (strcmp(code,".-..") == 0) printascii(182);
  if (strcmp(code,"-.-..") == 0) printascii(183);
  if (strcmp(code,"...-") == 0) printascii(184);
  if (strcmp(code,"-.--") == 0) printascii(185);
  if (strcmp(code,"----") == 0) printascii(186);
  if (strcmp(code,"-.-.-") == 0) printascii(187);
  if (strcmp(code,"--.-.") == 0) printascii(188);
  if (strcmp(code,"---.-") == 0) printascii(189);
  if (strcmp(code,".---.") == 0) printascii(190);
  if (strcmp(code,"---.") == 0) printascii(191);
  if (strcmp(code,"-.") == 0) printascii(192);
  if (strcmp(code,"..-.") == 0) printascii(193);
  if (strcmp(code,".--.") == 0) printascii(194);
  if (strcmp(code,".-.--") == 0) printascii(195);
  if (strcmp(code,"..-..") == 0) printascii(196);
  if (strcmp(code,".-.") == 0) printascii(197);
  if (strcmp(code,"-.-.") == 0) printascii(198);
  if (strcmp(code,"....") == 0) printascii(199);
  if (strcmp(code,"--.-") == 0) printascii(200);
  if (strcmp(code,"..--") == 0) printascii(201);        
  if (strcmp(code,"-...") == 0) printascii(202);
  if (strcmp(code,"--..-") == 0) printascii(203);
  if (strcmp(code,"--..") == 0) printascii(204);  
  if (strcmp(code,".") == 0) printascii(205);  
  if (strcmp(code,"-..") == 0) printascii(206);
  if (strcmp(code,"-..-") == 0) printascii(207);
  if (strcmp(code,"..-.-") == 0) printascii(208);
  if (strcmp(code,"-") == 0) printascii(209);
  if (strcmp(code,"-...-") == 0) printascii(210);
  if (strcmp(code,"-..-.") == 0) printascii(211);
  if (strcmp(code,".--") == 0) printascii(212);
  if (strcmp(code,"-..--") == 0) printascii(213);
  if (strcmp(code,"--") == 0) printascii(214);
  if (strcmp(code,"...") == 0) printascii(215);
  if (strcmp(code,"--.") == 0) printascii(216);
  if (strcmp(code,"-.--.") == 0) printascii(217);
  if (strcmp(code,"---") == 0) printascii(218);
  if (strcmp(code,".-.-") == 0) printascii(219);
  if (strcmp(code,"-.-") == 0) printascii(220);
  if (strcmp(code,".-.-.") == 0) printascii(221);
  if (strcmp(code,"..") == 0) printascii(222);
  if (strcmp(code,"..--.") == 0) printascii(223);  
  if (strcmp(code,".---") == 0) printascii(166);
  if (strcmp(code,".----") == 0) printascii(49);
  if (strcmp(code,"..---") == 0) printascii(50);
  if (strcmp(code,"...--") == 0) printascii(51);
  if (strcmp(code,"....-") == 0) printascii(52);
  if (strcmp(code,".....") == 0) printascii(53);
  if (strcmp(code,"-....") == 0) printascii(54);
  if (strcmp(code,"--...") == 0) printascii(55);
  if (strcmp(code,"---..") == 0) printascii(56);
  if (strcmp(code,"----.") == 0) printascii(57);
  if (strcmp(code,"-----") == 0) printascii(48);
  if (strcmp(code,"..--..") == 0) printascii(63); // ?
  if (strcmp(code,".-.-.-") == 0) printascii(161); // full stop
  if (strcmp(code,"--..--") == 0) printascii(164); // comma
  if (strcmp(code,".--.-.") == 0) printascii(64);//@
  if (strcmp(code,"---...") == 0) printascii(58);//:
  if (strcmp(code,"-.--.-") == 0) printascii(40);// (
  if (strcmp(code,".-..-.") == 0) printascii(41);// )
  if (strcmp(code,"...-.") == 0) printascii(126);//correction
  if (strcmp(code,".-.-..") == 0) printascii(163); //square brackets
  if (strcmp(code,".-..-") == 0) printascii(168); // old katakana i
  if (strcmp(code,".--..") == 0) printascii(170); // old katakana e
}


※その後、マイクのMAX9814をアマゾンで買って、スピーカ音を拾うこともできるようにしてみた。
※また、感知する音の周波数も変えられるようだったので、2種類の周波数を切り替えられるようにしてみた。そのために、タッチセンサーを追加するのも面倒だったので、Off>On>Offの切り替えを素早く行うと、切り替えるようなものにしてみた。(家の玄関のセンサーライトの切り替え設定がこの方式を使っているので、参考にした。)

2024年8月22日木曜日

関節を傷めないようにするには

 年齢とともに、股関節やひざ関節が痛くなる危険性が増えますが、理学療法士のYoutuberの情報によると意外といいとやって思ってやってることが影響しているらしいです。

①湿布の使い過ぎ:短期で炎症抑えるのに使うにはいいが、長期使用すると体内の粘膜を傷め害が大きくなるらしい。

②間違った筋トレ:上半身は問題ないが、下半身は、しっかり足がついていない状態でのオープンな動きは関節を傷めるらしい。足を上げたり、後ろに蹴り上げたりとうかはご法度らしい。

③ストレッチ:もんだり、延ばすのはよくない。ただ延ばすだけのストレッチはよくないらしい。たたくのはOk。マッサージも同様に筋肉を固くするのでよくないらしい。

要するに、あまり変わったことはせず、自然な動きが一番ということらしい。

アレルギーについて

 このところ、喉に痰がかるむ頻度が多くなっている気がする。ひょっとしてアレルギーの可能性はないのかと思ったりもする。

以前、ピーナッツクリームを皮膚に塗っていると、ピーナッツアレルギーになる(皮膚感作性というらしい)というのも聞いたことがある。

ボディーソープを使っているが、様々な成分が入っているので、関連がないかどうか、少し量を減らしたり、場合によって石鹸にもどしてみて、どうなるか試してみたいと思っている。牛乳石鹸なども、いいように思う。とくに、牛乳アレルギーが出たことはないので。

2024年8月14日水曜日

「資本主義の次に来る世界」ジェイソン・ヒッケル著を読んでみた

ヨーロッパの資本主義の流れがよく理解できた。

①資本主義のロジックは、人間は「自然」と切り離された存在で精神と心と主体性をもっているが、自然は不活発で機械的な存在である(二元論)。人類学者は、歴史の大半を通じて人間は、アニミズムに依拠してきた。P39 じつは、最近の科学によればアニミズムのほうが、真実に近いのでないか。P275、P278 

 ※鳥の言葉、魚の感情、等研究している人がいる。

②1300年年代初め、ヨーロッパ各地で平民が封建制への反旗を翻すが、うまくいかない。が、1347年黒死病により人口が激減すると、労働力が不足し、小作農と労働者が交渉力を持つようになった。農奴制が廃止。自分の土地で、コモンズ(共有地)を自由に活用できるようになる。~1500年まで「ヨーロッパ労働者階級の黄金時代」

 ※人口減少をマスコミでは、問題視しているけれど。。かといって、移民では解決できないような。

③上流階級による富の蓄積を阻んだので、小作農を土地から追い出した。いわゆる囲い込み(エンクロージャー)によって、多くの農村コミュニティが破壊された。P53

  ※能登地震で、官僚が「過疎地復興はむだ」「移住を考えよ」と言ったとか話題になっている。まさに「囲い込み」。そして、行き場所なく都市に集めて、安価に雇えれば、さらに儲かるし。安い土地を外国資本が活用して儲けることが可能。ということになりそう。

④資本主義が台頭するには、資本の蓄積が必要。アダムスミスは、少数の人が懸命に働いて稼ぎを蓄えたために生じたと主張したが、歴史家は、略奪のプロセスだったとみている。P54  植民地化も同様

⑤農地は一時的にしか借りられなくなった。かつての協力的なシステムは、絶望的な敵対を中心とするシステムへと変わっていった。利益を中心に計画され、資本家の利益を増やすためのものになった。生産性は高まったので、強奪の言い訳になった。

⑥ヒュームの「希少性」理論 欠乏が続くほうが、勤勉になるという考え、資本主義の支持者は、富を生み出すには人々を貧しくする必要があると考えていた。P63 資本主義の特徴であるきわめて高い生産能力は、人為的希少性の創出と維持に依存していた。植民地政府が私富を増やすには、豊富にあるものを希少にしなければならなかった。天然の果樹園を焼き払う、海岸で自由に手に入れられた塩は、これを行う権利を人々に買わせた。

 ※昔は、タダだったものが有料になっている。

⑦技術革新がエネルギーや資源の消費をふやしてしまう。P159

 ※EV、洋上風力、ソーラー等、逆に資源の枯渇や環境を破壊する例も。

⑧成長し続けなければならないという 絶対的な思い込みがある。 P170

⑨成長は進歩をもたらすと限らない。長命な国は、必ずしもGDPによるものでない。GDPは低くても、公衆衛生や公的医療保険等が整っている国は平均寿命が高い。P180

 ※日本は国民皆保険を今後も維持することが重要。

⑩社会がより平等なデンマークの国民は、購入する衣服が少なく、長く使う。広告も少ない。不要なぜいたく品を買うことに人々が興味を示さないため。富裕層が使いきれないほどお金を持ている場合、その余剰分を生態系を破壊する発展作業に投資する。公的サービスに投資することが、エコロジカルなメリットがある。公共財の存在は、所得を増やさなければというプレッシャーから人々を開放する。

 ※古い車の税金を高くするというのも、本来あってはならないこと。

⑪人間の幸福は、収入そのものでなく、その収入で何が買えるか、より良く生きるために必要なものにアクセスできるかどうかが重要。公共サ-ビスやその他のコモンズへのアクセスを拡大すれば、人々の「福利購買力」を向上させっれる。そうなれば、さらなる成長を遂げなくても、すべての人の豊かな生活を実現できる。

 ※なんでも民営化の思想が危険ということ。

⑫より高い賃金と短い労働時間という形で、生産性の向上がもたらした利益を労働者に還元できるはず。それができないのは、仕事が人為的に希少になっているから。労働者は、より勤勉かつ生産的に働かなければならず、さもなければ、より生産的な誰か(通常は、より貧しく、より危機的状況にある人)に仕事を奪われる。P234

 ※移民により、賃金がおさえられる。

⑬資本主義は、豊かな状況では作動しない。P238

  ※戦争が起こると景気がよくなるとは、よく言われる。

⑭植民地化は、人間や自然を「モノ化」するプロセスだった。 P273

ポスト資本主義のためには p209

・計画的陳腐化をやめる。 物を長く使えるように設計  ・広告をへらす

・所有権から使用権へ移行する  

・食品廃棄を終わらせる   ・生態系を破壊する産業を縮小する

P174 重要なのは、成長そのものでなく、わたしたちが何を生産しているか、人々が必要なものやサービスにアクセスできているか、所得がどのように分配されているかということ。ある段階をすぎると、人間の福利を向上させるためにGDPを増やす必要はまったくなくなる。

2024年8月3日土曜日

鳥海山登山

  頂上まではかなり大変なので、今回は鉾立から賽の河原までということにした。眺めは良好。ニッコウキスゲがあちこち見られた。

 以前、湯の代口からアザミ坂経由で頂上まで登ったこともあるが、最高にきつかった覚えがある。また、昔はGPSが使えなかったので、迷いそうになった。たまたま通りかかった登山者の方といっしょさせてもらったこともあり、なんとかなったが。

2024年7月26日金曜日

冷蔵庫 故障かと思ったがそうではなかった

 昨日、落雷による停電で、冷蔵庫が電源入らなくなってしまった。てっきり、落雷による故障かと思い、とりあえず、修理か買い替えまでの間に、つなぎの中古冷蔵庫を購入。が、故障ではないことに、今日になって気づく。

 ネットでたまたま見つけた情報によると、停電復旧後、冷蔵庫の電源がすぐに入らないのは、圧縮機(コンプレッサー)に負荷がかかっていたり、電力超過で冷蔵庫の保護装置が作動している可能性もあるのだそう。1時間程度経過してから、コンセントをつなぐようにということらしい。試しに、1日たった、今日になってつないだら、電源が入った。

 事前のこの知識がなかったことが悔やまれる。けれど、最近の冷蔵庫の消費電力を今の冷蔵庫と比較すると、半分ぐらいになっているので、これを機会にそろそろ(20年も使っているので)買い替えどきかもしれない。いざとなったら、すぐには手に入らないことが、今回よくわかったので。

2024年7月25日木曜日

差込口がわかりづらいテーブルタップ

 

 黒いテーブルタップを使ってきましたが、暗いところだと抜き差しするときに、差込口がわかりづらく、苦労していた。買い替えるほどのことはないが、なんとかしたいと思っていたが、写真のように表面を白く塗装すればいいことに気づき、ペンキで塗ってみた。だいぶ使いやすくなる。

2024年7月24日水曜日

掃除機の修理 ~パワーヘッドがトラブル原因に~

 最近、掃除機の電源コードがやたら熱くなって途中で停止してしまう現象が起きるようになった。いよいよ故障で、買い替えかとも思ったが、なんとか修理できないかと、分解点検をする。原因は2つあったようだ。

・ひとつは、フィルターにほこりがたまって、空気の流れが邪魔されていたこと。ほこりを取り除いた。

・パワーヘッドというのだろうか、カーペット等でブラシを回転させてゴミをかきとる機能があるのだけど、これが全く回転しなくなっている。よくみたら、糸が絡まっていた。糸の絡まりをとったが、今後、同じ状況になることを考え、パワーヘッドのモーターへつながる電源ケーブルははずし、パワーヘッドの機能は使わないことにした。モーターが回らないとかなりの電流が流れるので、電源コードが熱くなった原因になっていたと思われる。

この2つの対処したことで、問題なく動作するようになった。

2024年7月22日月曜日

コロナ対策について

 コロナ感染で免疫性肺炎多発とか、ワクチンの後遺症等、いろいろ心配なことが多い。まだ、よくわかってないことも多いようで、いろんな治療法も試みられているようだ。

 https://kamatayoshino-cl.jp/blog/2277

イベルメクチンも効果なしというWHOの報告もあったものの、コロナ後遺症では有効という情報もあるようだ。

※最近は、米国でもワクチンの効果の程度について、正確さに疑問の声も出始めているようだ。

ChatGPTで天気情報のスクレイピング ~人間が簡潔な方法を指示しないとうまくいかない~

 気象庁のサイトから 気圧をAPI取得でもと思ったけれど、意外と情報がなかった。結局、スクレイピングしたほうが早かったようで、ChatGPTの助けを借りながら試してみた。

 さすがに、スクレイピングは個別の事情が違うので、ChatGPTは基本的コードや文法確認以外はあまりあてにならなかった。また、気圧、気温、湿度そして、単位、観測時刻など、汎用的に取得できる関数をスマートな形式で作ろうとすると意外に苦労した。DictionaryやPairなど使ってうまく、改善していく方法を探ってみたが、かえってややこしくしてしまう。それを、ChatGPTに聞いても、元のコードがややこしいため、だんだんこちらも理解が追い付かなくなり、ChatGPTの応答もけっこう的外れになってきた。結局、単純に配列などで処理することにしたら、あっさり解決。

 ChatGPTはこちらがいった通りの方針でコードを書くため、指示する方がややこしい指示をしてしまうと墓穴を掘ってしまう。簡単な方法をこちらで、提示してやらないとだめだということが、今回、よくわかった。

2024年7月17日水曜日

ツール作成もあっという間に完成

  ChatGPTは、定型的なツールを作るには、最適である。たとえば、CSVの形式を与えて、これをどのように加工して、スプレッドシートに完成データを貼り付けたいというような説明をするだけ、すぐにコードを作成してくれた。若干の手直しは必要だったが、これまで、数10分はかかっていたようなものも、数分でできてしまう。コーディングの時間が非常に短縮されたと感じる。

2024年7月16日火曜日

朝のウオーキングもそろそろ暑さを感じる今日この頃

 朝の日課、ウオーキングは、6000歩程度を目安にしている。梅雨明けはまだだが、けっこう朝から暑さを感じる。24℃ということだが、家の室外温度計は29℃。

  


2024年7月9日火曜日

ミッション・エコノミーについて

 マリアナ・マッカート氏のミッション・エコノミーという本を読んでみた。いくつか抜粋してみた。

①なぜ、ケネディはメリットの怪しいアポロ計画に賭けた?
 人々を救う発明は無駄から生まれる。21世紀のすべては、アポロ計画の波及効果。
②新自由主義の間違い:「政府は企業のように運営されるべき」「民営化は税金の節約」は、思い込み
政府こそ「学習する組織」に: イギリスはコロナ対策を外注(接触者追跡システムをコンサルティング会社に)→公務員は知識を積み上げる機会・組織が学習するチャンスも損なわれた。
④戦争やアポロ計画のように予算を: 財源確保・資金繰りが問題なのでなく、「そのミッションを実現するために必要なリソースをどう捻出するか」 重要なのは、お金を有効に活用する生産能力が経済にあるかどうかということ。
⑤政府の借金をめぐるウソ : 政府には主権通貨がある。人々がその国の通貨を持ちたがり、お金が生産的に投資されている限り、債務不履行におちいることなく、いくらでも借金を抱えることができる。  政府の赤字は国民の黒字ーMMT
⑥パイを拡大: アメリカの社会保障制度 退職者ひとりあたりの労働者数が1950年の16:1→現在では、約2:1 しかし、1950年の祖父母時代の労働者よりはるかに生産性が高ければ、問題ない
 経済に成長の余地があり、(人的・物的)能力をフル活用していない限りは、投資や支出で不景気にはならない。固定的な経済に資金を投入するだけの投資ではなく、戦略的な投資(忍耐強く、長期的で、ミッションに基づく投資)によって経済を拡大すれば、長期的なインフレを引き起こさない。既存のパイの中で分配を増やすのではなく、パイを拡大すればよい
 1970年代のインフレ 能力不足が原因ではない。石油ショック、金融引き締め、賃金スライドといった供給サイドの現象。
 1921~3年のワイマール共和国のインフレ 供給サイドの問題。(軍隊が占領>ドイツの生産が止まった)
 これらは、普通の状況でない。普通なら、政府が非政府部門の雇用と生産水準を高く維持するために資金を提供。
 戦略的公共投資>長期的な成長分野にお金>生産性向上>生産能力が拡大>インフレ起きない。  市民の健康の維持>生産能力向上
 ※例えば、以前は今より学校で理科振興法(国の産業・技術振興のための法律だと思われる)で国庫による購入できたように思う。このところ、節約志向が広まり、なかなか予算がつきにくくなっているということはないだろうか。
⑦事前分配:ミッションには莫大な投資必要・リスク>政府が多くの人々と投資の利益を共有しようとするのは合理的 イノベーションは不確実 投資のリターンは保証されない →リターンの分配を政府が決めることは、市場を創造し形成する役割を負う者の正当な権利。納税者が分配を享受するのは当然のこと。
 やり方はさまざま、政府が公的ファンドをつくり、配当を市民に分配。政府も株をもつ。収益を将来の技術革新に使う。